-
simon.fraser@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=120436 Source/WebCore: Reviewed by Dave Hyatt. Remove the old hack in RenderLayer::updateLayerPosition() for placing layers in columns, which changed the layer position for composited layers; this broke hit-testing. Fix a better way by moving compositing layers to the correct positions that take column offsets into account, by fixing RenderLayer::convertToLayerCoords() to optionally apply column adjustment, and using this in the code which positions compositing layers. Tests: compositing/columns/ancestor-clipped-in-paginated.html compositing/columns/clipped-in-paginated.html compositing/columns/composited-columns-vertical-rl.html compositing/columns/composited-columns.html compositing/columns/composited-in-paginated-rl.html compositing/columns/composited-in-paginated-writing-mode-rl.html compositing/columns/composited-lr-paginated-repaint.html compositing/columns/composited-rl-paginated-repaint.html compositing/columns/hittest-composited-in-paginated.html compositing/columns/rotated-in-paginated.html compositing/columns/untransformed-composited-in-paginated.html * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::convertToPixelSnappedLayerCoords): (WebCore::accumulateOffsetTowardsAncestor): (WebCore::RenderLayer::convertToLayerCoords): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateCompositedBounds): (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): LayoutTests: Reviewed by Dave Hyatt. Various testcases for compositing in columns. * compositing/columns/ancestor-clipped-in-paginated-expected.txt: Added. * compositing/columns/ancestor-clipped-in-paginated.html: Copied from LayoutTests/compositing/columns/composited-in-paginated.html. * compositing/columns/clipped-in-paginated-expected.txt: Added. * compositing/columns/clipped-in-paginated.html: Copied from LayoutTests/compositing/columns/composited-in-paginated.html. * compositing/columns/composited-columns-expected.txt: Added. * compositing/columns/composited-columns-vertical-rl-expected.txt: Added. * compositing/columns/composited-columns-vertical-rl.html: Added. * compositing/columns/composited-columns.html: Added. * compositing/columns/composited-in-paginated-rl-expected.txt: Added. * compositing/columns/composited-in-paginated-rl.html: Copied from LayoutTests/compositing/columns/composited-in-paginated.html. * compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt: Added. * compositing/columns/composited-in-paginated-writing-mode-rl.html: Copied from LayoutTests/compositing/columns/composited-in-paginated.html. * compositing/columns/composited-in-paginated.html: * compositing/columns/composited-lr-paginated-repaint-expected.txt: Added. * compositing/columns/composited-lr-paginated-repaint.html: Added. * compositing/columns/composited-nested-columns-expected.txt: Added. * compositing/columns/composited-nested-columns.html: Added. * compositing/columns/composited-rl-paginated-repaint-expected.txt: Added. * compositing/columns/composited-rl-paginated-repaint.html: Added. * compositing/columns/hittest-composited-in-paginated-expected.txt: Added. * compositing/columns/hittest-composited-in-paginated.html: Copied from LayoutTests/compositing/columns/composited-in-paginated.html. * compositing/columns/rotated-in-paginated-expected.txt: Added. * compositing/columns/rotated-in-paginated.html: Copied from LayoutTests/compositing/columns/composited-in-paginated.html. * compositing/columns/untransformed-composited-in-paginated-expected.txt: Added. * compositing/columns/untransformed-composited-in-paginated.html: Copied from LayoutTests/compositing/columns/composited-in-paginated.html. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
560a8a50