[Webkit-unassigned] [Bug 87297] Null pointer dereference when mixing layers, foreignObjects and SVG hidden containers

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 24 00:13:59 PDT 2012


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





--- Comment #2 from Nikolas Zimmermann <zimmermann at kde.org>  2012-05-24 00:13:03 PST ---
(In reply to comment #1)
> After chatting with schenney & pdr, it seems the core issue here is that we're doing a layout on the <defs> subtree in the first place. According to the spec we shouldn't even build that portion of the render tree:
> 
> > Elements that are descendants of a ‘defs’ are not rendered directly; they are prevented from becoming part of the rendering tree just as if the ‘defs’ element were a ‘g’ element and the ‘display’ property were set to none.
> 
> What is the reason for creating the <defs> rendering tree? We are guessing it's needed for filters, etc. Maybe we can exclude the elements that do not need it?
Resources currently always need a renderer (linearGradient/clipPath/etc..) - but that's subject to change in future - killing RenderSVGGradientStop is a first step in that direction.

There are numerous of other examples why we currently need renderers for any element carrying CSS properties. One hard example is: CSS Transitions on any element inside a <defs> section, which can carry CSS properties, like: <defs> <path id="somePathThatWillBeReferenced"/> </defs>.
A transition on that <path> currently needs a renderer() otherwise it has no RenderStyle that could be animated, and no one which actually updates it (usually done via RenderOBject::setAnimatableStyle).

I'm currently prototyping CSS transitions on renderer-less Nodes.

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