[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
Fri Nov 5 00:57:22 PDT 2010


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





--- Comment #3 from Nikolas Zimmermann <zimmermann at kde.org>  2010-11-05 00:57:22 PST ---
(In reply to comment #2)
> (In reply to comment #1)
> > Should children of a <defs> exist in the render tree at all?  They should never be rendered according to the SVG spec.
> 
> They are accessible with xlink:href by <use>, <symbol> and <feImage> and need to have a renderer.
This is unrelated.

To answer the question. Any object within <defs> has a renderer, they're all placed in a RenderSVGHiddenContainer. This is needed, as for instance gradients and gradient stops are typically placed in a <defs> object:

<defs> <linearGradient> <stop stop-color="red"> ...
stop-color is a CSS property, and thus needs to be modifiable through CSS. That requires a renderer for the <stop> otherwhise we can't listen to "styleDidChange" events.
I could give more examples why this is needed.

Note, that a RenderSVGHiddenContainer::paint() is a no-op, the <defs> subtree will never be painted.

-- 
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