Bug 12849

Summary: SVG renderers update at paint time instead of style resolution time
Product: WebKit Reporter: Geoffrey Garen <ggaren>
Component: SVGAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal    
Priority: P2    
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   

Description Geoffrey Garen 2007-02-21 21:01:24 PST
This causes DumpRenderTree to dump incorrect results for many SVGs unless you force it to paint.

I don't know enough about rendering to know what other kinds of problems this can cause. I suspect it's a big performance problem to update renderers every time you paint, instead of when you resolve style.
Comment 1 Geoffrey Garen 2007-02-22 14:52:47 PST
Dave Hyatt and I took a quick look at this today. One example of the problem is in SVGPaintServerSolidCG.cpp. When painting text, SVG changes the underlying style object. Dave says that if the style were shared, doing so could cause other elements on the page to misrender.
Comment 2 Geoffrey Garen 2007-02-22 14:53:28 PST
However, Dave doesn't think that this is a security/crasher type issue.
Comment 3 Eric Seidel (no email) 2007-05-10 04:45:49 PDT
Yeah, the modification of the style for the text drawing is really ugly.  There are other times where renderers update at the wrong time.  This is a holdover from the KDOM/KCanvas days where there was no such thing as "layout" time, and all of the layout was done in the DOM elements instead of the Renderers anyway.
Comment 4 Nikolas Zimmermann 2007-06-11 17:54:54 PDT
We probably still do this.  The text issues are fixed by now.  This is a rather nebulous bug and probably should just be closed.