We should exploit the fact that ElementAttributeData may be shared between multiple elements and only resolve presentation attribute style once per ElementAttributeData instead of once per Element.
Created attachment 171937 [details] Patch
Comment on attachment 171937 [details] Patch Actually, we can do better than that.
Created attachment 172033 [details] Cooler patch
Comment on attachment 172033 [details] Cooler patch View in context: https://bugs.webkit.org/attachment.cgi?id=172033&action=review r=me > Source/WebCore/dom/ElementAttributeData.h:101 > + void setStyleAttributeIsDirty(bool f) const { m_styleAttributeIsDirty = f; } > + bool presentationAttributeStyleIsDirty() const { return m_presentationAttributeStyleIsDirty; } > + void setPresentationAttributeStyleIsDirty(bool f) const { m_presentationAttributeStyleIsDirty = f; } f?! > Source/WebCore/dom/Node.h:714 > - // 2 bits remaining > + // 4 bits remaining Nice!
(In reply to comment #4) > (From update of attachment 172033 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=172033&action=review > > Source/WebCore/dom/ElementAttributeData.h:101 > > + void setStyleAttributeIsDirty(bool f) const { m_styleAttributeIsDirty = f; } > > + bool presentationAttributeStyleIsDirty() const { return m_presentationAttributeStyleIsDirty; } > > + void setPresentationAttributeStyleIsDirty(bool f) const { m_presentationAttributeStyleIsDirty = f; } > > f?! Yeah, I went there!
Committed r133286: <http://trac.webkit.org/changeset/133286>
Re-opened since this is blocked by bug 101198
Created attachment 174233 [details] Coolest(?) patch Okay, let's try this again with a smaller scope: Just the presentation attribute style.
Comment on attachment 174233 [details] Coolest(?) patch r=me
Comment on attachment 174233 [details] Coolest(?) patch Clearing flags on attachment: 174233 Committed r134664: <http://trac.webkit.org/changeset/134664>
All reviewed patches have been landed. Closing bug.