[Webkit-unassigned] [Bug 20769] SVG refresh/redraw problems on scrolled or relative positioned canvas

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Apr 8 07:02:14 PDT 2009


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





------- Comment #6 from eric at webkit.org  2009-04-08 07:02 PDT -------
I've looked at this some over the last two days (in between crash fixing for
chromium 2.0) and it looks like the real fix here is to just kill
absoluteTransform().

absoluteTransform() is wrong (or at least it's in conflict with how the rest of
the rendering tree works) and doesn't always account for the full transform.

SVG renders will need different "local" transform methods instead.  (Which
don't need to be virtual, and can just be helpers implemented on each
renderer).  All SVG renderers will need one which handles the
parentToLocalTransform() (and probably should take passed in tx, ty values?) 
and containers will need a separate method to handle localToChildrenTransform()
(for things like the viewport transform).

parentToLocalTransform will be applied to the context before all paint calls,
including filter painting, clipping, and outline/focus-rect painting.

localToChildrenTransform() will be applied to the context before calling to
children to have them paint.

clippedOverflowRectForRepaint will need to be re-written to use overflowRect()
and computeRectForRepaint() like the HTML renders use.  I'll look at this again
tomorrow.


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



More information about the webkit-unassigned mailing list