Top content inset: Margin tiles should not display in the inset area when pinned
authorbdakin@apple.com <bdakin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 4 May 2014 20:40:40 +0000 (20:40 +0000)
committerbdakin@apple.com <bdakin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 4 May 2014 20:40:40 +0000 (20:40 +0000)
commit5d70ce9ccbcfaafa32e4dd0407bb521d920da66a
tree9613118b8d5a0d12b4d1cb77e16533cdda58ee92
parent3e308ccffa397ac5327cc5ebab17122d47e179de
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
245 files changed:
LayoutTests/ChangeLog
LayoutTests/compositing/absolute-inside-out-of-view-fixed-expected.txt
LayoutTests/compositing/animation/filling-animation-overlap-at-end-expected.txt
LayoutTests/compositing/animation/filling-animation-overlap-expected.txt
LayoutTests/compositing/animation/layer-for-filling-animation-expected.txt
LayoutTests/compositing/backing/backface-visibility-in-3dtransformed-expected.txt
LayoutTests/compositing/backing/no-backing-for-clip-expected.txt
LayoutTests/compositing/backing/no-backing-for-clip-overhang-expected.txt
LayoutTests/compositing/backing/no-backing-for-clip-overlap-expected.txt
LayoutTests/compositing/backing/no-backing-for-perspective-expected.txt
LayoutTests/compositing/bounds-in-flipped-writing-mode-expected.txt
LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt
LayoutTests/compositing/columns/ancestor-clipped-in-paginated-expected.txt
LayoutTests/compositing/columns/clipped-in-paginated-expected.txt
LayoutTests/compositing/columns/composited-columns-expected.txt
LayoutTests/compositing/columns/composited-columns-vertical-rl-expected.txt
LayoutTests/compositing/columns/composited-in-paginated-expected.txt
LayoutTests/compositing/columns/composited-in-paginated-rl-expected.txt
LayoutTests/compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt
LayoutTests/compositing/columns/composited-lr-paginated-repaint-expected.txt
LayoutTests/compositing/columns/composited-nested-columns-expected.txt
LayoutTests/compositing/columns/composited-rl-paginated-repaint-expected.txt
LayoutTests/compositing/columns/hittest-composited-in-paginated-expected.txt
LayoutTests/compositing/columns/rotated-in-paginated-expected.txt
LayoutTests/compositing/columns/untransformed-composited-in-paginated-expected.txt
LayoutTests/compositing/contents-opaque/background-clip-expected.txt
LayoutTests/compositing/contents-opaque/background-color-expected.txt
LayoutTests/compositing/contents-opaque/body-background-painted-expected.txt
LayoutTests/compositing/contents-opaque/body-background-skipped-expected.txt
LayoutTests/compositing/contents-opaque/filter-expected.txt
LayoutTests/compositing/contents-opaque/hidden-with-visible-child-expected.txt
LayoutTests/compositing/contents-opaque/hidden-with-visible-text-expected.txt
LayoutTests/compositing/contents-opaque/layer-opacity-expected.txt
LayoutTests/compositing/contents-opaque/layer-transform-expected.txt
LayoutTests/compositing/contents-opaque/overflow-hidden-child-layers-expected.txt
LayoutTests/compositing/contents-opaque/visibility-hidden-expected.txt
LayoutTests/compositing/contents-scale/animating-expected.txt
LayoutTests/compositing/contents-scale/rounded-contents-scale-expected.txt
LayoutTests/compositing/contents-scale/scaled-ancestor-expected.txt
LayoutTests/compositing/contents-scale/simple-scale-expected.txt
LayoutTests/compositing/contents-scale/z-translate-expected.txt
LayoutTests/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt
LayoutTests/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt
LayoutTests/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt
LayoutTests/compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt
LayoutTests/compositing/geometry/ancestor-overflow-change-expected.txt
LayoutTests/compositing/geometry/bounds-clipped-composited-child-expected.txt
LayoutTests/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt
LayoutTests/compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt
LayoutTests/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt
LayoutTests/compositing/geometry/bounds-ignores-hidden-expected.txt
LayoutTests/compositing/geometry/clip-expected.txt
LayoutTests/compositing/geometry/clip-inside-expected.txt
LayoutTests/compositing/geometry/composited-in-columns-expected.txt
LayoutTests/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt
LayoutTests/compositing/geometry/flipped-writing-mode-expected.txt
LayoutTests/compositing/geometry/foreground-layer-expected.txt
LayoutTests/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt
LayoutTests/compositing/geometry/layer-due-to-layer-children-switch-expected.txt
LayoutTests/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt
LayoutTests/compositing/geometry/limit-layer-bounds-fixed-expected.txt
LayoutTests/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt
LayoutTests/compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt
LayoutTests/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt
LayoutTests/compositing/geometry/limit-layer-bounds-positioned-expected.txt
LayoutTests/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt
LayoutTests/compositing/geometry/limit-layer-bounds-transformed-expected.txt
LayoutTests/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt
LayoutTests/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt
LayoutTests/compositing/geometry/preserve-3d-switching-expected.txt
LayoutTests/compositing/iframes/become-composited-nested-iframes-expected.txt
LayoutTests/compositing/iframes/become-overlapped-iframe-expected.txt
LayoutTests/compositing/iframes/composited-parent-iframe-expected.txt
LayoutTests/compositing/iframes/connect-compositing-iframe-delayed-expected.txt
LayoutTests/compositing/iframes/connect-compositing-iframe-expected.txt
LayoutTests/compositing/iframes/connect-compositing-iframe2-expected.txt
LayoutTests/compositing/iframes/connect-compositing-iframe3-expected.txt
LayoutTests/compositing/iframes/enter-compositing-iframe-expected.txt
LayoutTests/compositing/iframes/iframe-resize-expected.txt
LayoutTests/compositing/iframes/iframe-size-from-zero-expected.txt
LayoutTests/compositing/iframes/invisible-nested-iframe-hide-expected.txt
LayoutTests/compositing/iframes/overlapped-iframe-expected.txt
LayoutTests/compositing/iframes/overlapped-iframe-iframe-expected.txt
LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt
LayoutTests/compositing/iframes/page-cache-layer-tree-expected.txt
LayoutTests/compositing/iframes/scrolling-iframe-expected.txt
LayoutTests/compositing/images/clip-on-directly-composited-image-expected.txt
LayoutTests/compositing/layer-creation/animation-overlap-with-children-expected.txt
LayoutTests/compositing/layer-creation/fixed-position-and-transform-expected.txt
LayoutTests/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt
LayoutTests/compositing/layer-creation/fixed-position-out-of-view-expected.txt
LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt
LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt
LayoutTests/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt
LayoutTests/compositing/layer-creation/fixed-position-under-transform-expected.txt
LayoutTests/compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt
LayoutTests/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt
LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt
LayoutTests/compositing/layer-creation/overlap-animation-clipping-expected.txt
LayoutTests/compositing/layer-creation/overlap-animation-expected.txt
LayoutTests/compositing/layer-creation/overlap-child-layer-expected.txt
LayoutTests/compositing/layer-creation/overlap-clipping-expected.txt
LayoutTests/compositing/layer-creation/overlap-transformed-3d-expected.txt
LayoutTests/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt
LayoutTests/compositing/layer-creation/overlap-transformed-layer-expected.txt
LayoutTests/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt
LayoutTests/compositing/layer-creation/overlap-transforms-expected.txt
LayoutTests/compositing/layer-creation/rotate3d-overlap-expected.txt
LayoutTests/compositing/layer-creation/scroll-partial-update-expected.txt
LayoutTests/compositing/layer-creation/spanOverlapsCanvas-expected.txt
LayoutTests/compositing/layer-creation/stacking-context-overlap-expected.txt
LayoutTests/compositing/layer-creation/stacking-context-overlap-nested-expected.txt
LayoutTests/compositing/layer-creation/translatez-overlap-expected.txt
LayoutTests/compositing/masks/mask-layer-size-expected.txt
LayoutTests/compositing/overflow-trumps-transform-style-expected.txt
LayoutTests/compositing/overflow/clip-descendents-expected.txt
LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt
LayoutTests/compositing/overflow/content-loses-scrollbars-expected.txt
LayoutTests/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt
LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt
LayoutTests/compositing/overflow/resize-painting-expected.txt
LayoutTests/compositing/plugins/no-backing-store-expected.txt
LayoutTests/compositing/plugins/small-to-large-composited-plugin-expected.txt
LayoutTests/compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt
LayoutTests/compositing/regions/fixed-in-named-flow-expected.txt
LayoutTests/compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt
LayoutTests/compositing/regions/fixed-in-named-flow-from-outflow-expected.txt
LayoutTests/compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt
LayoutTests/compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt
LayoutTests/compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt
LayoutTests/compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt
LayoutTests/compositing/regions/fixed-transformed-in-named-flow-expected.txt
LayoutTests/compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt
LayoutTests/compositing/repaint/fixed-background-scroll-expected.txt
LayoutTests/compositing/repaint/positioned-movement-expected.txt
LayoutTests/compositing/repaint/repaint-on-layer-grouping-change-expected.txt
LayoutTests/compositing/repaint/resize-repaint-expected.txt
LayoutTests/compositing/rtl/rtl-absolute-expected.txt
LayoutTests/compositing/rtl/rtl-absolute-overflow-expected.txt
LayoutTests/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt
LayoutTests/compositing/rtl/rtl-fixed-expected.txt
LayoutTests/compositing/rtl/rtl-fixed-overflow-expected.txt
LayoutTests/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt
LayoutTests/compositing/rtl/rtl-relative-expected.txt
LayoutTests/compositing/tiled-layers-hidpi-expected.txt
LayoutTests/compositing/visibility/layer-visible-content-expected.txt
LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt
LayoutTests/platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt
LayoutTests/platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt
LayoutTests/platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt
LayoutTests/platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt
LayoutTests/platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt
LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt
LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt
LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt
LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt
LayoutTests/platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt
LayoutTests/platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt
LayoutTests/platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt
LayoutTests/platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt
LayoutTests/platform/mac/compositing/canvas/accelerated-canvas-compositing-expected.txt
LayoutTests/platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt
LayoutTests/platform/mac/compositing/iframes/invisible-nested-iframe-show-expected.txt
LayoutTests/platform/mac/compositing/iframes/resizer-expected.txt
LayoutTests/platform/mac/compositing/images/direct-image-object-fit-expected.txt
LayoutTests/platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt
LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt
LayoutTests/platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt
LayoutTests/platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt
LayoutTests/platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt
LayoutTests/platform/mac/compositing/reflections/direct-image-object-fit-reflected-expected.txt
LayoutTests/platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt
LayoutTests/platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt
LayoutTests/platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt
LayoutTests/platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt
LayoutTests/platform/mac/compositing/tiling/huge-layer-img-expected.txt
LayoutTests/platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt
LayoutTests/platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt
LayoutTests/platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt
LayoutTests/platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt
LayoutTests/platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt
LayoutTests/platform/mac/compositing/tiling/tiled-layer-resize-expected.txt
LayoutTests/platform/mac/compositing/video/video-object-fit-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/2d-transformed-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/3d-transform-style-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/3d-transformed-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/animated-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/animated-from-none-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/nested-transform-expected.txt
LayoutTests/platform/mac/compositing/visible-rect/scrolled-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/WebCore.exp.in
Source/WebCore/page/FrameView.cpp
Source/WebCore/page/FrameView.h
Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
Source/WebCore/page/scrolling/ScrollingCoordinator.h
Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h
Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.h
Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm
Source/WebCore/rendering/RenderLayerCompositor.cpp
Source/WebCore/rendering/RenderLayerCompositor.h
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp