haikuwebkit/LayoutTests/compositing/columns/hittest-composited-in-pagin...

20 lines
353 B
Plaintext
Raw Permalink Normal View History

REGRESSION: Hit testing of composited elements is broken in new multicolumn layout. https://bugs.webkit.org/show_bug.cgi?id=133522 (<rdar://problem/17060556>) Reviewed by Simon Fraser. Source/WebCore: Hit testing for the new columns doesn't care about compositing but does still need a pagination layer set to work. The old column code didn't care about this because it was top down (and wrong). The new code lets each layer paint and hit test its own fragments, so having a pagination layer set suddenly becomes relevant for composited layers. The solution is to cache whether or not the pagination layer crosses a compositing boundary, and then to force call sites of enclosingPaginationLayer to pass an argument indicating whether compositing layers should be included. Typically painting wants to exclude them but hit testing wants to include them. * page/FrameView.cpp: (WebCore::updateLayerPositionFlags): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::updatePagination): (WebCore::transparencyClipBox): (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::enclosingPaginationLayerInSubtree): (WebCore::RenderLayer::collectFragments): (WebCore::RenderLayer::paintTransformedLayerIntoFragments): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::hitTestTransformedLayerInFragments): (WebCore::RenderLayer::calculateClipRects): * rendering/RenderLayer.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::requiresCompositingForPosition): LayoutTests: * compositing/columns/hittest-composited-in-paginated-expected.txt: Canonical link: https://commits.webkit.org/151572@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-06-06 17:57:44 +00:00
Element at 500, 200: composited box
Fix compositing layers in columns 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. Canonical link: https://commits.webkit.org/138419@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-08-28 22:52:53 +00:00
(GraphicsLayer
Top content inset: Margin tiles should not display in the inset area when pinned to the top of the page https://bugs.webkit.org/show_bug.cgi?id=132535 -and corresponding- <rdar://problem/16613039> Reviewed by Simon Fraser. Source/WebCore: Prior to this change, topContentInset was implemented by positioning RenderLayerCompositor’s m_rootContentLayer based on the inset value. In order to ensure that no content is displayed in the inset area when we are pinned to the top of the page, we’ll have to take a different approach. In this patch, when you are pinned to the top of the page, the m_rootContentLayer is positioned at (0,0), much like it would be without an inset, but the m_clip layer IS positioned at (0, topContentInset). Then for all y-scroll values between 0 and topContentInset, the positions of the clip layer and the contents layer are adjusted so that the clip layer approaches a position of (0,0), and the root layer approaches a position of (0, topContentInset). This makes sure that any content above the top the document is aways clipped out of the inset area. In order to achieve this, the scrolling thread needs to know about the topContentInset, the clip layer, and the root contents layer. AsyncScrollingCoordinator::updateScrollingNode() now takes an additional parameter for the clip layer. Also export the topContentInset symbol for UI-side compositing. * WebCore.exp.in: Here is the new computation. Implemented in one spot that can be called from the scrolling thread, AsyncScrollingCoordinator and RenderLayerCompositor. * page/FrameView.cpp: (WebCore::FrameView::yPositionForInsetClipLayer): (WebCore::FrameView::yPositionForRootContentLayer): * page/FrameView.h: Set the topContentInset, the insetClipLayer, and the scrolledContentsLayer when appropriate. * page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange): Set or sync the positions for the inset layer and the contents layer. (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): (WebCore::AsyncScrollingCoordinator::updateScrollingNode): * page/scrolling/AsyncScrollingCoordinator.h: Convenience functions for getting the clipLayer() and the rootContentLayer() from the RenderLayerCompositor. * page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::insetClipLayerForFrameView): (WebCore::ScrollingCoordinator::rootContentLayerForFrameView): * page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::updateScrollingNode): ScrollingStateScrolling nodes have two new members now. m_insetClipLayer and m_topContentInset. We can use m_scrolledContentsLayer for the rootContentsLayer since previously that member was not used for FrameViews; it was only used for accelerated overflow:scroll nodes. * page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::setTopContentInset): (WebCore::ScrollingStateScrollingNode::setInsetClipLayer): * page/scrolling/ScrollingStateScrollingNode.h: Similarly, ScrollingTreeScrollingNode has two new members for m_topContentInset and m_clipLayer. * page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode): (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren): * page/scrolling/ScrollingTreeScrollingNode.h: (WebCore::ScrollingTreeScrollingNode::topContentInset): * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h: * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren): Compute positions for the two new layers. (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition): Now use the static FrameView functions to compute the positions for these layers. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::frameViewDidChangeSize): (WebCore::RenderLayerCompositor::positionForClipLayer): (WebCore::RenderLayerCompositor::clipLayer): (WebCore::RenderLayerCompositor::rootContentLayer): (WebCore::RenderLayerCompositor::updateRootLayerPosition): (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): (WebCore::RenderLayerCompositor::ensureRootLayer): (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): * rendering/RenderLayerCompositor.h: Source/WebKit2: Encode and decode the ScrollingStateScrollingNode’s m_topContentInset even though we don’t use it for anything yet. Since the headerLayer and footerLayer are not encoded or decoded yet, I did not encode/decode the insetClipLayer yet, which, like the header and footer layers, would not yet be used. * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: (ArgumentCoder<ScrollingStateScrollingNode>::encode): (ArgumentCoder<ScrollingStateScrollingNode>::decode): LayoutTests: Anchor point! * compositing/absolute-inside-out-of-view-fixed-expected.txt: * compositing/animation/filling-animation-overlap-at-end-expected.txt: * compositing/animation/filling-animation-overlap-expected.txt: * compositing/animation/layer-for-filling-animation-expected.txt: * compositing/backing/backface-visibility-in-3dtransformed-expected.txt: * compositing/backing/no-backing-for-clip-expected.txt: * compositing/backing/no-backing-for-clip-overhang-expected.txt: * compositing/backing/no-backing-for-clip-overlap-expected.txt: * compositing/backing/no-backing-for-perspective-expected.txt: * compositing/bounds-in-flipped-writing-mode-expected.txt: * compositing/clip-child-by-non-stacking-ancestor-expected.txt: * compositing/columns/ancestor-clipped-in-paginated-expected.txt: * compositing/columns/clipped-in-paginated-expected.txt: * compositing/columns/composited-columns-expected.txt: * compositing/columns/composited-columns-vertical-rl-expected.txt: * compositing/columns/composited-in-paginated-expected.txt: * compositing/columns/composited-in-paginated-rl-expected.txt: * compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt: * compositing/columns/composited-lr-paginated-repaint-expected.txt: * compositing/columns/composited-nested-columns-expected.txt: * compositing/columns/composited-rl-paginated-repaint-expected.txt: * compositing/columns/hittest-composited-in-paginated-expected.txt: * compositing/columns/rotated-in-paginated-expected.txt: * compositing/columns/untransformed-composited-in-paginated-expected.txt: * compositing/contents-opaque/background-clip-expected.txt: * compositing/contents-opaque/background-color-expected.txt: * compositing/contents-opaque/body-background-painted-expected.txt: * compositing/contents-opaque/body-background-skipped-expected.txt: * compositing/contents-opaque/filter-expected.txt: * compositing/contents-opaque/hidden-with-visible-child-expected.txt: * compositing/contents-opaque/hidden-with-visible-text-expected.txt: * compositing/contents-opaque/layer-opacity-expected.txt: * compositing/contents-opaque/layer-transform-expected.txt: * compositing/contents-opaque/overflow-hidden-child-layers-expected.txt: * compositing/contents-opaque/visibility-hidden-expected.txt: * compositing/contents-scale/animating-expected.txt: * compositing/contents-scale/rounded-contents-scale-expected.txt: * compositing/contents-scale/scaled-ancestor-expected.txt: * compositing/contents-scale/simple-scale-expected.txt: * compositing/contents-scale/z-translate-expected.txt: * compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt: * compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt: * compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt: * compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt: * compositing/geometry/ancestor-overflow-change-expected.txt: * compositing/geometry/bounds-clipped-composited-child-expected.txt: * compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt: * compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt: * compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt: * compositing/geometry/bounds-ignores-hidden-expected.txt: * compositing/geometry/clip-expected.txt: * compositing/geometry/clip-inside-expected.txt: * compositing/geometry/composited-in-columns-expected.txt: * compositing/geometry/fixed-position-flipped-writing-mode-expected.txt: * compositing/geometry/flipped-writing-mode-expected.txt: * compositing/geometry/foreground-layer-expected.txt: * compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt: * compositing/geometry/layer-due-to-layer-children-switch-expected.txt: * compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: * compositing/geometry/limit-layer-bounds-fixed-expected.txt: * compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt: * compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt: * compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: * compositing/geometry/limit-layer-bounds-positioned-expected.txt: * compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: * compositing/geometry/limit-layer-bounds-transformed-expected.txt: * compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: * compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt: * compositing/geometry/preserve-3d-switching-expected.txt: * compositing/iframes/become-composited-nested-iframes-expected.txt: * compositing/iframes/become-overlapped-iframe-expected.txt: * compositing/iframes/composited-parent-iframe-expected.txt: * compositing/iframes/connect-compositing-iframe-delayed-expected.txt: * compositing/iframes/connect-compositing-iframe-expected.txt: * compositing/iframes/connect-compositing-iframe2-expected.txt: * compositing/iframes/connect-compositing-iframe3-expected.txt: * compositing/iframes/enter-compositing-iframe-expected.txt: * compositing/iframes/iframe-resize-expected.txt: * compositing/iframes/iframe-size-from-zero-expected.txt: * compositing/iframes/invisible-nested-iframe-hide-expected.txt: * compositing/iframes/overlapped-iframe-expected.txt: * compositing/iframes/overlapped-iframe-iframe-expected.txt: * compositing/iframes/overlapped-nested-iframes-expected.txt: * compositing/iframes/page-cache-layer-tree-expected.txt: * compositing/iframes/scrolling-iframe-expected.txt: * compositing/images/clip-on-directly-composited-image-expected.txt: * compositing/layer-creation/animation-overlap-with-children-expected.txt: * compositing/layer-creation/fixed-position-and-transform-expected.txt: * compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt: * compositing/layer-creation/fixed-position-out-of-view-expected.txt: * compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: * compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: * compositing/layer-creation/fixed-position-transformed-into-view-expected.txt: * compositing/layer-creation/fixed-position-under-transform-expected.txt: * compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt: * compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt: * compositing/layer-creation/overflow-scroll-overlap-expected.txt: * compositing/layer-creation/overlap-animation-clipping-expected.txt: * compositing/layer-creation/overlap-animation-expected.txt: * compositing/layer-creation/overlap-child-layer-expected.txt: * compositing/layer-creation/overlap-clipping-expected.txt: * compositing/layer-creation/overlap-transformed-3d-expected.txt: * compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: * compositing/layer-creation/overlap-transformed-layer-expected.txt: * compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: * compositing/layer-creation/overlap-transforms-expected.txt: * compositing/layer-creation/rotate3d-overlap-expected.txt: * compositing/layer-creation/scroll-partial-update-expected.txt: * compositing/layer-creation/spanOverlapsCanvas-expected.txt: * compositing/layer-creation/stacking-context-overlap-expected.txt: * compositing/layer-creation/stacking-context-overlap-nested-expected.txt: * compositing/layer-creation/translatez-overlap-expected.txt: * compositing/masks/mask-layer-size-expected.txt: * compositing/overflow-trumps-transform-style-expected.txt: * compositing/overflow/clip-descendents-expected.txt: * compositing/overflow/content-gains-scrollbars-expected.txt: * compositing/overflow/content-loses-scrollbars-expected.txt: * compositing/overflow/overflow-scrollbar-layer-positions-expected.txt: * compositing/overflow/overflow-scrollbar-layers-expected.txt: * compositing/overflow/resize-painting-expected.txt: * compositing/plugins/no-backing-store-expected.txt: * compositing/plugins/small-to-large-composited-plugin-expected.txt: * compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt: * compositing/regions/fixed-in-named-flow-expected.txt: * compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt: * compositing/regions/fixed-in-named-flow-from-outflow-expected.txt: * compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt: * compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt: * compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt: * compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt: * compositing/regions/fixed-transformed-in-named-flow-expected.txt: * compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt: * compositing/repaint/fixed-background-scroll-expected.txt: * compositing/repaint/positioned-movement-expected.txt: * compositing/repaint/repaint-on-layer-grouping-change-expected.txt: * compositing/repaint/resize-repaint-expected.txt: * compositing/rtl/rtl-absolute-expected.txt: * compositing/rtl/rtl-absolute-overflow-expected.txt: * compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: * compositing/rtl/rtl-fixed-expected.txt: * compositing/rtl/rtl-fixed-overflow-expected.txt: * compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt: * compositing/rtl/rtl-relative-expected.txt: * compositing/tiled-layers-hidpi-expected.txt: * compositing/visibility/layer-visible-content-expected.txt: * platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt: * platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt: * platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt: * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: * platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt: * platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt: * platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt: * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: * platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt: * platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: * platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt: * platform/mac/compositing/canvas/accelerated-canvas-compositing-expected.txt: * platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt: * platform/mac/compositing/iframes/invisible-nested-iframe-show-expected.txt: * platform/mac/compositing/iframes/resizer-expected.txt: * platform/mac/compositing/images/direct-image-object-fit-expected.txt: * platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt: * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: * platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: * platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt: * platform/mac/compositing/reflections/direct-image-object-fit-reflected-expected.txt: * platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt: * platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt: * platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt: * platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt: * platform/mac/compositing/tiling/huge-layer-img-expected.txt: * platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt: * platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt: * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt: * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: * platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt: * platform/mac/compositing/tiling/tiled-layer-resize-expected.txt: * platform/mac/compositing/video/video-object-fit-expected.txt: * platform/mac/compositing/visible-rect/2d-transformed-expected.txt: * platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: * platform/mac/compositing/visible-rect/3d-transformed-expected.txt: * platform/mac/compositing/visible-rect/animated-expected.txt: * platform/mac/compositing/visible-rect/animated-from-none-expected.txt: * platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: * platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: * platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: * platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt: * platform/mac/compositing/visible-rect/nested-transform-expected.txt: * platform/mac/compositing/visible-rect/scrolled-expected.txt: Canonical link: https://commits.webkit.org/150565@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-05-04 20:40:40 +00:00
(anchor 0.00 0.00)
Fix compositing layers in columns 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. Canonical link: https://commits.webkit.org/138419@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-08-28 22:52:53 +00:00
(bounds 810.00 585.00)
(children 1
(GraphicsLayer
(bounds 810.00 585.00)
(contentsOpaque 1)
(children 1
(GraphicsLayer
(position 428.00 145.00)
(bounds 100.00 100.00)
(contentsOpaque 1)
)
)
)
)
)