[Webkit-unassigned] [Bug 76486] RenderLayer ClipRect not accounting for transforms

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 19 18:12:48 PST 2012


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


Shawn Singh <shawnsingh at chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vangelis at chromium.org




--- Comment #4 from Shawn Singh <shawnsingh at chromium.org>  2012-01-19 18:12:48 PST ---
I was able to bisect this issue down to revision 91114 - https://bugs.webkit.org/show_bug.cgi?id=63493

This validates the debugging I've done, but doesn't add much information to the problem.  At least seeing this change should help clarify the problem.  In RenderLayerCompositor::addToOverlapMap(),  a new line was added that computes the clipRect.  That computation indirectly calls convertToLayerCoords(), which supposedly should not be called when transforms are involved, but in this situation transforms may be in the hierarchy.

Simon, did you have a chance to check again that the reduced test case reproduces in webkit nightly?  It still reproduces for me, I'm on osx 10.6.8.  I see a red square indicating the green div does not get properly composited.  If you open the Inspector and reduce the x-translation, then there is a non-empty entry in the overlapMap, which causes the green div to be composited correctly (even though the clipRect is still not transformed correctly).

Also, both my attempted hacks do indeed fix the problem, but they break other layout tests.  I have tried two hacks:

(1) in RenderLayer::convertToLayerCoords, at the very bottom of the function before returning, I tried to add the 2-D component of m_transform.

(2) in RenderLayer::calculateClipRects  I tried replacing convertToLayerCoords with a call to localToAbsolute().

I can continue by debugging why other layout tests fail in those cases, but it would save me several days of frustration if someone can suggest what the correct fix might look like. =)

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