[iOS WK2] Turn on async overflow scrolling by default
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 21 Mar 2019 23:55:39 +0000 (23:55 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 21 Mar 2019 23:55:39 +0000 (23:55 +0000)
https://bugs.webkit.org/show_bug.cgi?id=196011
rdar://problem/48453859

Reviewed by Antti Koivisto.
Source/WebKit:

* Shared/WebPreferences.yaml:
* Shared/WebPreferencesDefaultValues.h:

Tools:

Explicitly turn off the async overflow scrolling internal feature for tests by default,
since so many basic layout tests have different results when compositing is triggered for
overflow.

Individual tests will re-enable with <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

Explicitly turn on async overflow scrolling in any test that:
1. Used -webkit-overflow-scrolling:touch
2. Called settings.setAsyncOverflowScrollingEnabled(true)

* accessibility/ios-simulator/scroll-in-overflow-div.html:
* compositing/clipping/border-radius-async-overflow-clipping-layer.html:
* compositing/clipping/border-radius-async-overflow-non-stacking.html:
* compositing/clipping/border-radius-async-overflow-stacking.html:
* compositing/geometry/fixed-inside-overflow-scroll.html:
* compositing/ios/overflow-scroll-touch-tiles.html:
* compositing/ios/overflow-scroll-update-overlap.html:
* compositing/layer-creation/absolute-in-async-overflow-scroll.html:
* compositing/overflow/absolute-in-overflow-expected.html:
* compositing/overflow/absolute-in-overflow.html:
* compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html:
* compositing/overflow/iframe-inside-overflow-clipping.html:
* compositing/overflow/nested-scrolling.html:
* compositing/overflow/overflow-auto-with-touch-expected.txt:
* compositing/overflow/overflow-auto-with-touch-no-overflow.html:
* compositing/overflow/overflow-auto-with-touch-toggle.html:
* compositing/overflow/overflow-auto-with-touch.html:
* compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html:
* compositing/overflow/overflow-hidden-with-touch.html:
* compositing/overflow/overflow-overlay-with-touch-expected.txt:
* compositing/overflow/overflow-overlay-with-touch-no-overflow.html:
* compositing/overflow/overflow-overlay-with-touch.html:
* compositing/overflow/overflow-scroll-with-touch-no-overflow.html:
* compositing/overflow/overflow-scroll.html:
* compositing/overflow/overflow-visible-with-touch.html:
* compositing/overflow/remove-overflow-crash.html:
* compositing/overflow/scrolling-content-clip-to-viewport-expected.txt:
* compositing/overflow/scrolling-content-clip-to-viewport.html:
* compositing/overflow/scrolling-without-painting.html:
* compositing/overflow/should-not-override-z-index-for-element-with-non-auto-z-index-and-overflow-scroll-and-touch.html:
* compositing/overflow/subpixel-overflow.html:
* compositing/overflow/textarea-scroll-touch-expected.txt:
* compositing/overflow/textarea-scroll-touch.html:
* compositing/overflow/updating-scrolling-content.html:
* compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt:
* compositing/rtl/rtl-scrolling-with-transformed-descendants.html:
* compositing/scrolling/fixed-inside-scroll-expected.html:
* compositing/scrolling/fixed-inside-scroll.html:
* compositing/scrolling/overflow-scrolling-layers-are-self-painting.html:
* compositing/scrolling/touch-scroll-to-clip.html:
* compositing/scrolling/touch-scrolling-repaint-expected.html:
* compositing/scrolling/touch-scrolling-repaint-spans-expected.html:
* compositing/scrolling/touch-scrolling-repaint-spans.html:
* compositing/scrolling/touch-scrolling-repaint.html:
* css3/scroll-snap/nested-elements.html:
* css3/scroll-snap/scroll-snap-children-with-overflow.html:
* css3/scroll-snap/scroll-snap-offsets.html:
* css3/scroll-snap/scroll-snap-positions.html:
* css3/scroll-snap/scroll-snap-programmatic-overflow-scroll.html:
* css3/scroll-snap/scroll-snap-style-changed-align.html:
* fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow.html:
* fast/events/ios/touch-events-during-scroll-deceleration-in-overflow.html:
* fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-block.html:
* fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-document.html:
* fast/events/touch/ios/drag-block-without-overflow-scroll.html:
* fast/scrolling/ios/change-scrollability-on-content-resize-nested.html:
* fast/scrolling/ios/change-scrollability-on-content-resize.html:
* fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor.html:
* fast/scrolling/ios/fixed-inside-overflow-inside-iframe-expected.html:
* fast/scrolling/ios/fixed-inside-overflow-inside-iframe.html:
* fast/scrolling/ios/iframe-inside-overflow-clipping.html:
* fast/scrolling/ios/overflow-clip-with-accelerated-scrolling-ancestor.html:
* fast/scrolling/ios/overflow-scroll-inherited.html:
* fast/scrolling/ios/overflow-scroll-overlap-2.html:
* fast/scrolling/ios/overflow-scroll-overlap-3.html:
* fast/scrolling/ios/overflow-scroll-overlap-4.html:
* fast/scrolling/ios/overflow-scroll-overlap-5.html:
* fast/scrolling/ios/overflow-scroll-overlap.html:
* fast/scrolling/ios/overflow-scroll-touch.html:
* fast/scrolling/ios/overflow-scrolling-ancestor-clip-size.html:
* fast/scrolling/ios/overflow-scrolling-ancestor-clip.html:
* fast/scrolling/ios/overflow-scrolling-touch-disabled-stacking.html:
* fast/scrolling/ios/overflow-scrolling-touch-enabled-stacking-expected.html:
* fast/scrolling/ios/overflow-scrolling-touch-enabled-stacking.html:
* fast/scrolling/ios/reconcile-layer-position-recursive.html:
* fast/scrolling/ios/remove-overflow-crash.html:
* fast/scrolling/ios/scroll-into-view-with-top-content-inset.html:
* fast/scrolling/ios/scrollbar-hiding.html:
* fast/scrolling/ios/scrolling-content-clip-to-viewport.html:
* fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor.html:
* fast/scrolling/ios/table-cell-touch-scrolling.html:
* fast/scrolling/ios/textarea-scroll-touch.html:
* fast/scrolling/ios/touch-scroll-back-forward.html:
* fast/scrolling/ios/touch-scroll-pointer-events-none.html:
* fast/scrolling/ios/touch-stacking.html:
* platform/ios-wk2/TestExpectations:
* platform/ios-wk2/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: Added.
* platform/ios-wk2/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Added.
* platform/ios-wk2/compositing/layer-creation/scroll-partial-update-expected.txt: Added.
* platform/ios-wk2/compositing/overflow/content-gains-scrollbars-expected.txt: Added.
* platform/ios-wk2/compositing/overflow/overflow-scroll-expected.txt:
* platform/ios-wk2/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt: Added.
* platform/ios-wk2/compositing/overflow/overflow-scrollbar-layers-expected.txt: Added.
* platform/ios-wk2/compositing/overflow/remove-overflow-crash2-expected.txt:
* platform/ios-wk2/compositing/overflow/scrollbar-painting-expected.txt:
* platform/ios/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
* platform/ios/compositing/layers-inside-overflow-scroll-expected.txt:
* platform/ios/compositing/overflow/scroll-ancestor-update-expected.txt:
* platform/ios/compositing/reflections/nested-reflection-on-overflow-expected.txt:
* platform/ios/compositing/self-painting-layers-expected.txt:
* platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position-limit.html:
* platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position.html:
* platform/ios/fast/scrolling/find-text-in-overflow-node.html:
* platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html:
* platform/mac/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt:
* pointerevents/ios/touch-action-none-in-overflow-scrolling-touch.html:
* scrollingcoordinator/ios/absolute-layer-should-not-move-with-scroll-expected.html:
* scrollingcoordinator/ios/absolute-layer-should-not-move-with-scroll.html:
* scrollingcoordinator/ios/relative-layer-should-move-with-scroll-expected.html:
* scrollingcoordinator/ios/relative-layer-should-move-with-scroll.html:
* scrollingcoordinator/ios/scroll-element-at-point.html:
* scrollingcoordinator/scrolling-tree/gain-scrolling-node-parent.html:
* scrollingcoordinator/scrolling-tree/lose-scrolling-node-parent.html:
* scrollingcoordinator/scrolling-tree/overflow-in-fixed.html:
* scrollingcoordinator/scrolling-tree/positioned-nodes-complex.html:
* scrollingcoordinator/scrolling-tree/positioned-nodes.html:
* scrollingcoordinator/scrolling-tree/remove-scrolling-role.html:
* scrollingcoordinator/scrolling-tree/reparent-across-compositing-layers.html:
* scrollingcoordinator/scrolling-tree/reparent-with-layer-removal.html:
* scrollingcoordinator/scrolling-tree/resources/doc-with-sticky.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243347 268f45cc-cd09-0410-ab3c-d52691b4dbfc

127 files changed:
LayoutTests/ChangeLog
LayoutTests/accessibility/ios-simulator/scroll-in-overflow-div.html
LayoutTests/compositing/clipping/border-radius-async-overflow-clipping-layer.html
LayoutTests/compositing/clipping/border-radius-async-overflow-non-stacking.html
LayoutTests/compositing/clipping/border-radius-async-overflow-stacking.html
LayoutTests/compositing/geometry/fixed-inside-overflow-scroll.html
LayoutTests/compositing/ios/overflow-scroll-touch-tiles.html
LayoutTests/compositing/ios/overflow-scroll-update-overlap.html
LayoutTests/compositing/layer-creation/absolute-in-async-overflow-scroll.html
LayoutTests/compositing/overflow/absolute-in-overflow-expected.html
LayoutTests/compositing/overflow/absolute-in-overflow.html
LayoutTests/compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html
LayoutTests/compositing/overflow/iframe-inside-overflow-clipping.html
LayoutTests/compositing/overflow/nested-scrolling.html
LayoutTests/compositing/overflow/overflow-auto-with-touch-expected.txt
LayoutTests/compositing/overflow/overflow-auto-with-touch-no-overflow.html
LayoutTests/compositing/overflow/overflow-auto-with-touch-toggle.html
LayoutTests/compositing/overflow/overflow-auto-with-touch.html
LayoutTests/compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html
LayoutTests/compositing/overflow/overflow-hidden-with-touch.html
LayoutTests/compositing/overflow/overflow-overlay-with-touch-expected.txt
LayoutTests/compositing/overflow/overflow-overlay-with-touch-no-overflow.html
LayoutTests/compositing/overflow/overflow-overlay-with-touch.html
LayoutTests/compositing/overflow/overflow-scroll-with-touch-no-overflow.html
LayoutTests/compositing/overflow/overflow-visible-with-touch.html
LayoutTests/compositing/overflow/remove-overflow-crash.html
LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt
LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport.html
LayoutTests/compositing/overflow/scrolling-without-painting.html
LayoutTests/compositing/overflow/should-not-override-z-index-for-element-with-non-auto-z-index-and-overflow-scroll-and-touch.html
LayoutTests/compositing/overflow/subpixel-overflow.html
LayoutTests/compositing/overflow/textarea-scroll-touch-expected.txt
LayoutTests/compositing/overflow/textarea-scroll-touch.html
LayoutTests/compositing/overflow/updating-scrolling-content.html
LayoutTests/compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt
LayoutTests/compositing/rtl/rtl-scrolling-with-transformed-descendants.html
LayoutTests/compositing/scrolling/fixed-inside-scroll-expected.html
LayoutTests/compositing/scrolling/fixed-inside-scroll.html
LayoutTests/compositing/scrolling/overflow-scrolling-layers-are-self-painting.html
LayoutTests/compositing/scrolling/touch-scroll-to-clip.html
LayoutTests/compositing/scrolling/touch-scrolling-repaint-expected.html
LayoutTests/compositing/scrolling/touch-scrolling-repaint-spans-expected.html
LayoutTests/compositing/scrolling/touch-scrolling-repaint-spans.html
LayoutTests/compositing/scrolling/touch-scrolling-repaint.html
LayoutTests/css3/scroll-snap/nested-elements.html
LayoutTests/css3/scroll-snap/scroll-snap-children-with-overflow.html
LayoutTests/css3/scroll-snap/scroll-snap-offsets.html
LayoutTests/css3/scroll-snap/scroll-snap-positions.html
LayoutTests/css3/scroll-snap/scroll-snap-programmatic-overflow-scroll.html
LayoutTests/css3/scroll-snap/scroll-snap-style-changed-align.html
LayoutTests/fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow.html
LayoutTests/fast/events/ios/touch-events-during-scroll-deceleration-in-overflow.html
LayoutTests/fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-block.html
LayoutTests/fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-document.html
LayoutTests/fast/events/touch/ios/drag-block-without-overflow-scroll.html
LayoutTests/fast/scrolling/ios/change-scrollability-on-content-resize-nested.html
LayoutTests/fast/scrolling/ios/change-scrollability-on-content-resize.html
LayoutTests/fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor.html
LayoutTests/fast/scrolling/ios/fixed-inside-overflow-inside-iframe-expected.html
LayoutTests/fast/scrolling/ios/fixed-inside-overflow-inside-iframe.html
LayoutTests/fast/scrolling/ios/iframe-inside-overflow-clipping.html
LayoutTests/fast/scrolling/ios/overflow-clip-with-accelerated-scrolling-ancestor.html
LayoutTests/fast/scrolling/ios/overflow-scroll-inherited.html
LayoutTests/fast/scrolling/ios/overflow-scroll-overlap-2.html
LayoutTests/fast/scrolling/ios/overflow-scroll-overlap-3.html
LayoutTests/fast/scrolling/ios/overflow-scroll-overlap-4.html
LayoutTests/fast/scrolling/ios/overflow-scroll-overlap-5.html
LayoutTests/fast/scrolling/ios/overflow-scroll-overlap.html
LayoutTests/fast/scrolling/ios/overflow-scroll-touch.html
LayoutTests/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size.html
LayoutTests/fast/scrolling/ios/overflow-scrolling-ancestor-clip.html
LayoutTests/fast/scrolling/ios/overflow-scrolling-touch-disabled-stacking.html
LayoutTests/fast/scrolling/ios/overflow-scrolling-touch-enabled-stacking-expected.html
LayoutTests/fast/scrolling/ios/overflow-scrolling-touch-enabled-stacking.html
LayoutTests/fast/scrolling/ios/reconcile-layer-position-recursive.html
LayoutTests/fast/scrolling/ios/remove-overflow-crash.html
LayoutTests/fast/scrolling/ios/scroll-into-view-with-top-content-inset.html
LayoutTests/fast/scrolling/ios/scrollbar-hiding.html
LayoutTests/fast/scrolling/ios/scrolling-content-clip-to-viewport.html
LayoutTests/fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor.html
LayoutTests/fast/scrolling/ios/table-cell-touch-scrolling.html
LayoutTests/fast/scrolling/ios/textarea-scroll-touch.html
LayoutTests/fast/scrolling/ios/touch-scroll-back-forward.html
LayoutTests/fast/scrolling/ios/touch-scroll-pointer-events-none.html
LayoutTests/fast/scrolling/ios/touch-stacking.html
LayoutTests/platform/ios-wk2/TestExpectations
LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/compositing/layer-creation/overflow-scroll-overlap-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/compositing/layer-creation/scroll-partial-update-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/compositing/overflow/content-gains-scrollbars-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/compositing/overflow/overflow-scroll-expected.txt
LayoutTests/platform/ios-wk2/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/compositing/overflow/overflow-scrollbar-layers-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/compositing/overflow/remove-overflow-crash2-expected.txt
LayoutTests/platform/ios-wk2/compositing/overflow/scrollbar-painting-expected.txt
LayoutTests/platform/ios/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt
LayoutTests/platform/ios/compositing/layers-inside-overflow-scroll-expected.txt
LayoutTests/platform/ios/compositing/overflow/scroll-ancestor-update-expected.txt
LayoutTests/platform/ios/compositing/reflections/nested-reflection-on-overflow-expected.txt
LayoutTests/platform/ios/compositing/self-painting-layers-expected.txt
LayoutTests/platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position-limit.html
LayoutTests/platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position.html
LayoutTests/platform/ios/fast/scrolling/find-text-in-overflow-node.html
LayoutTests/platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html
LayoutTests/platform/mac/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt
LayoutTests/pointerevents/ios/touch-action-none-in-overflow-scrolling-touch.html
LayoutTests/scrollingcoordinator/ios/absolute-layer-should-not-move-with-scroll-expected.html
LayoutTests/scrollingcoordinator/ios/absolute-layer-should-not-move-with-scroll.html
LayoutTests/scrollingcoordinator/ios/relative-layer-should-move-with-scroll-expected.html
LayoutTests/scrollingcoordinator/ios/relative-layer-should-move-with-scroll.html
LayoutTests/scrollingcoordinator/ios/scroll-element-at-point.html
LayoutTests/scrollingcoordinator/scrolling-tree/gain-scrolling-node-parent.html
LayoutTests/scrollingcoordinator/scrolling-tree/lose-scrolling-node-parent.html
LayoutTests/scrollingcoordinator/scrolling-tree/overflow-in-fixed.html
LayoutTests/scrollingcoordinator/scrolling-tree/positioned-nodes-complex.html
LayoutTests/scrollingcoordinator/scrolling-tree/positioned-nodes.html
LayoutTests/scrollingcoordinator/scrolling-tree/remove-scrolling-role.html
LayoutTests/scrollingcoordinator/scrolling-tree/reparent-across-compositing-layers.html
LayoutTests/scrollingcoordinator/scrolling-tree/reparent-with-layer-removal.html
LayoutTests/scrollingcoordinator/scrolling-tree/resources/doc-with-sticky.html
LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html
LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html
Source/WebKit/ChangeLog
Source/WebKit/Shared/WebPreferences.yaml
Source/WebKit/Shared/WebPreferencesDefaultValues.h
Tools/ChangeLog
Tools/WebKitTestRunner/TestController.cpp

index 9d7883b..ef157f9 100644 (file)
@@ -1,3 +1,138 @@
+2019-03-21  Simon Fraser  <simon.fraser@apple.com>
+
+        [iOS WK2] Turn on async overflow scrolling by default
+        https://bugs.webkit.org/show_bug.cgi?id=196011
+        rdar://problem/48453859
+
+        Reviewed by Antti Koivisto.
+        
+        Explicitly turn on async overflow scrolling in any test that:
+        1. Used -webkit-overflow-scrolling:touch
+        2. Called settings.setAsyncOverflowScrollingEnabled(true)
+
+        * accessibility/ios-simulator/scroll-in-overflow-div.html:
+        * compositing/clipping/border-radius-async-overflow-clipping-layer.html:
+        * compositing/clipping/border-radius-async-overflow-non-stacking.html:
+        * compositing/clipping/border-radius-async-overflow-stacking.html:
+        * compositing/geometry/fixed-inside-overflow-scroll.html:
+        * compositing/ios/overflow-scroll-touch-tiles.html:
+        * compositing/ios/overflow-scroll-update-overlap.html:
+        * compositing/layer-creation/absolute-in-async-overflow-scroll.html:
+        * compositing/overflow/absolute-in-overflow-expected.html:
+        * compositing/overflow/absolute-in-overflow.html:
+        * compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html:
+        * compositing/overflow/iframe-inside-overflow-clipping.html:
+        * compositing/overflow/nested-scrolling.html:
+        * compositing/overflow/overflow-auto-with-touch-expected.txt:
+        * compositing/overflow/overflow-auto-with-touch-no-overflow.html:
+        * compositing/overflow/overflow-auto-with-touch-toggle.html:
+        * compositing/overflow/overflow-auto-with-touch.html:
+        * compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html:
+        * compositing/overflow/overflow-hidden-with-touch.html:
+        * compositing/overflow/overflow-overlay-with-touch-expected.txt:
+        * compositing/overflow/overflow-overlay-with-touch-no-overflow.html:
+        * compositing/overflow/overflow-overlay-with-touch.html:
+        * compositing/overflow/overflow-scroll-with-touch-no-overflow.html:
+        * compositing/overflow/overflow-scroll.html:
+        * compositing/overflow/overflow-visible-with-touch.html:
+        * compositing/overflow/remove-overflow-crash.html:
+        * compositing/overflow/scrolling-content-clip-to-viewport-expected.txt:
+        * compositing/overflow/scrolling-content-clip-to-viewport.html:
+        * compositing/overflow/scrolling-without-painting.html:
+        * compositing/overflow/should-not-override-z-index-for-element-with-non-auto-z-index-and-overflow-scroll-and-touch.html:
+        * compositing/overflow/subpixel-overflow.html:
+        * compositing/overflow/textarea-scroll-touch-expected.txt:
+        * compositing/overflow/textarea-scroll-touch.html:
+        * compositing/overflow/updating-scrolling-content.html:
+        * compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt:
+        * compositing/rtl/rtl-scrolling-with-transformed-descendants.html:
+        * compositing/scrolling/fixed-inside-scroll-expected.html:
+        * compositing/scrolling/fixed-inside-scroll.html:
+        * compositing/scrolling/overflow-scrolling-layers-are-self-painting.html:
+        * compositing/scrolling/touch-scroll-to-clip.html:
+        * compositing/scrolling/touch-scrolling-repaint-expected.html:
+        * compositing/scrolling/touch-scrolling-repaint-spans-expected.html:
+        * compositing/scrolling/touch-scrolling-repaint-spans.html:
+        * compositing/scrolling/touch-scrolling-repaint.html:
+        * css3/scroll-snap/nested-elements.html:
+        * css3/scroll-snap/scroll-snap-children-with-overflow.html:
+        * css3/scroll-snap/scroll-snap-offsets.html:
+        * css3/scroll-snap/scroll-snap-positions.html:
+        * css3/scroll-snap/scroll-snap-programmatic-overflow-scroll.html:
+        * css3/scroll-snap/scroll-snap-style-changed-align.html:
+        * fast/events/ios/no-touch-events-when-stopping-momentum-scroll-in-overflow.html:
+        * fast/events/ios/touch-events-during-scroll-deceleration-in-overflow.html:
+        * fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-block.html:
+        * fast/events/touch/ios/drag-block-without-overflow-scroll-and-passive-observer-on-document.html:
+        * fast/events/touch/ios/drag-block-without-overflow-scroll.html:
+        * fast/scrolling/ios/change-scrollability-on-content-resize-nested.html:
+        * fast/scrolling/ios/change-scrollability-on-content-resize.html:
+        * fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor.html:
+        * fast/scrolling/ios/fixed-inside-overflow-inside-iframe-expected.html:
+        * fast/scrolling/ios/fixed-inside-overflow-inside-iframe.html:
+        * fast/scrolling/ios/iframe-inside-overflow-clipping.html:
+        * fast/scrolling/ios/overflow-clip-with-accelerated-scrolling-ancestor.html:
+        * fast/scrolling/ios/overflow-scroll-inherited.html:
+        * fast/scrolling/ios/overflow-scroll-overlap-2.html:
+        * fast/scrolling/ios/overflow-scroll-overlap-3.html:
+        * fast/scrolling/ios/overflow-scroll-overlap-4.html:
+        * fast/scrolling/ios/overflow-scroll-overlap-5.html:
+        * fast/scrolling/ios/overflow-scroll-overlap.html:
+        * fast/scrolling/ios/overflow-scroll-touch.html:
+        * fast/scrolling/ios/overflow-scrolling-ancestor-clip-size.html:
+        * fast/scrolling/ios/overflow-scrolling-ancestor-clip.html:
+        * fast/scrolling/ios/overflow-scrolling-touch-disabled-stacking.html:
+        * fast/scrolling/ios/overflow-scrolling-touch-enabled-stacking-expected.html:
+        * fast/scrolling/ios/overflow-scrolling-touch-enabled-stacking.html:
+        * fast/scrolling/ios/reconcile-layer-position-recursive.html:
+        * fast/scrolling/ios/remove-overflow-crash.html:
+        * fast/scrolling/ios/scroll-into-view-with-top-content-inset.html:
+        * fast/scrolling/ios/scrollbar-hiding.html:
+        * fast/scrolling/ios/scrolling-content-clip-to-viewport.html:
+        * fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor.html:
+        * fast/scrolling/ios/table-cell-touch-scrolling.html:
+        * fast/scrolling/ios/textarea-scroll-touch.html:
+        * fast/scrolling/ios/touch-scroll-back-forward.html:
+        * fast/scrolling/ios/touch-scroll-pointer-events-none.html:
+        * fast/scrolling/ios/touch-stacking.html:
+        * platform/ios-wk2/TestExpectations:
+        * platform/ios-wk2/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: Added.
+        * platform/ios-wk2/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Added.
+        * platform/ios-wk2/compositing/layer-creation/scroll-partial-update-expected.txt: Added.
+        * platform/ios-wk2/compositing/overflow/content-gains-scrollbars-expected.txt: Added.
+        * platform/ios-wk2/compositing/overflow/overflow-scroll-expected.txt:
+        * platform/ios-wk2/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt: Added.
+        * platform/ios-wk2/compositing/overflow/overflow-scrollbar-layers-expected.txt: Added.
+        * platform/ios-wk2/compositing/overflow/remove-overflow-crash2-expected.txt:
+        * platform/ios-wk2/compositing/overflow/scrollbar-painting-expected.txt:
+        * platform/ios/compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
+        * platform/ios/compositing/layers-inside-overflow-scroll-expected.txt:
+        * platform/ios/compositing/overflow/scroll-ancestor-update-expected.txt:
+        * platform/ios/compositing/reflections/nested-reflection-on-overflow-expected.txt:
+        * platform/ios/compositing/self-painting-layers-expected.txt:
+        * platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position-limit.html:
+        * platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position.html:
+        * platform/ios/fast/scrolling/find-text-in-overflow-node.html:
+        * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html:
+        * platform/mac/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt:
+        * pointerevents/ios/touch-action-none-in-overflow-scrolling-touch.html:
+        * scrollingcoordinator/ios/absolute-layer-should-not-move-with-scroll-expected.html:
+        * scrollingcoordinator/ios/absolute-layer-should-not-move-with-scroll.html:
+        * scrollingcoordinator/ios/relative-layer-should-move-with-scroll-expected.html:
+        * scrollingcoordinator/ios/relative-layer-should-move-with-scroll.html:
+        * scrollingcoordinator/ios/scroll-element-at-point.html:
+        * scrollingcoordinator/scrolling-tree/gain-scrolling-node-parent.html:
+        * scrollingcoordinator/scrolling-tree/lose-scrolling-node-parent.html:
+        * scrollingcoordinator/scrolling-tree/overflow-in-fixed.html:
+        * scrollingcoordinator/scrolling-tree/positioned-nodes-complex.html:
+        * scrollingcoordinator/scrolling-tree/positioned-nodes.html:
+        * scrollingcoordinator/scrolling-tree/remove-scrolling-role.html:
+        * scrollingcoordinator/scrolling-tree/reparent-across-compositing-layers.html:
+        * scrollingcoordinator/scrolling-tree/reparent-with-layer-removal.html:
+        * scrollingcoordinator/scrolling-tree/resources/doc-with-sticky.html:
+        * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html:
+        * tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html:
+
 2019-03-21  Antoine Quint  <graouts@apple.com>
 
         [Web Animations] JS wrapper may be deleted while animation is yet to dispatch its finish event
index e6fc11e..df3594b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
 <style>
@@ -122,4 +122,3 @@ var successfullyParsed = false;
 <script src="../../resources/js-test-post.js"></script>
 </body>
 </html>
-
index 244f504..eb1b15b 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <title>Tests layer tree for radius-clips that do and do not affect the padding box</title>
         if (window.testRunner)
           testRunner.dumpAsText();
 
-        if (window.internals) {
-            internals.settings.setAsyncOverflowScrollingEnabled(true);
+        if (window.internals)
             internals.setUsesOverlayScrollbars(true);
-        }
 
         window.addEventListener('load', () => {
             if (window.testRunner)
index e375d59..a94f778 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <style>
         }
     </style>
     <script>
-        if (window.internals) {
-            internals.settings.setAsyncOverflowScrollingEnabled(true);
+        if (window.internals)
             internals.setUsesOverlayScrollbars(true);
-        }
     </script>
 </head>
 <body>
index 261cd1a..76cc176 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <style>
         }
     </style>
     <script>
-        if (window.internals) {
-            internals.settings.setAsyncOverflowScrollingEnabled(true);
+        if (window.internals)
             internals.setUsesOverlayScrollbars(true);
-        }
     </script>
 </head>
 <body>
index c8d3696..bb8f374 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <style>
             background-color: black;
         }
     </style>
