[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
RenderLayers
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
elements,
but we'd have to do some work to make RenderLayer less HTML -specific.
Currently
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.
Simon
More information about the webkit-dev
mailing list