Bug 41455

Summary: SVGRenderStyle::diff() is missing
Product: WebKit Reporter: Nikolas Zimmermann <zimmermann>
Component: Layout and RenderingAssignee: Nikolas Zimmermann <zimmermann>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
Initial patch krit: review+

Nikolas Zimmermann
Reported 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.
Attachments
Initial patch (7.59 KB, patch)
2010-07-01 05:50 PDT, Nikolas Zimmermann
krit: review+
Nikolas Zimmermann
Comment 1 2010-07-01 05:50:52 PDT
Created attachment 60229 [details] Initial patch
Dirk Schulze
Comment 2 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
Nikolas Zimmermann
Comment 3 2010-07-01 07:26:08 PDT
Landed in r62259.
Mark Rowe (bdash)
Comment 4 2010-07-26 14:50:57 PDT
This broke MobileMe’s Find My iPhone. See bug 43007 for details.
Note You need to log in before you can comment on or make changes to this bug.