-
simon.fraser@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=99212 Reviewed by Tim Horton. Source/WebCore: GraphicsLayerCA::computeVisibleRect() was incorrect for layer trees with perspective and preserve-3d, so fix that, and add some tests. Perspective is implemented via childrenTransform(); if our parent has one, we have to left-multiply this into the transformation matrix. We have to test both this layer and its parent when deciding whether to accumulate or flatten. Use state.mappedQuad() rather than state.lastPlanarQuad(), because the last planar quad might be for some distant ancestor, and there may be intermediate preserve-3d layers. Tests: compositing/visible-rect/3d-transform-style.html compositing/visible-rect/3d-transformed.html compositing/visible-rect/nested-transform.html * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::computeVisibleRect): LayoutTests: Layer tree tests that include visible rect information, to test visible rect computation for more complex layer trees. * compositing/visible-rect/3d-transform-style-expected.txt: Added. * compositing/visible-rect/3d-transform-style.html: Added. * compositing/visible-rect/3d-transformed-expected.txt: Added. * compositing/visible-rect/3d-transformed.html: Added. * compositing/visible-rect/nested-transform-expected.txt: Added. * compositing/visible-rect/nested-transform.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
beb76102