[Webkit-unassigned] [Bug 90419] When overlap testing, compute regions relative to some container, not absolute

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jul 3 18:27:49 PDT 2012


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


Simon Fraser (smfr) <simon.fraser at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |simon.fraser at apple.com




--- Comment #1 from Simon Fraser (smfr) <simon.fraser at apple.com>  2012-07-03 18:27:49 PST ---
This code in RenderLayer::calculateClipRects() seems just wrong:

        // This offset cannot use convertToLayerCoords, because sometimes our rootLayer may be across
        // some transformed layer boundary, for example, in the RenderLayerCompositor overlapMap, where
        // clipRects are needed in view space.
        LayoutPoint offset;
        offset = roundedIntPoint(renderer()->localToContainerPoint(FloatPoint(), rootLayer->renderer()));
        RenderView* view = renderer()->view();
        ASSERT(view);
        if (view && clipRects.fixed() && rootLayer->renderer() == view) {
            offset -= view->frameView()->scrollOffsetForFixedPosition();
        }

You can't just offset when mapping rects through transforms.

It really doesn't make any sense to ask for global clip rects when there are transforms. That's why transforms are normally act as clipping roots.

This is causing some issues in content we have that does rotateY(180deg); the overlap testing is just broken.

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