Bug 41455 - SVGRenderStyle::diff() is missing
Summary: SVGRenderStyle::diff() is missing
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Nikolas Zimmermann
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-01 04:38 PDT by Nikolas Zimmermann
Modified: 2010-07-26 14:50 PDT (History)
0 users

See Also:


Attachments
Initial patch (7.59 KB, patch)
2010-07-01 05:50 PDT, Nikolas Zimmermann
krit: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolas Zimmermann 2010-07-01 04:38:21 PDT
SVGRenderStyle::diff() is not implemented. Any CSS style change triggers relayouts, instead of repaints where approriate.
On IE9 testcase http://ie.microsoft.com/testdrive/Graphics/47Atlas_zurEuropawahl/Default.xhtml, implementing this saves around 1000 relayouts when switching parties.

So easy to do, high benefit, whenever SVG/CSS is combined in a dynamic fashion.
Comment 1 Nikolas Zimmermann 2010-07-01 05:50:52 PDT
Created attachment 60229 [details]
Initial patch
Comment 2 Dirk Schulze 2010-07-01 07:25:45 PDT
Comment on attachment 60229 [details]
Initial patch

VectorEffect's should relayout. That doesn't happen with the current code, which depends on the current way of it's implementation. So it's fine to just repaint for the moment. Please add a FIXME!

r=me with a FIXME
Comment 3 Nikolas Zimmermann 2010-07-01 07:26:08 PDT
Landed in r62259.
Comment 4 Mark Rowe (bdash) 2010-07-26 14:50:57 PDT
This broke MobileMe’s Find My iPhone.  See bug 43007 for details.