[webkit-dev] Using RenderLayer for transforms

Simon Fraser simon.fraser at apple.com
Wed Apr 8 09:11:41 PDT 2009

On Apr 6, 2009, at 3:04 AM, Eric Seidel wrote:

> Dave, Simon (and the larger community):
> I've been looking at fixing:
> https://bugs.webkit.org/show_bug.cgi?id=20769
> https://bugs.webkit.org/show_bug.cgi?id=14015
> in SVG.  A large part of the mis-match between SVG renderers and the
> HTML/CSS rendering tree is the use of transforms.
> In SVG, transforms (and clipping) are handled by the renderers
> themselves.  the HTML/CSS rendering tree does not handle transforms,
> and instead only rectilinear layout using parent-offsets.  Things
> which require transforms get a RenderLayer and all the RenderObject
> methods remain transform-ignorant.
> Is this currently the long-term plan for transforms?  Or will HTML
> also be moving to a transform aware rendering tree?
> To fix these bugs I will need to sorta "hack" how things like outline
> drawing are done, focus ring invalidation, and repaint rect
> calculation to take transforms into account inside the renderers.

I don't believe that there is any plan to move the HTML render tree  
away from
rectilinear shapes, so transform handling will continue to be in  
for HTML (although there are some complex issues there, like transforms
on inlines and in multicol).

I think it would be possible to use RenderLayers for transformed SVG  
but we'd have to do some work to make RenderLayer less HTML -specific.  
it builds the presentation-order tree (the z-order lists) based on  
knowledge of
stacking contexts. It's clipping is also all rect-based, so we might  
have to educate it
about path-based clipping.


More information about the webkit-dev mailing list