[Webkit-unassigned] [Bug 49035] SVG <path> inside a <defs> is still marked as needing layout at the end of FrameView::layout

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Nov 20 09:28:05 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=49035





--- Comment #7 from Dirk Schulze <krit at webkit.org>  2010-11-20 09:28:05 PST ---
(In reply to comment #6)
> The testcase can be reduced some more:
> 
> 
> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
> <defs>
>     <rect id="rect" x="0" y="100" width="50" height="50" fill="white" mask="url(#mask4)"/>
>      <mask id="mask4">
>     </mask>
> </defs>
> </svg>
> 
> First look points at RenderSVGResourceContainer::layout(), where removeAllClientsFromCache can be called. For the above case this means the already layouted rect (done in SVGSupport::layoutChildren) gets
> invalidated, so setNeedsLayout(true) is called on it and the assert from bug 49019 is hit. The problem seems to be only triggered when the resource is after the referencing element.
> Cheers,
> 
> Rob.

If I reference the rect after the <defs> section by a <use> element, the test works, but if it is before this section, it asserts as well. So it might be a problem that the parsing of the document did not finished and the resources are unknown. Note, this only happens for mask and filter, not for clipper, gradient or pattern.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list