-    <script>
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-    </script>
 </head>
 <body>
 
index d5da437..9b7eea8 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <style>
index eb56d0f..35be248 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <meta name="viewport" content="width=device-width">
index 1298e6b..4026f89 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <meta name="viewport" content="width=device-width">
@@ -28,9 +28,6 @@
         
     </style>
     <script>
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         if (window.testRunner)
             testRunner.dumpAsText();
 
index 477fd02..e9da38d 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <style>
@@ -34,9 +34,6 @@
         if (window.testRunner)
             testRunner.waitUntilDone();
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest()
         {
             setTimeout(() => {
index 99e6204..949dd32 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <style>
@@ -31,9 +31,6 @@
         if (window.testRunner)
             testRunner.waitUntilDone();
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest()
         {
             setTimeout(() => {
index 733e5a3..dd322a3 100644 (file)
@@ -1,4 +1,4 @@
-<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
+<!-- webkit-test-runner [ useThreadedScrolling=false internal:AsyncOverflowScrollingEnabled=true ] -->
 <!DOCTYPE html>
 <html>
 <head>
index 3e494dc..dd8624b 100644 (file)
@@ -1,4 +1,4 @@
-<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
+<!-- webkit-test-runner [ useThreadedScrolling=false internal:AsyncOverflowScrollingEnabled=true ] -->
 <!DOCTYPE html>
 <html>
 <head>
index 8c6d4c2..0f1d296 100644 (file)
@@ -1,4 +1,4 @@
-<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
+<!-- webkit-test-runner [ useThreadedScrolling=false internal:AsyncOverflowScrollingEnabled=true ] -->
 <!DOCTYPE html>
 
 <html>
index 8b13789..485c092 100644 (file)
@@ -1 +1,29 @@
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 8.00)
+          (bounds 300.00 300.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 285.00 285.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 1000.00 1000.00)
+                  (drawsContent 1)
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
 
index 38219fe..e425d79 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index bdf281f..783a308 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index 3f6f44b..ada1854 100644 (file)
@@ -1,4 +1,4 @@
-<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
+<!-- webkit-test-runner [ useThreadedScrolling=false internal:AsyncOverflowScrollingEnabled=true ] -->
 <!DOCTYPE html>
 <html>
 <head>
index 242748d..34c9923 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index 8b13789..485c092 100644 (file)
@@ -1 +1,29 @@
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 8.00)
+          (bounds 300.00 300.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 285.00 285.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 1000.00 1000.00)
+                  (drawsContent 1)
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
 
index f4c0ee3..e038b96 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index 500d253..635e98b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index 2cc9cd0..6e9384b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index 8b13789..7d97811 100644 (file)
@@ -1 +1,39 @@
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 2
+        (GraphicsLayer
+          (bounds 320.00 340.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 305.00 325.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 305.00 1224.00)
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (offsetFromRenderer width=-10 height=-10)
+          (bounds 305.00 325.00)
+          (children 1
+            (GraphicsLayer
+              (position 10.00 10.00)
+              (bounds 284.00 1204.00)
+              (contentsOpaque 1)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
 
index 0f1aa34..bf0e90a 100644 (file)
@@ -1,4 +1,4 @@
-<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
+<!-- webkit-test-runner [ useThreadedScrolling=false internal:AsyncOverflowScrollingEnabled=true ] -->
 <!DOCTYPE html>
 <html>
 <head>
index 490f8f8..48e9c3c 100644 (file)
@@ -1,11 +1,8 @@
-<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ useThreadedScrolling=false internal:AsyncOverflowScrollingEnabled=true ] -->
 <!--
 This test checks that accelerated scrolling layers can be scrolled without
 repainting their contents. See https://bugs.webkit.org/show_bug.cgi?id=96087.
 -->
-
 <html>
 <head>
   <style type="text/css">
index 2a0b654..d927f5a 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <style>
index 5c484c2..ab91eee 100644 (file)
@@ -1,2 +1,60 @@
   
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 2
+        (GraphicsLayer
+          (position 18.00 18.00)
+          (bounds 206.00 126.00)
+          (contentsOpaque 1)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (offsetFromRenderer width=1 height=1)
+              (position 1.00 1.00)
+              (bounds 189.00 124.00)
+              (children 1
+                (GraphicsLayer
+                  (offsetFromRenderer width=1 height=1)
+                  (scrollOffset (0,50))
+                  (position 0.00 -50.00)
+                  (anchor 0.00 0.00)
+                  (bounds 189.00 270.00)
+                  (drawsContent 1)
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (position 248.00 18.00)
+          (bounds 206.00 126.00)
+          (contentsOpaque 1)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (offsetFromRenderer width=1 height=1)
+              (position 1.00 1.00)
+              (bounds 189.00 124.00)
+              (children 1
+                (GraphicsLayer
+                  (offsetFromRenderer width=1 height=1)
+                  (scrollOffset (0,50))
+                  (position 0.00 -50.00)
+                  (anchor 0.00 0.00)
+                  (bounds 189.00 270.00)
+                  (drawsContent 1)
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
 
index 90d5dc4..9858aee 100644 (file)
@@ -1,4 +1,4 @@
-<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
+<!-- webkit-test-runner [ useThreadedScrolling=false internal:AsyncOverflowScrollingEnabled=true ] -->
 <!DOCTYPE html>
 <html>
 <head>
index d77b419..477bb9b 100644 (file)
@@ -1,12 +1,9 @@
-<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ useThreadedScrolling=false internal:AsyncOverflowScrollingEnabled=true ] -->
 <!--
 This test checks that the contents of accelerated scrolling layers are properly
 updated also outside the current overflow clip. See
 https://bugs.webkit.org/show_bug.cgi?id=100524.
 -->
-
 <html>
 <head>
   <style type="text/css">
index ad1cc6a..ae33193 100644 (file)
@@ -6,7 +6,41 @@
     (GraphicsLayer
       (bounds 800.00 600.00)
       (contentsOpaque 1)
-      (children 1
+      (children 4
+        (GraphicsLayer
+          (position 8.00 8.00)
+          (bounds 404.00 223.00)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (offsetFromRenderer width=2 height=2)
+              (position 2.00 2.00)
+              (bounds 400.00 204.00)
+              (children 1
+                (GraphicsLayer
+                  (offsetFromRenderer width=2 height=2)
+                  (scrollOffset (366,0))
+                  (position -366.00 0.00)
+                  (anchor 0.00 0.00)
+                  (bounds 766.00 204.00)
+                  (drawsContent 1)
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (offsetFromRenderer width=-250 height=0)
+          (position 10.00 10.00)
+          (bounds 400.00 204.00)
+          (children 1
+            (GraphicsLayer
+              (position 250.00 0.00)
+              (bounds 150.00 200.00)
+              (contentsOpaque 1)
+            )
+          )
+        )
         (GraphicsLayer
           (offsetFromRenderer width=-96 height=0)
           (position 10.00 10.00)
             )
           )
         )
+        (GraphicsLayer
+          (offsetFromRenderer width=58 height=0)
+          (position 10.00 10.00)
+          (bounds 400.00 204.00)
+          (children 1
+            (GraphicsLayer
+              (position -58.00 0.00)
+              (bounds 150.00 200.00)
+              (contentsOpaque 1)
+            )
+          )
+        )
       )
     )
   )
index 7c0c17c..2c66cde 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index fd04d4b..da02e7a 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index 9470890..a27e663 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <style>
         }
     </style>
     <script>
-        if (window.testRunner) {
+        if (window.testRunner)
             testRunner.dumpAsText();
-            internals.settings.setAsyncOverflowScrollingEnabled(true);            
-        }
 
         window.addEventListener('load', () => {
             if (window.internals)
index 886b3a9..d7111e0 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <meta name="viewport" content="initial-scale=1.0">
index 33209ca..c6037ea 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
     <head>
         <meta name="viewport" content="width=device-width, initial-scale=1">
index 552a46c..6ba6c96 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
     <head>
         <meta name="viewport" content="width=device-width, initial-scale=1">
index f9f4ab3..8f3a653 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
     <head>
         <meta name="viewport" content="width=device-width, initial-scale=1">
index 90d83e8..8367ab8 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
     <head>
         <meta name="viewport" content="width=device-width, initial-scale=1">
index db78328..95c5e8f 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <title>Snap points - nested snap coordinates</title>
index 7af0079..5e849b5 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <style>
index e958a45..28ef1da 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
     <head>
         <style>
index 013fc2d..c136dbc 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <title>Snap points - nested snap coordinates</title>
index 369a5f1..30ca49e 100644 (file)
@@ -1,3 +1,5 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
+<html>
 <head>
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <style>
@@ -50,3 +52,4 @@ container.scrollTop = 400;
 fixed.remove();
 document.write(`container.scrollTop is now: ${container.scrollTop}`);
 </script>
+</html>
\ No newline at end of file
index 82df830..97cf1fc 100644 (file)
@@ -1,5 +1,5 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
-
     <head>
         <style>
             #gallery {
@@ -54,7 +54,6 @@
         }
         </script>
     </head>
-
     <body onload="setup()">
         <div id="gallery">
             <div class="vertical" id="child00"></div>
@@ -65,5 +64,4 @@
             <div class="vertical" id="child05"></div>
         </div>
     </body>
-
 </html>
index 203fe5c..522d4f9 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <head>
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <script src="../../../resources/js-test-pre.js"></script>
index 70ee5ba..172434f 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <head>
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <script src="../../../resources/js-test-pre.js"></script>
index d163d42..9b15c15 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <script src="../../../../resources/js-test-pre.js"></script>
index 075f552..ba48599 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
   <head>
     <title>Change scrollability on content resize (nested)</title>
index f0529a5..1333dde 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
   <head>
     <title>Change scrollability on content resize</title>
index 28a84bb..db3fdfd 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <meta name=viewport content="width=device-width">
 <!-- Expect no red (a blank page) -->
 <div style="
index 0cee2e0..17de8ff 100644 (file)
@@ -1,5 +1,5 @@
-<!DOCTYPE html>
-<html
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
+<html>
   <head>
     <title>position:fixed element inside overflow node inside iframe</title>
     <style>
index fef1ebc..267c2ff 100644 (file)
@@ -1,5 +1,5 @@
-<!DOCTYPE html>
-<html
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
+<html>
   <head>
     <title>position:fixed element inside overflow node inside iframe</title>
     <style>
index 0990781..2a23598 100644 (file)
@@ -1,3 +1,4 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <meta name="viewport" content="initial-scale=1">
index 5ebe5f3..b6bf5cb 100644 (file)
@@ -1,6 +1,9 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
+<html>
 <meta name=viewport content="width=device-width">
 <div style="height: 200px; width: 100px; overflow: scroll; -webkit-overflow-scrolling: touch;">
     <div style="height: 100px; overflow: hidden; position: relative; background-color: green;">
         <div style="margin-top: 100px; height: 100px; background-color: red;"></div>
     </div>
 </div>
+</html>
index b850907..546c39a 100644 (file)
@@ -1,3 +1,5 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
+<html>
 <script>
 if (window.testRunner)
     testRunner.dumpAsText();
@@ -37,3 +39,4 @@ test('test2', '-webkit-overflow-scrolling');
 test('test3', '-webkit-overflow-scrolling');
 test('test4', '-webkit-overflow-scrolling');
 </script>
+</html>
index ab70de3..02bc796 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
 <meta name="viewport" content="width=device-width, initial-scale=1">
index 9a4ef8b..e0e84c9 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
 <meta name="viewport" content="width=device-width, initial-scale=1">
index 1602c30..6e9b70a 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
 <meta name="viewport" content="width=device-width, initial-scale=1">
index f13f9d3..60c6e0e 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
 <meta name="viewport" content="width=device-width, initial-scale=1">
index fa7b83f..6c28526 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
 <meta name="viewport" content="width=device-width, initial-scale=1">
index 6707deb..66f8c9b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index 6d80fa1..8dfaf90 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <meta name="viewport" content="width=device-width">
index e6dacb0..466beb4 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <meta name="viewport" content="width=device-width">
index 25acec7..2454847 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
   <head>
     <title>Reconcile layer position recursive</title>
index f89f42e..e38d284 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index fd77ef6..7e9b130 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true, contentInset.top=100 ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true contentInset.top=100 ] -->
 <html>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <head>
index 09e8d45..ed0a438 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style type="text/css" media="screen">
index 8472e8f..5394842 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <meta name="viewport" content="width=device-width">
index 6ff3954..131d686 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <meta name="viewport" content="width=device-width">
index 091c2ee..808d35e 100644 (file)
@@ -1,3 +1,5 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
+<html>
 <script>
   if (window.testRunner)
     testRunner.dumpAsText();
@@ -9,3 +11,4 @@
         </td>
     </tr>
 </table>
+</html>
\ No newline at end of file
index 76be32e..b1c5d65 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <style>
index cf84d37..1fbc080 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
   <script src="../../../resources/js-test-pre.js"></script>
index 331b3aa..a47f69c 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html>
-
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <meta name="viewport" content="initial-scale=1.0">
index 807b00d..05e30b1 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
-
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <meta name="viewport" content="width=device-width">
index c7aff13..92e68d8 100644 (file)
@@ -1310,5 +1310,9 @@ webkit.org/b/194826 [ Debug ] http/tests/resourceLoadStatistics/do-not-block-top
 webkit.org/b/194253 [ Debug ] scrollingcoordinator/scrolling-tree/fixed-inside-frame.html [ Pass Failure ]
 
 webkit.org/b/195341 fast/viewport/ios/device-width-viewport-after-changing-view-scale.html [ Pass Failure ]
-
 webkit.org/b/195341 compositing/ios/overflow-scroll-update-overlap.html [ ImageOnlyFailure ]
+
+webkit.org/b/196013 compositing/rtl/rtl-overflow-scrolling.html [ Failure ]
+webkit.org/b/196013 fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2.html [ ImageOnlyFailure ]
+webkit.org/b/196013 fast/scrolling/rtl-scrollbars-sticky-overflow-scroll.html [ ImageOnlyFailure ]
+webkit.org/b/196013 fast/scrolling/rubber-band-shows-background.html [ ImageOnlyFailure ]
diff --git a/LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt b/LayoutTests/platform/ios-wk2/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt
new file mode 100644 (file)
index 0000000..8e5a7a7
--- /dev/null
@@ -0,0 +1,44 @@
+middle
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 3
+        (GraphicsLayer
+          (position 129.00 29.00)
+          (bounds 100.00 100.00)
+        )
+        (GraphicsLayer
+          (position 129.00 29.00)
+          (bounds 200.00 100.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
+          (position 8.00 8.00)
+          (bounds 242.00 162.00)
+          (drawsContent 1)
+          (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [100.00 0.00 0.00 1.00])
+          (children 1
+            (GraphicsLayer
+              (offsetFromRenderer width=1 height=1)
+              (position 1.00 1.00)
+              (bounds 240.00 160.00)
+              (children 1
+                (GraphicsLayer
+                  (offsetFromRenderer width=1 height=1)
+                  (anchor 0.00 0.00)
+                  (bounds 1070.00 160.00)
+                  (drawsContent 1)
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/ios-wk2/compositing/layer-creation/overflow-scroll-overlap-expected.txt b/LayoutTests/platform/ios-wk2/compositing/layer-creation/overflow-scroll-overlap-expected.txt
new file mode 100644 (file)
index 0000000..6992344
--- /dev/null
@@ -0,0 +1,50 @@
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 3
+        (GraphicsLayer
+          (position 8.00 8.00)
+          (bounds 30.00 30.00)
+        )
+        (GraphicsLayer
+          (position 20.00 20.00)
+          (bounds 306.00 206.00)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (offsetFromRenderer width=3 height=3)
+              (position 3.00 3.00)
+              (bounds origin 0.00 165.00)
+              (bounds 300.00 200.00)
+              (children 1
+                (GraphicsLayer
+                  (offsetFromRenderer width=3 height=3)
+                  (scrollOffset (0,165))
+                  (anchor 0.00 0.00)
+                  (bounds 300.00 365.00)
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (offsetFromRenderer width=-20 height=-45)
+          (position 23.00 23.00)
+          (bounds 300.00 200.00)
+          (children 1
+            (GraphicsLayer
+              (position 20.00 45.00)
+              (bounds 210.00 100.00)
+              (contentsOpaque 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/ios-wk2/compositing/layer-creation/scroll-partial-update-expected.txt b/LayoutTests/platform/ios-wk2/compositing/layer-creation/scroll-partial-update-expected.txt
new file mode 100644 (file)
index 0000000..c8a8c6e
--- /dev/null
@@ -0,0 +1,49 @@
+scroll me
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 3
+        (GraphicsLayer
+          (position 8.00 8.00)
+          (bounds 20.00 20.00)
+        )
+        (GraphicsLayer
+          (position 10.00 10.00)
+          (bounds 400.00 100.00)
+        )
+        (GraphicsLayer
+          (position 200.00 8.00)
+          (bounds 204.00 204.00)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (position 2.00 2.00)
+              (bounds 200.00 200.00)
+              (contentsOpaque 1)
+              (drawsContent 1)
+              (children 1
+                (GraphicsLayer
+                  (bounds origin 0.00 50.00)
+                  (bounds 200.00 200.00)
+                  (children 1
+                    (GraphicsLayer
+                      (scrollOffset (0,50))
+                      (anchor 0.00 0.00)
+                      (bounds 200.00 400.00)
+                      (drawsContent 1)
+                    )
+                  )
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/ios-wk2/compositing/overflow/content-gains-scrollbars-expected.txt b/LayoutTests/platform/ios-wk2/compositing/overflow/content-gains-scrollbars-expected.txt
new file mode 100644 (file)
index 0000000..8bdde7c
--- /dev/null
@@ -0,0 +1,87 @@
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 4
+        (GraphicsLayer
+          (position 8.00 13.00)
+          (bounds 100.00 100.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 100.00 100.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 100.00 200.00)
+                  (children 1
+                    (GraphicsLayer
+                      (bounds 10.00 200.00)
+                    )
+                  )
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (position 8.00 13.00)
+          (bounds 100.00 100.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 100.00 100.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 200.00 100.00)
+                  (children 1
+                    (GraphicsLayer
+                      (bounds 200.00 10.00)
+                    )
+                  )
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (position 8.00 13.00)
+          (bounds 100.00 100.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 100.00 100.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 200.00 200.00)
+                  (children 1
+                    (GraphicsLayer
+                      (bounds 200.00 200.00)
+                    )
+                  )
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (position 8.00 13.00)
+          (bounds 100.00 100.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 100.00 100.00)
+              (children 1
+                (GraphicsLayer
+                  (bounds 10.00 10.00)
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
index a94f471..2784449 100644 (file)
@@ -32,95 +32,95 @@ layer at (0,0) size 800x591
         RenderText {#text} at (524,511) size 4x19
           text run at (524,511) width 4: " "
         RenderText {#text} at (0,0) size 0x0
-layer at (18,62) size 152x152 clip at (19,63) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (18,62) size 152x152 clip at (19,63) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock {DIV} at (10,10) size 152x152 [border: (1px solid #000000)]
-layer at (194,62) size 152x152 clip at (195,63) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (194,62) size 152x152 clip at (195,63) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock {DIV} at (186,10) size 152x152 [border: (1px solid #000000)]
-layer at (19,13) size 210x510 backgroundClip at (19,63) size 135x135 clip at (19,63) size 135x135
+layer at (19,13) size 210x510 backgroundClip at (19,63) size 150x150 clip at (19,63) size 150x150
   RenderBlock {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
         text run at (0,1) width 192: "This is the inner div"
         text run at (0,31) width 111: "that scrolls."
-layer at (195,13) size 210x510 backgroundClip at (195,63) size 135x135 clip at (195,63) size 135x135
+layer at (195,13) size 210x510 backgroundClip at (195,63) size 150x150 clip at (195,63) size 150x150
   RenderBlock (relative positioned) {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
         text run at (0,1) width 192: "This is the inner div"
         text run at (0,31) width 111: "that scrolls."
-layer at (370,62) size 152x152 clip at (371,63) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (370,62) size 152x152 clip at (371,63) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock (relative positioned) {DIV} at (362,10) size 152x152 [border: (1px solid #000000)]
-layer at (371,13) size 210x510 backgroundClip at (371,63) size 135x135 clip at (371,63) size 135x135
+layer at (371,13) size 210x510 backgroundClip at (371,63) size 150x150 clip at (371,63) size 150x150
   RenderBlock {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
         text run at (0,1) width 192: "This is the inner div"
         text run at (0,31) width 111: "that scrolls."
-layer at (546,62) size 152x152 clip at (547,63) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (546,62) size 152x152 clip at (547,63) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock (relative positioned) {DIV} at (538,10) size 152x152 [border: (1px solid #000000)]
-layer at (547,13) size 210x510 backgroundClip at (547,63) size 135x135 clip at (547,63) size 135x135
+layer at (547,13) size 210x510 backgroundClip at (547,63) size 150x150 clip at (547,63) size 150x150
   RenderBlock (relative positioned) {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
         text run at (0,1) width 192: "This is the inner div"
         text run at (0,31) width 111: "that scrolls."
-layer at (18,239) size 152x152 clip at (19,240) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (18,239) size 152x152 clip at (19,240) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock {DIV} at (10,187) size 152x152 [border: (1px solid #000000)]
     RenderBlock {DIV} at (1,1) size 210x510 [bgcolor=#808080]
       RenderBlock {P} at (5,29) size 200x60
         RenderText {#text} at (0,1) size 192x58
           text run at (0,1) width 192: "This is the inner div"
           text run at (0,31) width 111: "that scrolls."
-layer at (194,239) size 152x152 clip at (195,240) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (194,239) size 152x152 clip at (195,240) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock {DIV} at (186,187) size 152x152 [border: (1px solid #000000)]
-layer at (195,190) size 210x510 backgroundClip at (195,240) size 135x135 clip at (195,240) size 135x135
+layer at (195,190) size 210x510 backgroundClip at (195,240) size 150x150 clip at (195,240) size 150x150
   RenderBlock (relative positioned) {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
         text run at (0,1) width 192: "This is the inner div"
         text run at (0,31) width 111: "that scrolls."
-layer at (370,239) size 152x152 clip at (371,240) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (370,239) size 152x152 clip at (371,240) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock {DIV} at (362,187) size 152x152 [border: (1px solid #000000)]
-layer at (371,190) size 210x510 backgroundClip at (371,240) size 135x135 clip at (371,240) size 135x135
+layer at (371,190) size 210x510 backgroundClip at (371,240) size 150x150 clip at (371,240) size 150x150
   RenderBlock {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
         text run at (0,1) width 192: "This is the inner div"
         text run at (0,31) width 111: "that scrolls."
-layer at (546,239) size 152x152 clip at (547,240) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (546,239) size 152x152 clip at (547,240) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock {DIV} at (538,187) size 152x152 [border: (1px solid #000000)]
-layer at (547,190) size 210x510 backgroundClip at (547,240) size 135x135 clip at (547,240) size 135x135
+layer at (547,190) size 210x510 backgroundClip at (547,240) size 150x150 clip at (547,240) size 150x150
   RenderBlock (relative positioned) {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
         text run at (0,1) width 192: "This is the inner div"
         text run at (0,31) width 111: "that scrolls."
-layer at (18,416) size 152x152 clip at (19,417) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (18,416) size 152x152 clip at (19,417) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock (relative positioned) {DIV} at (10,364) size 152x152 [border: (1px solid #000000)]
     RenderBlock {DIV} at (1,1) size 210x510 [bgcolor=#808080]
       RenderBlock {P} at (5,29) size 200x60
         RenderText {#text} at (0,1) size 192x58
           text run at (0,1) width 192: "This is the inner div"
           text run at (0,31) width 111: "that scrolls."
-layer at (194,416) size 152x152 clip at (195,417) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (194,416) size 152x152 clip at (195,417) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock (relative positioned) {DIV} at (186,364) size 152x152 [border: (1px solid #000000)]
-layer at (195,367) size 210x510 backgroundClip at (195,417) size 135x135 clip at (195,417) size 135x135
+layer at (195,367) size 210x510 backgroundClip at (195,417) size 150x150 clip at (195,417) size 150x150
   RenderBlock (relative positioned) {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
         text run at (0,1) width 192: "This is the inner div"
         text run at (0,31) width 111: "that scrolls."
-layer at (370,416) size 152x152 clip at (371,417) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (370,416) size 152x152 clip at (371,417) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock (relative positioned) {DIV} at (362,364) size 152x152 [border: (1px solid #000000)]
-layer at (371,367) size 210x510 backgroundClip at (371,417) size 135x135 clip at (371,417) size 135x135
+layer at (371,367) size 210x510 backgroundClip at (371,417) size 150x150 clip at (371,417) size 150x150
   RenderBlock {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
         text run at (0,1) width 192: "This is the inner div"
         text run at (0,31) width 111: "that scrolls."
-layer at (546,416) size 152x152 clip at (547,417) size 135x135 scrollY 50 scrollWidth 210 scrollHeight 510
+layer at (546,416) size 152x152 clip at (547,417) size 150x150 scrollY 50 scrollWidth 210 scrollHeight 510
   RenderBlock (relative positioned) {DIV} at (538,364) size 152x152 [border: (1px solid #000000)]
-layer at (547,367) size 210x510 backgroundClip at (547,417) size 135x135 clip at (547,417) size 135x135
+layer at (547,367) size 210x510 backgroundClip at (547,417) size 150x150 clip at (547,417) size 150x150
   RenderBlock (relative positioned) {DIV} at (1,1) size 210x510 [bgcolor=#808080]
     RenderBlock {P} at (5,29) size 200x60
       RenderText {#text} at (0,1) size 192x58
diff --git a/LayoutTests/platform/ios-wk2/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt b/LayoutTests/platform/ios-wk2/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt
new file mode 100644 (file)
index 0000000..c8e3bcb
--- /dev/null
@@ -0,0 +1,41 @@
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 1
+        (GraphicsLayer
+          (offsetFromRenderer width=-21 height=-21)
+          (position 2.00 -6.00)
+          (bounds 244.00 244.00)
+          (drawsContent 1)
+          (children 2
+            (GraphicsLayer
+              (offsetFromRenderer width=1 height=1)
+              (position 22.00 22.00)
+              (bounds 200.00 200.00)
+              (children 1
+                (GraphicsLayer
+                  (offsetFromRenderer width=1 height=1)
+                  (anchor 0.00 0.00)
+                  (bounds 200.00 1536.00)
+                  (usingTiledLayer 1)
+                  (drawsContent 1)
+                )
+              )
+            )
+            (GraphicsLayer
+              (position 207.00 22.00)
+              (bounds 15.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/ios-wk2/compositing/overflow/overflow-scrollbar-layers-expected.txt b/LayoutTests/platform/ios-wk2/compositing/overflow/overflow-scrollbar-layers-expected.txt
new file mode 100644 (file)
index 0000000..8bdde7c
--- /dev/null
@@ -0,0 +1,87 @@
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 4
+        (GraphicsLayer
+          (position 8.00 13.00)
+          (bounds 100.00 100.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 100.00 100.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 100.00 200.00)
+                  (children 1
+                    (GraphicsLayer
+                      (bounds 10.00 200.00)
+                    )
+                  )
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (position 8.00 13.00)
+          (bounds 100.00 100.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 100.00 100.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 200.00 100.00)
+                  (children 1
+                    (GraphicsLayer
+                      (bounds 200.00 10.00)
+                    )
+                  )
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (position 8.00 13.00)
+          (bounds 100.00 100.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 100.00 100.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 200.00 200.00)
+                  (children 1
+                    (GraphicsLayer
+                      (bounds 200.00 200.00)
+                    )
+                  )
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (position 8.00 13.00)
+          (bounds 100.00 100.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 100.00 100.00)
+              (children 1
+                (GraphicsLayer
+                  (bounds 10.00 10.00)
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
index 11c78e9..6dd4c88 100644 (file)
@@ -3,90 +3,74 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x218
   RenderBlock {HTML} at (0,0) size 800x218
     RenderBody {BODY} at (8,8) size 784x202
-layer at (8,8) size 103x202 clip at (9,9) size 86x185 scrollHeight 1680
+layer at (8,8) size 103x202 clip at (9,9) size 101x200 scrollHeight 1360
   RenderBlock {DIV} at (0,0) size 103x202 [border: (1px solid #000000)]
-    RenderText {#text} at (1,1) size 86x1679
+    RenderText {#text} at (1,1) size 101x1359
       text run at (1,1) width 86: "Lorem ipsum"
-      text run at (1,21) width 53: "dolor sit"
-      text run at (1,41) width 36: "amet,"
-      text run at (1,61) width 73: "consectetur"
-      text run at (1,81) width 71: "adipisicing"
-      text run at (1,101) width 70: "elit, sed do"
-      text run at (1,121) width 55: "eiusmod"
-      text run at (1,141) width 46: "tempor"
-      text run at (1,161) width 82: "incididunt ut"
-      text run at (1,181) width 56: "labore et"
-      text run at (1,201) width 41: "dolore"
-      text run at (1,221) width 43: "magna"
-      text run at (1,241) width 64: "aliqua. Ut"
-      text run at (1,261) width 52: "enim ad"
-      text run at (1,281) width 42: "minim"
-      text run at (1,301) width 82: "veniam, quis"
-      text run at (1,321) width 48: "nostrud"
-      text run at (1,341) width 76: "exercitation"
-      text run at (1,361) width 52: "ullamco"
-      text run at (1,381) width 71: "laboris nisi"
-      text run at (1,401) width 80: "ut aliquip ex"
-      text run at (1,421) width 83: "ea commodo"
-      text run at (1,441) width 68: "consequat."
-      text run at (1,461) width 61: "Duis aute"
-      text run at (1,481) width 85: "irure dolor in"
-      text run at (1,501) width 86: "reprehenderit"
-      text run at (1,521) width 76: "in voluptate"
-      text run at (1,541) width 60: "velit esse"
-      text run at (1,561) width 86: "cillum dolore"
-      text run at (1,581) width 57: "eu fugiat"
-      text run at (1,601) width 32: "nulla"
-      text run at (1,621) width 53: "pariatur."
-      text run at (1,641) width 65: "Excepteur"
-      text run at (1,661) width 83: "sint occaecat"
-      text run at (1,681) width 59: "cupidatat"
-      text run at (1,701) width 86: "non proident,"
-      text run at (1,721) width 82: "sunt in culpa"
-      text run at (1,741) width 66: "qui officia"
-      text run at (1,761) width 55: "deserunt"
-      text run at (1,781) width 75: "mollit anim"
-      text run at (1,801) width 35: "id est"
-      text run at (1,821) width 58: "laborum."
-      text run at (1,841) width 86: "Lorem ipsum"
-      text run at (1,861) width 53: "dolor sit"
-      text run at (1,881) width 36: "amet,"
-      text run at (1,901) width 73: "consectetur"
-      text run at (1,921) width 71: "adipisicing"
-      text run at (1,941) width 70: "elit, sed do"
-      text run at (1,961) width 55: "eiusmod"
-      text run at (1,981) width 46: "tempor"
-      text run at (1,1001) width 82: "incididunt ut"
-      text run at (1,1021) width 56: "labore et"
-      text run at (1,1041) width 41: "dolore"
-      text run at (1,1061) width 43: "magna"
-      text run at (1,1081) width 64: "aliqua. Ut"
-      text run at (1,1101) width 52: "enim ad"
-      text run at (1,1121) width 42: "minim"
-      text run at (1,1141) width 82: "veniam, quis"
-      text run at (1,1161) width 48: "nostrud"
-      text run at (1,1181) width 76: "exercitation"
-      text run at (1,1201) width 52: "ullamco"
-      text run at (1,1221) width 71: "laboris nisi"
-      text run at (1,1241) width 80: "ut aliquip ex"
-      text run at (1,1261) width 83: "ea commodo"
-      text run at (1,1281) width 68: "consequat."
-      text run at (1,1301) width 61: "Duis aute"
-      text run at (1,1321) width 85: "irure dolor in"
-      text run at (1,1341) width 86: "reprehenderit"
-      text run at (1,1361) width 76: "in voluptate"
-      text run at (1,1381) width 60: "velit esse"
-      text run at (1,1401) width 86: "cillum dolore"
-      text run at (1,1421) width 57: "eu fugiat"
-      text run at (1,1441) width 32: "nulla"
-      text run at (1,1461) width 53: "pariatur."
-      text run at (1,1481) width 65: "Excepteur"
-      text run at (1,1501) width 83: "sint occaecat"
-      text run at (1,1521) width 59: "cupidatat"
-      text run at (1,1541) width 86: "non proident,"
-      text run at (1,1561) width 82: "sunt in culpa"
-      text run at (1,1581) width 66: "qui officia"
-      text run at (1,1601) width 55: "deserunt"
-      text run at (1,1621) width 75: "mollit anim"
-      text run at (1,1641) width 35: "id est"
-      text run at (1,1661) width 58: "laborum."
+      text run at (1,21) width 92: "dolor sit amet,"
+      text run at (1,41) width 73: "consectetur"
+      text run at (1,61) width 99: "adipisicing elit,"
+      text run at (1,81) width 100: "sed do eiusmod"
+      text run at (1,101) width 46: "tempor"
+      text run at (1,121) width 82: "incididunt ut"
+      text run at (1,141) width 101: "labore et dolore"
+      text run at (1,161) width 90: "magna aliqua."
+      text run at (1,181) width 72: "Ut enim ad"
+      text run at (1,201) width 97: "minim veniam,"
+      text run at (1,221) width 79: "quis nostrud"
+      text run at (1,241) width 76: "exercitation"
+      text run at (1,261) width 100: "ullamco laboris"
+      text run at (1,281) width 88: "nisi ut aliquip"
+      text run at (1,301) width 34: "ex ea"
+      text run at (1,321) width 64: "commodo"
+      text run at (1,341) width 68: "consequat."
+      text run at (1,361) width 96: "Duis aute irure"
+      text run at (1,381) width 51: "dolor in"
+      text run at (1,401) width 86: "reprehenderit"
+      text run at (1,421) width 76: "in voluptate"
+      text run at (1,441) width 60: "velit esse"
+      text run at (1,461) width 86: "cillum dolore"
+      text run at (1,481) width 93: "eu fugiat nulla"
+      text run at (1,501) width 53: "pariatur."
+      text run at (1,521) width 92: "Excepteur sint"
+      text run at (1,541) width 56: "occaecat"
+      text run at (1,561) width 87: "cupidatat non"
+      text run at (1,581) width 88: "proident, sunt"
+      text run at (1,601) width 76: "in culpa qui"
+      text run at (1,621) width 100: "officia deserunt"
+      text run at (1,641) width 91: "mollit anim id"
+      text run at (1,661) width 80: "est laborum."
+      text run at (1,681) width 86: "Lorem ipsum"
+      text run at (1,701) width 92: "dolor sit amet,"
+      text run at (1,721) width 73: "consectetur"
+      text run at (1,741) width 99: "adipisicing elit,"
+      text run at (1,761) width 100: "sed do eiusmod"
+      text run at (1,781) width 46: "tempor"
+      text run at (1,801) width 82: "incididunt ut"
+      text run at (1,821) width 101: "labore et dolore"
+      text run at (1,841) width 90: "magna aliqua."
+      text run at (1,861) width 72: "Ut enim ad"
+      text run at (1,881) width 97: "minim veniam,"
+      text run at (1,901) width 79: "quis nostrud"
+      text run at (1,921) width 76: "exercitation"
+      text run at (1,941) width 100: "ullamco laboris"
+      text run at (1,961) width 88: "nisi ut aliquip"
+      text run at (1,981) width 34: "ex ea"
+      text run at (1,1001) width 64: "commodo"
+      text run at (1,1021) width 68: "consequat."
+      text run at (1,1041) width 96: "Duis aute irure"
+      text run at (1,1061) width 51: "dolor in"
+      text run at (1,1081) width 86: "reprehenderit"
+      text run at (1,1101) width 76: "in voluptate"
+      text run at (1,1121) width 60: "velit esse"
+      text run at (1,1141) width 86: "cillum dolore"
+      text run at (1,1161) width 93: "eu fugiat nulla"
+      text run at (1,1181) width 53: "pariatur."
+      text run at (1,1201) width 92: "Excepteur sint"
+      text run at (1,1221) width 56: "occaecat"
+      text run at (1,1241) width 87: "cupidatat non"
+      text run at (1,1261) width 88: "proident, sunt"
+      text run at (1,1281) width 76: "in culpa qui"
+      text run at (1,1301) width 100: "officia deserunt"
+      text run at (1,1321) width 91: "mollit anim id"
+      text run at (1,1341) width 80: "est laborum."
index 35af422..86ed876 100644 (file)
@@ -6,9 +6,9 @@ layer at (0,0) size 800x272
       RenderBlock {P} at (0,0) size 784x20
         RenderText {#text} at (0,0) size 484x19
           text run at (0,0) width 484: "You should see scrollbars on the gray square, and a resizer control below it."
-layer at (18,52) size 100x100 clip at (18,52) size 85x85 scrollWidth 500 scrollHeight 500
+layer at (18,52) size 100x100 scrollWidth 500 scrollHeight 500
   RenderBlock (relative positioned) {DIV} at (10,36) size 100x100
-layer at (18,52) size 500x500 backgroundClip at (18,52) size 85x85 clip at (18,52) size 85x85
+layer at (18,52) size 500x500 backgroundClip at (18,52) size 100x100 clip at (18,52) size 100x100
   RenderBlock {DIV} at (0,0) size 500x500 [bgcolor=#808080]
 layer at (18,162) size 100x100
   RenderBlock {DIV} at (10,146) size 100x100
index 8c4d7a8..eb6ce04 100644 (file)
@@ -11,7 +11,7 @@ middlebottom
     (GraphicsLayer
       (bounds 800.00 2618.00)
       (contentsOpaque 1)
-      (children 6
+      (children 7
         (GraphicsLayer
           (position 21.00 21.00)
           (bounds 100.00 100.00)
@@ -48,13 +48,35 @@ middlebottom
           )
         )
         (GraphicsLayer
+          (position 18.00 240.00)
+          (bounds 220.00 220.00)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (offsetFromRenderer width=10 height=10)
+              (position 10.00 10.00)
+              (bounds origin 0.00 100.00)
+              (bounds 200.00 200.00)
+              (children 1
+                (GraphicsLayer
+                  (offsetFromRenderer width=10 height=10)
+                  (scrollOffset (0,100))
+                  (anchor 0.00 0.00)
+                  (bounds 200.00 2210.00)
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
           (offsetFromRenderer width=0 height=100)
           (position 28.00 250.00)
-          (bounds 185.00 200.00)
+          (bounds 200.00 200.00)
           (children 1
             (GraphicsLayer
-              (offsetFromRenderer width=0 height=100)
-              (bounds 110.00 200.00)
+              (position 0.00 -100.00)
+              (bounds 110.00 2210.00)
+              (usingTiledLayer 1)
               (contentsOpaque 1)
               (drawsContent 1)
             )
@@ -63,7 +85,7 @@ middlebottom
         (GraphicsLayer
           (offsetFromRenderer width=-5 height=-145)
           (position 28.00 250.00)
-          (bounds 185.00 200.00)
+          (bounds 200.00 200.00)
           (children 1
             (GraphicsLayer
               (offsetFromRenderer width=0 height=-1)
index bc034e3..77a205e 100644 (file)
@@ -10,6 +10,6 @@ layer at (0,0) size 800x431
         RenderText {#text} at (0,0) size 0x0
 layer at (19,53) size 300x200
   RenderVideo {VIDEO} at (1,1) size 300x200
-layer at (18,269) size 302x152 clip at (19,270) size 285x150 scrollY 100 scrollHeight 500
+layer at (18,269) size 302x152 clip at (19,270) size 300x150 scrollY 100 scrollHeight 500
   RenderBlock {DIV} at (10,253) size 302x152 [border: (1px solid #000000)]
-    RenderBlock {DIV} at (1,1) size 285x500
+    RenderBlock {DIV} at (1,1) size 300x500
index b47adde..a654b9c 100644 (file)
@@ -15,8 +15,8 @@ layer at (50,50) size 200x200
         text run at (0,0) width 193: "The green box should obscure"
         text run at (0,20) width 182: "the red box, and move when"
         text run at (0,40) width 144: "you drag the scrollbar."
-layer at (50,50) size 202x202 clip at (51,51) size 185x200 scrollY 50 scrollHeight 550
+layer at (50,50) size 202x202 clip at (51,51) size 200x200 scrollY 50 scrollHeight 550
   RenderBlock {DIV} at (0,0) size 202x202 [border: (1px solid #000000)]
-    RenderBlock {DIV} at (1,51) size 185x500
+    RenderBlock {DIV} at (1,51) size 200x500
 layer at (51,51) size 100x100
   RenderBlock (relative positioned) {DIV} at (0,0) size 100x100 [bgcolor=#008000]
index b1c2dbf..3e7c8d4 100644 (file)
@@ -10,31 +10,27 @@ layer at (28,56) size 122x232
   RenderBlock {DIV} at (20,40) size 122x232 [border: (1px solid #000000)]
 layer at (39,67) size 100x100
   RenderBlock {DIV} at (11,11) size 100x100 [bgcolor=#008000]
-layer at (39,67) size 100x100 clip at (39,67) size 85x85 scrollHeight 500
+layer at (39,67) size 100x100 scrollHeight 500
   RenderBlock (relative positioned) {DIV} at (0,0) size 100x100
-layer at (39,67) size 85x500 backgroundClip at (39,67) size 85x85 clip at (39,67) size 85x85
-  RenderBlock {DIV} at (0,0) size 85x500
-    RenderText {#text} at (0,0) size 83x459
-      text run at (0,0) width 43: "Lorem"
-      text run at (0,20) width 77: "ipsum dolor"
-      text run at (0,40) width 55: "sit amet,"
-      text run at (0,60) width 73: "consectetur"
-      text run at (0,80) width 71: "adipisicing"
-      text run at (0,100) width 70: "elit, sed do"
-      text run at (0,120) width 55: "eiusmod"
-      text run at (0,140) width 46: "tempor"
-      text run at (0,160) width 82: "incididunt ut"
-      text run at (0,180) width 56: "labore et"
-      text run at (0,200) width 41: "dolore"
-      text run at (0,220) width 43: "magna"
-      text run at (0,240) width 64: "aliqua. Ut"
-      text run at (0,260) width 52: "enim ad"
-      text run at (0,280) width 42: "minim"
-      text run at (0,300) width 82: "veniam, quis"
-      text run at (0,320) width 48: "nostrud"
-      text run at (0,340) width 76: "exercitation"
-      text run at (0,360) width 52: "ullamco"
-      text run at (0,380) width 71: "laboris nisi"
-      text run at (0,400) width 80: "ut aliquip ex"
-      text run at (0,420) width 83: "ea commodo"
-      text run at (0,440) width 68: "consequat."
+layer at (39,67) size 100x500 backgroundClip at (39,67) size 100x100 clip at (39,67) size 100x100
+  RenderBlock {DIV} at (0,0) size 100x500
+    RenderText {#text} at (0,0) size 100x379
+      text run at (0,0) width 86: "Lorem ipsum"
+      text run at (0,20) width 92: "dolor sit amet,"
+      text run at (0,40) width 73: "consectetur"
+      text run at (0,60) width 99: "adipisicing elit,"
+      text run at (0,80) width 100: "sed do eiusmod"
+      text run at (0,100) width 46: "tempor"
+      text run at (0,120) width 82: "incididunt ut"
+      text run at (0,140) width 56: "labore et"
+      text run at (0,160) width 88: "dolore magna"
+      text run at (0,180) width 100: "aliqua. Ut enim"
+      text run at (0,200) width 61: "ad minim"
+      text run at (0,220) width 82: "veniam, quis"
+      text run at (0,240) width 48: "nostrud"
+      text run at (0,260) width 76: "exercitation"
+      text run at (0,280) width 100: "ullamco laboris"
+      text run at (0,300) width 88: "nisi ut aliquip"
+      text run at (0,320) width 34: "ex ea"
+      text run at (0,340) width 64: "commodo"
+      text run at (0,360) width 68: "consequat."
index aff18f3..7b47680 100644 (file)
@@ -10,9 +10,9 @@ layer at (0,0) size 800x431
         RenderText {#text} at (0,0) size 0x0
 layer at (19,53) size 300x200
   RenderVideo {VIDEO} at (1,1) size 300x200
-layer at (18,269) size 302x152 clip at (19,270) size 285x150 scrollY 24 scrollHeight 500
+layer at (18,269) size 302x152 clip at (19,270) size 300x150 scrollY 24 scrollHeight 500
   RenderBlock {DIV} at (10,253) size 302x152 [border: (1px solid #000000)]
-    RenderBlock {DIV} at (1,1) size 285x500
+    RenderBlock {DIV} at (1,1) size 300x500
       RenderText {#text} at (0,6) size 107x36
         text run at (0,6) width 107: "Scrolled"
       RenderBR {BR} at (106,6) size 1x36
index 9fa789c..4db556a 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
   <head>
     <title>Find text in overflow node</title>
index 7b82fe4..14b86bf 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
 <meta name="viewport" content="width=device-width" />
index 8b13789..485c092 100644 (file)
@@ -1 +1,29 @@
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 8.00)
+          (bounds 300.00 300.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 285.00 285.00)
+              (children 1
+                (GraphicsLayer
+                  (anchor 0.00 0.00)
+                  (bounds 1000.00 1000.00)
+                  (drawsContent 1)
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
 
index 9e9614f..567551b 100644 (file)
@@ -1,7 +1,6 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
-<meta charset=utf-8>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <style>
 
index 227df9b..f8fc187 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <meta name="viewport" content="initial-scale=1.0">
@@ -34,9 +34,6 @@
         if (window.testRunner)
             testRunner.waitUntilDone();
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         async function doTest()
         {
             await UIHelper.ensurePresentationUpdate(); // Not sure why this is necessary, but it is.
index f26c757..857a555 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <meta name="viewport" content="initial-scale=1.0">
@@ -33,9 +33,6 @@
         if (window.testRunner)
             testRunner.waitUntilDone();
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function getUnstableScrollScript(x, y, scrollX, scrollY)
         {
             return `(function() {
index 4798df1..04c0d40 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <meta name="viewport" content="initial-scale=1.0">
@@ -29,9 +29,6 @@
         if (window.testRunner)
             testRunner.waitUntilDone();
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         async function doTest()
         {
             await UIHelper.ensurePresentationUpdate(); // Not sure why this is necessary, but it is.
index 420466d..dff076e 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <meta name="viewport" content="initial-scale=1.0">
@@ -28,9 +28,6 @@
         if (window.testRunner)
             testRunner.waitUntilDone();
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function getUnstableScrollScript(x, y, scrollX, scrollY)
         {
             return `(function() {
index fd2a7bd..b97192a 100644 (file)
@@ -1,5 +1,4 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
-
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <!--Trigger some scaling -->
index 16bed94..dc4d80d 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <title>Check that scrolling nodes get reparented when an ancestor is removed</title>
@@ -8,9 +8,6 @@
             testRunner.waitUntilDone();
         }
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest() {
             requestAnimationFrame(() => {
                 document.getElementById('target').classList.add('changed');
index 16bed94..dc4d80d 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <title>Check that scrolling nodes get reparented when an ancestor is removed</title>
@@ -8,9 +8,6 @@
             testRunner.waitUntilDone();
         }
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest() {
             requestAnimationFrame(() => {
                 document.getElementById('target').classList.add('changed');
index dc54c5e..f9bcb66 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <title>
@@ -8,9 +8,6 @@
         if (window.testRunner)
             testRunner.dumpAsText();
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest() {
             if (window.internals)
                 document.getElementById('scrollingTree').innerText = window.internals.scrollingStateTreeAsText() + "\n";
index 06e63fa..afca83c 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
     <head>
         <title>
@@ -62,9 +62,6 @@
         if (window.testRunner)
             testRunner.dumpAsText();
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest() {
             if (window.internals)
                 document.getElementById('scrollingTree').innerText = window.internals.scrollingStateTreeAsText() + "\n";
index 0dc2660..055254b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <title>Test scrolling tree stucture with various positioning and clipping configurations</title>
@@ -46,9 +46,6 @@
         if (window.testRunner)
             testRunner.dumpAsText();
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest() {
             if (window.internals)
                 document.getElementById('scrollingTree').innerText = window.internals.scrollingStateTreeAsText() + "\n";
index d209a96..d4d7484 100644 (file)
@@ -1,6 +1,5 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
-
 <head>
     <style>
         body {
@@ -36,9 +35,6 @@
             testRunner.dumpAsText();
         }
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest()
         {
             window.setTimeout(function() {
index e77b267..9365432 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <title>Check that compositing traverses deeply enough to re-parent scrolling tree nodes</title>
@@ -8,9 +8,6 @@
             testRunner.waitUntilDone();
         }
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest()
         {
             requestAnimationFrame(() => {
index 84a0a62..3d40008 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
 <html>
 <head>
     <title>Check that compositing traverses deeply enough to re-parent scrolling tree nodes</title>
@@ -8,9 +8,6 @@
             testRunner.waitUntilDone();
         }
 
-        if (window.internals)
-            window.internals.settings.setAsyncOverflowScrollingEnabled(true);
-
         function doTest() {
             requestAnimationFrame(() => {
                 document.getElementById('main').classList.add('changed');
index e23865d..b419eeb 100644 (file)
@@ -1,3 +1,14 @@
+2019-03-21  Simon Fraser  <simon.fraser@apple.com>
+
+        [iOS WK2] Turn on async overflow scrolling by default
+        https://bugs.webkit.org/show_bug.cgi?id=196011
+        rdar://problem/48453859
+
+        Reviewed by Antti Koivisto.
+
+        * Shared/WebPreferences.yaml:
+        * Shared/WebPreferencesDefaultValues.h:
+
 2019-03-21  Alex Christensen  <achristensen@webkit.org>
 
         Remove last use of LegacySync IPC messages
index 8be3081..f28cdfc 100644 (file)
@@ -1437,7 +1437,7 @@ AsyncFrameScrollingEnabled:
 
 AsyncOverflowScrollingEnabled:
   type: bool
-  defaultValue: false
+  defaultValue: DEFAULT_ASYNC_OVERFLOW_SCROLLING_ENABLED
   humanReadableName: "Async Overflow Scrolling"
   humanReadableDescription: "Perform overflow scrolling off the main thread"
   category: internal
index 39ecc65..4d2a1c3 100644 (file)
@@ -76,6 +76,7 @@
 #define DEFAULT_REQUIRES_USER_GESTURE_FOR_AUDIO_PLAYBACK true
 #define DEFAULT_INTERACTIVE_MEDIA_CAPTURE_STREAM_REPROMPT_INTERVAL_IN_MINUTES 1
 #define DEFAULT_ASYNC_FRAME_SCROLLING_ENABLED true
+#define DEFAULT_ASYNC_OVERFLOW_SCROLLING_ENABLED true
 #define EXPERIMENTAL_FULLSCREEN_API_HIDDEN false
 #else
 #define DEFAULT_ALLOWS_PICTURE_IN_PICTURE_MEDIA_PLAYBACK false
@@ -96,6 +97,7 @@
 #define DEFAULT_REQUIRES_USER_GESTURE_FOR_AUDIO_PLAYBACK false
 #define DEFAULT_INTERACTIVE_MEDIA_CAPTURE_STREAM_REPROMPT_INTERVAL_IN_MINUTES 10
 #define DEFAULT_ASYNC_FRAME_SCROLLING_ENABLED false
+#define DEFAULT_ASYNC_OVERFLOW_SCROLLING_ENABLED false
 #define EXPERIMENTAL_FULLSCREEN_API_HIDDEN true
 #endif
 
index e834fc4..569981f 100644 (file)
@@ -1,3 +1,20 @@
+2019-03-21  Simon Fraser  <simon.fraser@apple.com>
+
+        [iOS WK2] Turn on async overflow scrolling by default
+        https://bugs.webkit.org/show_bug.cgi?id=196011
+        rdar://problem/48453859
+
+        Reviewed by Antti Koivisto.
+        
+        Explicitly turn off the async overflow scrolling internal feature for tests by default,
+        since so many basic layout tests have different results when compositing is triggered for
+        overflow.
+        
+        Individual tests will re-enable with <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->.
+
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::resetPreferencesToConsistentValues):
+
 2019-03-21  Aakash Jain  <aakash_jain@apple.com>
 
         [ews-build] Retry API test in case of failures
index c3e2627..e8908fb 100644 (file)
@@ -747,6 +747,10 @@ void TestController::resetPreferencesToConsistentValues(const TestOptions& optio
         WKPreferencesSetExperimentalFeatureForKey(preferences, experimentalFeature.value, toWK(experimentalFeature.key).get());
 
     WKPreferencesResetAllInternalDebugFeatures(preferences);
+    // Set internal features that have different default values for testing.
+    static WKStringRef asyncOverflowScrollingFeature = WKStringCreateWithUTF8CString("AsyncOverflowScrollingEnabled");
+    WKPreferencesSetInternalDebugFeatureForKey(preferences, false, asyncOverflowScrollingFeature);
+
     for (const auto& internalDebugFeature : options.internalDebugFeatures)
         WKPreferencesSetInternalDebugFeatureForKey(preferences, internalDebugFeature.value, toWK(internalDebugFeature.key).get());