Title: [209409] trunk
Revision
209409
Author
simon.fra...@apple.com
Date
2016-12-06 11:39:32 -0800 (Tue, 06 Dec 2016)

Log Message

Enable visual viewports by default on Mac, and iOS Wk2
https://bugs.webkit.org/show_bug.cgi?id=165452

Reviewed by Zalan Bujtas.

Source/WebCore:

Some tests revealed an issue where, during scrollbar updates, the visual viewport would be
15px wider than the layout viewport, which results in the layout viewport shifting 15px to the
right. Prevent this by disallowing viewport updates during the AdjustViewSize phase; we'll
be called again in postLayoutTasks.

* page/FrameView.cpp:
(WebCore::FrameView::updateLayoutViewport):

Source/WebKit/mac:

Turn visual viewports on by default for WK1 on Mac.

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):

Source/WebKit2:

Turn visual viewports on by default for WK2.

* Shared/WebPreferencesDefinitions.h:

LayoutTests:

Skip, fix or adjust tests for visual viewports.

* TestExpectations:
* animations/trigger-container-scroll-boundaries.html:
* animations/trigger-container-scroll-empty.html:
* animations/trigger-container-scroll-simple.html:
* compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html:
* compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* fast/scrolling/ios/remove-scrolling-role-expected.txt:
* fast/zooming/client-rect-in-fixed-zoomed-expected.txt:
* fast/zooming/client-rect-in-fixed-zoomed.html:
* platform/ios-simulator-wk2/compositing/geometry/fixed-in-composited-expected.txt: Removed.
* platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* platform/ios-simulator-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* platform/ios-simulator-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt:
* platform/ios-simulator-wk2/fast/overflow/position-fixed-transform-clipping-expected.txt:
* platform/ios-simulator/compositing/absolute-inside-out-of-view-fixed-expected.txt:
* platform/ios-simulator/compositing/geometry/fixed-in-composited-expected.txt:
* scrollingcoordinator/ios/non-stable-viewport-scroll-expected.txt:
* scrollingcoordinator/ios/ui-scrolling-tree-expected.txt:
* tiled-drawing/fixed-layout-size-fixed-attachment-cover.html:
* tiled-drawing/fixed-layout-size-fixed-attachment-local.html:
* tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt:
* tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt:
* tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt:
* tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt:
* tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt:
* tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt:
* tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
* tiled-drawing/scrolling/fixed/four-bars-expected.txt:
* tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt:
* tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
* tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt:
* tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt:
* tiled-drawing/scrolling/fixed/nested-fixed-expected.txt:
* tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt:
* tiled-drawing/scrolling/frames/coordinated-frame-expected.txt:
* tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt:
* tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt:
* tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt:
* tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
* tiled-drawing/scrolling/frames/frameset-frame-scrollability-expected.txt:
* tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt:
* tiled-drawing/scrolling/frames/remove-coordinated-frame-expected.txt:
* tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt:
* tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt:
* tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt:
* tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt:
* tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt:
* tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt:

Modified Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (209408 => 209409)


--- trunk/LayoutTests/ChangeLog	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/ChangeLog	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,3 +1,63 @@
+2016-12-06  Simon Fraser  <simon.fra...@apple.com>
+
+        Enable visual viewports by default on Mac, and iOS Wk2
+        https://bugs.webkit.org/show_bug.cgi?id=165452
+
+        Reviewed by Zalan Bujtas.
+
+        Skip, fix or adjust tests for visual viewports.
+
+        * TestExpectations:
+        * animations/trigger-container-scroll-boundaries.html:
+        * animations/trigger-container-scroll-empty.html:
+        * animations/trigger-container-scroll-simple.html:
+        * compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html:
+        * compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
+        * compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
+        * fast/scrolling/ios/remove-scrolling-role-expected.txt:
+        * fast/zooming/client-rect-in-fixed-zoomed-expected.txt:
+        * fast/zooming/client-rect-in-fixed-zoomed.html:
+        * platform/ios-simulator-wk2/compositing/geometry/fixed-in-composited-expected.txt: Removed.
+        * platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
+        * platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
+        * platform/ios-simulator-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
+        * platform/ios-simulator-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt:
+        * platform/ios-simulator-wk2/fast/overflow/position-fixed-transform-clipping-expected.txt:
+        * platform/ios-simulator/compositing/absolute-inside-out-of-view-fixed-expected.txt:
+        * platform/ios-simulator/compositing/geometry/fixed-in-composited-expected.txt:
+        * scrollingcoordinator/ios/non-stable-viewport-scroll-expected.txt:
+        * scrollingcoordinator/ios/ui-scrolling-tree-expected.txt:
+        * tiled-drawing/fixed-layout-size-fixed-attachment-cover.html:
+        * tiled-drawing/fixed-layout-size-fixed-attachment-local.html:
+        * tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt:
+        * tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt:
+        * tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt:
+        * tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt:
+        * tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt:
+        * tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt:
+        * tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
+        * tiled-drawing/scrolling/fixed/four-bars-expected.txt:
+        * tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt:
+        * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
+        * tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt:
+        * tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt:
+        * tiled-drawing/scrolling/fixed/nested-fixed-expected.txt:
+        * tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt:
+        * tiled-drawing/scrolling/frames/coordinated-frame-expected.txt:
+        * tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt:
+        * tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt:
+        * tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt:
+        * tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
+        * tiled-drawing/scrolling/frames/frameset-frame-scrollability-expected.txt:
+        * tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt:
+        * tiled-drawing/scrolling/frames/remove-coordinated-frame-expected.txt:
+        * tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt:
+        * tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt:
+        * tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt:
+        * tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt:
+        * tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt:
+        * tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt:
+
 2016-12-06  Ryan Haddad  <ryanhad...@apple.com>
 
         Skip modern-media-controls tests until flakiness can be resolved.

Modified: trunk/LayoutTests/TestExpectations (209408 => 209409)


--- trunk/LayoutTests/TestExpectations	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/TestExpectations	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1083,3 +1083,7 @@
 webkit.org/b/165195 svg/dom/SVGPaint.html [ Pass Failure ]
 webkit.org/b/165195 svg/dom/rgb-color-parser.html [ Pass Failure ]
 
+# Visual viewports
+webkit.org/b/165460 compositing/repaint/scroll-fixed-layer-no-content.html [ Failure ]
+webkit.org/b/165460 compositing/repaint/scroll-fixed-layer-out-of-view.html [ Failure ]
+webkit.org/b/165465 tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed.html [ Failure ]

Modified: trunk/LayoutTests/animations/trigger-container-scroll-boundaries.html (209408 => 209409)


--- trunk/LayoutTests/animations/trigger-container-scroll-boundaries.html	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/animations/trigger-container-scroll-boundaries.html	2016-12-06 19:39:32 UTC (rev 209409)
@@ -41,6 +41,9 @@
     window.testRunner.waitUntilDone();
 }
 
+if (window.internals)
+    window.internals.settings.setVisualViewportEnabled(false);
+
 function runTest() {
     results = document.getElementById("results");
     box = document.getElementById("box");

Modified: trunk/LayoutTests/animations/trigger-container-scroll-empty.html (209408 => 209409)


--- trunk/LayoutTests/animations/trigger-container-scroll-empty.html	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/animations/trigger-container-scroll-empty.html	2016-12-06 19:39:32 UTC (rev 209409)
@@ -38,6 +38,9 @@
     window.testRunner.waitUntilDone();
 }
 
+if (window.internals)
+    window.internals.settings.setVisualViewportEnabled(false);
+
 function runTest() {
     results = document.getElementById("results");
     box = document.getElementById("box");

Modified: trunk/LayoutTests/animations/trigger-container-scroll-simple.html (209408 => 209409)


--- trunk/LayoutTests/animations/trigger-container-scroll-simple.html	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/animations/trigger-container-scroll-simple.html	2016-12-06 19:39:32 UTC (rev 209409)
@@ -38,6 +38,9 @@
     window.testRunner.waitUntilDone();
 }
 
+if (window.internals)
+    window.internals.settings.setVisualViewportEnabled(false);
+
 function runTest() {
     results = document.getElementById("results");
     box = document.getElementById("box");

Modified: trunk/LayoutTests/compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html (209408 => 209409)


--- trunk/LayoutTests/compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html	2016-12-06 19:39:32 UTC (rev 209409)
@@ -25,6 +25,7 @@
 </style>
 <script>
   if (window.internals) {
+    window.internals.settings.setVisualViewportEnabled(false);
     window.internals.settings.setAcceleratedCompositingForFixedPositionEnabled(true);
     window.internals.settings.setFixedPositionCreatesStackingContext(true);
     window.internals.setPageScaleFactor(0.5, 0, 0);

Modified: trunk/LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt (209408 => 209409)


--- trunk/LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -32,11 +32,12 @@
       (transform [0.50 0.00 0.00 0.00] [0.00 0.50 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
       (children 2
         (GraphicsLayer
-          (position 600.00 0.00)
+          (position 1400.00 600.00)
           (bounds 10.00 10.00)
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 800.00 600.00)
           (bounds 10.00 10.00)
           (contentsOpaque 1)
         )

Modified: trunk/LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt (209408 => 209409)


--- trunk/LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -33,11 +33,12 @@
       (transform [0.50 0.00 0.00 0.00] [0.00 0.50 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
       (children 2
         (GraphicsLayer
-          (position 600.00 0.00)
+          (position 1400.00 600.00)
           (bounds 10.00 10.00)
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 800.00 600.00)
           (bounds 10.00 10.00)
           (contentsOpaque 1)
         )

Modified: trunk/LayoutTests/fast/scrolling/ios/remove-scrolling-role-expected.txt (209408 => 209409)


--- trunk/LayoutTests/fast/scrolling/ios/remove-scrolling-role-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/fast/scrolling/ios/remove-scrolling-role-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 800 600)
   (contents size 800 2513)
+  (layout viewport at (0,0) size 800x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1913))
   (children 1
     (Overflow scrolling node
       (scrollable area size 300 400)

Modified: trunk/LayoutTests/fast/zooming/client-rect-in-fixed-zoomed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/fast/zooming/client-rect-in-fixed-zoomed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/fast/zooming/client-rect-in-fixed-zoomed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -4,7 +4,7 @@
 
 
 PASS internals.pageScaleFactor() is 2
-PASS JSON.stringify(clientRect) is JSON.stringify({top: 9.515625, right: 42, bottom: 19.515625, left: 22, width: 20, height: 10})
+PASS JSON.stringify(clientRect) is JSON.stringify({top: -108, right: 42, bottom: -98, left: 22, width: 20, height: 10})
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/zooming/client-rect-in-fixed-zoomed.html (209408 => 209409)


--- trunk/LayoutTests/fast/zooming/client-rect-in-fixed-zoomed.html	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/fast/zooming/client-rect-in-fixed-zoomed.html	2016-12-06 19:39:32 UTC (rev 209409)
@@ -40,7 +40,7 @@
             var box = document.getElementById('box');
             clientRect = box.getBoundingClientRect();
             
-            shouldBe('JSON.stringify(clientRect)', 'JSON.stringify({top: 9.515625, right: 42, bottom: 19.515625, left: 22, width: 20, height: 10})');
+            shouldBe('JSON.stringify(clientRect)', 'JSON.stringify({top: -108, right: 42, bottom: -98, left: 22, width: 20, height: 10})');
             
             finishJSTest();
         }

Modified: trunk/LayoutTests/platform/ios-simulator/compositing/absolute-inside-out-of-view-fixed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/platform/ios-simulator/compositing/absolute-inside-out-of-view-fixed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/platform/ios-simulator/compositing/absolute-inside-out-of-view-fixed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -7,6 +7,7 @@
       (contentsOpaque 1)
       (children 1
         (GraphicsLayer
+          (position 0.00 200.00)
           (bounds 100.00 100.00)
           (contentsOpaque 1)
           (drawsContent 1)

Modified: trunk/LayoutTests/platform/ios-simulator/compositing/geometry/fixed-in-composited-expected.txt (209408 => 209409)


--- trunk/LayoutTests/platform/ios-simulator/compositing/geometry/fixed-in-composited-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/platform/ios-simulator/compositing/geometry/fixed-in-composited-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -16,7 +16,7 @@
   RenderBlock {DIV} at (0,0) size 60x60 [bgcolor=#0000FF33]
 layer at (95,145) size 50x50
   RenderBlock (positioned) zI: 1 {DIV} at (95,145) size 50x50
-layer at (20,20) size 100x100
+layer at (70,70) size 100x100
   RenderBlock (positioned) {DIV} at (20,20) size 100x100 [bgcolor=#008000]
 layer at (200,100) size 50x50
   RenderBlock (positioned) zI: 1 {DIV} at (200,100) size 50x50
@@ -28,3 +28,4 @@
   RenderBlock {DIV} at (0,0) size 100x100
 layer at (420,120) size 100x100
   RenderBlock (positioned) {DIV} at (20,20) size 100x100 [bgcolor=#008000]
+scrolled to 50,50

Deleted: trunk/LayoutTests/platform/ios-simulator-wk2/compositing/geometry/fixed-in-composited-expected.txt (209408 => 209409)


--- trunk/LayoutTests/platform/ios-simulator-wk2/compositing/geometry/fixed-in-composited-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/compositing/geometry/fixed-in-composited-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,31 +0,0 @@
-layer at (0,0) size 800x1000
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x1000
-  RenderBlock {HTML} at (0,0) size 800x1000
-    RenderBody {BODY} at (0,0) size 800x1000
-      RenderBlock {P} at (0,210) size 800x20
-        RenderText {#text} at (0,0) size 188x19
-          text run at (0,0) width 188: "You should see no red above."
-layer at (20,70) size 100x100
-  RenderBlock (positioned) {DIV} at (20,70) size 100x100 [bgcolor=#FF0000]
-layer at (220,120) size 100x100
-  RenderBlock (positioned) {DIV} at (220,120) size 100x100 [bgcolor=#FF0000]
-layer at (420,120) size 100x100
-  RenderBlock (positioned) {DIV} at (420,120) size 100x100 [bgcolor=#FF0000]
-layer at (0,0) size 60x60
-  RenderBlock {DIV} at (0,0) size 60x60 [bgcolor=#0000FF33]
-layer at (95,145) size 50x50
-  RenderBlock (positioned) zI: 1 {DIV} at (95,145) size 50x50
-layer at (20,20) size 100x100
-  RenderBlock (positioned) {DIV} at (20,20) size 100x100 [bgcolor=#008000]
-layer at (200,100) size 50x50
-  RenderBlock (positioned) zI: 1 {DIV} at (200,100) size 50x50
-layer at (220,120) size 100x100
-  RenderBlock (positioned) {DIV} at (20,20) size 100x100 [bgcolor=#008000]
-layer at (400,100) size 50x50
-  RenderBlock (positioned) zI: 1 {DIV} at (400,100) size 50x50
-layer at (400,100) size 100x100
-  RenderBlock {DIV} at (0,0) size 100x100
-layer at (420,120) size 100x100
-  RenderBlock (positioned) {DIV} at (20,20) size 100x100 [bgcolor=#008000]
-scrolled to 50,50

Modified: trunk/LayoutTests/platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -12,6 +12,7 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 0.00 3000.00)
           (bounds 300.00 200.00)
           (drawsContent 1)
         )

Modified: trunk/LayoutTests/platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt (209408 => 209409)


--- trunk/LayoutTests/platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -17,7 +17,7 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
-          (position 0.00 13.00)
+          (position 0.00 113.00)
           (bounds 150.00 142.00)
           (drawsContent 1)
         )

Modified: trunk/LayoutTests/platform/ios-simulator-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt (209408 => 209409)


--- trunk/LayoutTests/platform/ios-simulator-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -15,6 +15,7 @@
           (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] [0.00 1000.00 0.00 1.00])
         )
         (GraphicsLayer
+          (position 0.00 1000.00)
           (bounds 500.00 500.00)
           (contentsOpaque 1)
         )

Modified: trunk/LayoutTests/platform/ios-simulator-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt (209408 => 209409)


--- trunk/LayoutTests/platform/ios-simulator-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/compositing/layer-creation/no-compositing-for-sticky-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -10,37 +10,37 @@
       (contentsOpaque 1)
       (children 6
         (GraphicsLayer
-          (position 812.00 61.00)
+          (position 820.00 61.00)
           (bounds 300.00 60.00)
           (contentsOpaque 1)
           (drawsContent 1)
         )
         (GraphicsLayer
-          (position 612.00 129.00)
+          (position 812.00 129.00)
           (bounds 300.00 60.00)
           (contentsOpaque 1)
           (drawsContent 1)
         )
         (GraphicsLayer
-          (position 812.00 197.00)
+          (position 960.00 197.00)
           (bounds 300.00 60.00)
           (contentsOpaque 1)
           (drawsContent 1)
         )
         (GraphicsLayer
-          (position 612.00 265.00)
+          (position 812.00 265.00)
           (bounds 300.00 60.00)
           (contentsOpaque 1)
           (drawsContent 1)
         )
         (GraphicsLayer
-          (position 612.00 333.00)
+          (position 820.00 333.00)
           (bounds 300.00 60.00)
           (contentsOpaque 1)
           (drawsContent 1)
         )
         (GraphicsLayer
-          (position 612.00 401.00)
+          (position 960.00 401.00)
           (bounds 300.00 60.00)
           (contentsOpaque 1)
           (drawsContent 1)

Modified: trunk/LayoutTests/platform/ios-simulator-wk2/fast/overflow/position-fixed-transform-clipping-expected.txt (209408 => 209409)


--- trunk/LayoutTests/platform/ios-simulator-wk2/fast/overflow/position-fixed-transform-clipping-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/fast/overflow/position-fixed-transform-clipping-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -11,8 +11,8 @@
     RenderBR {BR} at (309,15) size 1x0
     RenderText {#text} at (0,20) size 248x19
       text run at (0,20) width 248: "Green box should fill the black border."
-layer at (0,0) size 404x54 clip at (2,2) size 400x50
+layer at (0,25) size 404x54 clip at (2,27) size 400x50
   RenderBlock (positioned) {DIV} at (0,0) size 404x54 [border: (2px solid #000000)]
-layer at (2,2) size 400x50
+layer at (2,27) size 400x50
   RenderBlock {DIV} at (2,2) size 400x50 [bgcolor=#008000]
 scrolled to 0,25

Modified: trunk/LayoutTests/scrollingcoordinator/ios/non-stable-viewport-scroll-expected.txt (209408 => 209409)


--- trunk/LayoutTests/scrollingcoordinator/ios/non-stable-viewport-scroll-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/scrollingcoordinator/ios/non-stable-viewport-scroll-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -17,13 +17,13 @@
       (children 1
         (GraphicsLayer
           (position 10.00 0.00)
-          (approximate position 10.00 960.75)
+          (approximate position 10.00 621.34)
           (bounds 100.00 568.00)
           (usingTiledLayer 1)
           (contentsOpaque 1)
           (drawsContent 1)
-          (visible rect 0.00, 39.25 96.67 x 189.33)
-          (coverage rect -10.00, -3.42 192.00 x 274.67)
+          (visible rect 0.00, 378.66 96.67 x 189.33)
+          (coverage rect -10.00, 335.99 192.00 x 274.67)
           (intersects coverage rect 1)
           (contentsScale 6.00)
         )

Modified: trunk/LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree-expected.txt (209408 => 209409)


--- trunk/LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -7,6 +7,6 @@
     (behavior for fixed 0)
     (fixed node
       (fixed constraints 
-        (viewport-rect-at-last-layout (0,0) width=683 height=1212)
+        (viewport-rect-at-last-layout (0,0) width=320 height=568)
         (layer-position-at-last-layout (12,10)))
       (layer top left (12,10))))

Modified: trunk/LayoutTests/tiled-drawing/fixed-layout-size-fixed-attachment-cover.html (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/fixed-layout-size-fixed-attachment-cover.html	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/fixed-layout-size-fixed-attachment-cover.html	2016-12-06 19:39:32 UTC (rev 209409)
@@ -17,6 +17,7 @@
       window.internals.setFixedLayoutSize(800, 600);
       window.internals.setPageScaleFactor(0.5, 0, 0);
       window.internals.setUseFixedLayout(true);
+      window.internals.settings.setVisualViewportEnabled(false);
     }
   }
   window.addEventListener('load', runTest, false);

Modified: trunk/LayoutTests/tiled-drawing/fixed-layout-size-fixed-attachment-local.html (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/fixed-layout-size-fixed-attachment-local.html	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/fixed-layout-size-fixed-attachment-local.html	2016-12-06 19:39:32 UTC (rev 209409)
@@ -20,6 +20,7 @@
       window.internals.setFixedLayoutSize(800, 600);
       window.internals.setPageScaleFactor(0.5, 0, 0);
       window.internals.setUseFixedLayout(true);
+      window.internals.settings.setVisualViewportEnabled(false);
     }
   }
   window.addEventListener('load', runTest, false);

Modified: trunk/LayoutTests/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,6 +2,9 @@
 (Frame scrolling node
   (scrollable area size 785 585)
   (contents size 5008 5021)
+  (layout viewport at (0,0) size 785x585)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (4223,4436))
 )
 
 Attempted scroll to 0, -5000
@@ -8,6 +11,9 @@
 (Frame scrolling node
   (scrollable area size 785 585)
   (contents size 5008 5021)
+  (layout viewport at (0,0) size 785x585)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (4223,4436))
 )
 
 Attempted scroll to -5000, -5000
@@ -14,6 +20,9 @@
 (Frame scrolling node
   (scrollable area size 785 585)
   (contents size 5008 5021)
+  (layout viewport at (0,0) size 785x585)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (4223,4436))
 )
 
 Attempted scroll to 10000, 0
@@ -21,6 +30,9 @@
   (scrollable area size 785 585)
   (contents size 5008 5021)
   (requested scroll position 4223 0)
+  (layout viewport at (0,0) size 785x585)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (4223,4436))
 )
 
 Attempted scroll to 0, 10000
@@ -28,6 +40,9 @@
   (scrollable area size 785 585)
   (contents size 5008 5021)
   (requested scroll position 0 4436)
+  (layout viewport at (4223,0) size 785x585)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (4223,4436))
 )
 
 Attempted scroll to 10000, 10000
@@ -35,6 +50,9 @@
   (scrollable area size 785 585)
   (contents size 5008 5021)
   (requested scroll position 4223 4436)
+  (layout viewport at (0,4436) size 785x585)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (4223,4436))
 )
 
 

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,6 +2,9 @@
   (scrollable area size 785 600)
   (contents size 785 2710)
   (requested scroll position 0 200)
+  (layout viewport at (0,200) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,2110))
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,6 +2,9 @@
   (scrollable area size 785 600)
   (contents size 785 2513)
   (requested scroll position 0 200)
+  (layout viewport at (0,200) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1913))
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,6 +2,9 @@
   (scrollable area size 785 600)
   (contents size 785 2213)
   (requested scroll position 0 200)
+  (layout viewport at (0,200) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1613))
   (synchronous event dispatch region for event wheel
     at (0,13) size 204x204)
   (children 1

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1021)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,421))
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1021)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,421))
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,6 +2,9 @@
   (scrollable area size 785 600)
   (contents size 785 2221)
   (requested scroll position 0 200)
+  (layout viewport at (0,200) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1621))
   (children 4
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,26 +2,29 @@
   (scrollable area size 785 600)
   (contents size 785 2421)
   (requested scroll position 0 200)
+  (layout viewport at (0,200) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1821))
   (children 4
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
-      (viewport rect at last layout: 0.00 100.00 785.00 600.00)
-      (layer position at last layout 0.00 100.00)
+      (viewport rect at last layout: 0.00 200.00 785.00 600.00)
+      (layer position at last layout 0.00 200.00)
     )
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
-      (viewport rect at last layout: 0.00 100.00 785.00 600.00)
-      (layer position at last layout 6.00 296.00)
+      (viewport rect at last layout: 0.00 200.00 785.00 600.00)
+      (layer position at last layout 6.00 396.00)
     )
     (Fixed node
       (anchor edges: AnchorEdgeRight AnchorEdgeTop)
-      (viewport rect at last layout: 0.00 100.00 785.00 600.00)
-      (layer position at last layout 597.00 296.00)
+      (viewport rect at last layout: 0.00 200.00 785.00 600.00)
+      (layer position at last layout 597.00 396.00)
     )
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeBottom)
-      (viewport rect at last layout: 0.00 100.00 785.00 600.00)
-      (layer position at last layout 0.00 612.00)
+      (viewport rect at last layout: 0.00 200.00 785.00 600.00)
+      (layer position at last layout 0.00 712.00)
     )
   )
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,6 +2,9 @@
   (scrollable area size 785 585)
   (contents size 1805 5108)
   (frame scale factor 2.30)
+  (layout viewport at (0,0) size 785x585)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1636))
   (children 4
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 2221)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1621))
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 2221)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1621))
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeBottom)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/nested-fixed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/nested-fixed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/nested-fixed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,6 +2,9 @@
   (scrollable area size 785 600)
   (contents size 785 2213)
   (requested scroll position 0 200)
+  (layout viewport at (0,200) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1613))
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,6 +2,9 @@
   (scrollable area size 785 600)
   (contents size 785 2513)
   (requested scroll position 0 200)
+  (layout viewport at (0,200) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1913))
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -8,7 +8,6 @@
       (transform [2.30 0.00 0.00 0.00] [0.00 2.30 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 0.00 1.00])
       (children 2
         (GraphicsLayer
-          (position 0.00 154.25)
           (anchor 0.00 0.00)
           (bounds 785.00 585.00)
           (contentsOpaque 1)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,416))
   (synchronous event dispatch region for event wheel
     at (45,47) size 404x304)
   (children 1
@@ -7,6 +10,9 @@
     (Frame scrolling node
       (scrollable area size 485 300)
       (contents size 485 420)
+      (layout viewport at (500,300) size 485x300)
+      (min layout viewport origin (0,0))
+      (max layout viewport origin (0,120))
       (children 1
         (Sticky node
           (anchor edges: AnchorEdgeTop AnchorEdgeBottom)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,416))
   (synchronous event dispatch region for event wheel
     at (45,47) size 404x304)
   (children 1
@@ -12,6 +15,9 @@
         (Frame scrolling node
           (scrollable area size 500 300)
           (contents size 500 420)
+          (layout viewport at (500,300) size 500x300)
+          (min layout viewport origin (0,0))
+          (max layout viewport origin (0,120))
           (children 1
             (Sticky node
               (anchor edges: AnchorEdgeTop AnchorEdgeBottom)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,416))
   (synchronous event dispatch region for event wheel
     at (45,37) size 404x304)
   (children 1
@@ -12,6 +15,9 @@
         (Frame scrolling node
           (scrollable area size 485 300)
           (contents size 485 420)
+          (layout viewport at (500,300) size 485x300)
+          (min layout viewport origin (0,0))
+          (max layout viewport origin (0,120))
           (children 1
             (Sticky node
               (anchor edges: AnchorEdgeTop AnchorEdgeBottom)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,416))
   (synchronous event dispatch region for event wheel
     at (45,47) size 404x304)
   (children 1
@@ -7,6 +10,9 @@
     (Frame scrolling node
       (scrollable area size 500 300)
       (contents size 500 420)
+      (layout viewport at (500,300) size 500x300)
+      (min layout viewport origin (0,0))
+      (max layout viewport origin (0,120))
       (children 1
         (Sticky node
           (anchor edges: AnchorEdgeTop AnchorEdgeBottom)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,11 +2,17 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 657)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,57))
   (children 1
     (Frame scrolling node
       (scrollable area size 465 400)
       (contents size 465 1016)
       (requested scroll position 0 120)
+      (layout viewport at (0,120) size 465x400)
+      (min layout viewport origin (0,0))
+      (max layout viewport origin (0,616))
       (children 1
         (Fixed node
           (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/frames/frameset-frame-scrollability-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/frames/frameset-frame-scrollability-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/frames/frameset-frame-scrollability-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 800 600)
   (contents size 800 600)
+  (layout viewport at (0,0) size 800x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,0))
   (synchronous event dispatch region for event wheel
     at (0,0) size 800x594)
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 800 600)
   (contents size 800 600)
+  (layout viewport at (0,0) size 800x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,0))
   (synchronous event dispatch region for event wheel
     at (0,166) size 280x434)
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/frames/remove-coordinated-frame-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/frames/remove-coordinated-frame-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/frames/remove-coordinated-frame-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,416))
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,6 +2,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 757)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,157))
   (synchronous event dispatch region for event wheel
     at (68,68) size 300x300)
 )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -2,5 +2,8 @@
   (scrollable area size 785 600)
   (contents size 785 5021)
   (requested scroll position 0 3000)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,4421))
 )
 

Modified: trunk/LayoutTests/tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 800 600)
   (contents size 800 600)
+  (layout viewport at (0,0) size 800x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,0))
   (Scrolling on main thread because: Has slow repaint objects)
 )
 

Modified: trunk/LayoutTests/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,6 +1,9 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 2216)
+  (layout viewport at (0,0) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,1616))
   (children 1
     (Sticky node
       (anchor edges: AnchorEdgeLeft AnchorEdgeRight AnchorEdgeBottom)

Modified: trunk/LayoutTests/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -3,6 +3,9 @@
   (scrollable area size 800 585)
   (contents size 2008 585)
   (requested scroll position 800 0)
+  (layout viewport at (800,0) size 800x585)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (1208,0))
   (children 6
     (Sticky node
       (anchor edges: AnchorEdgeLeft )

Modified: trunk/LayoutTests/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt (209408 => 209409)


--- trunk/LayoutTests/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/LayoutTests/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt	2016-12-06 19:39:32 UTC (rev 209409)
@@ -7,6 +7,9 @@
   (scrollable area size 785 600)
   (contents size 785 2908)
   (requested scroll position 0 580)
+  (layout viewport at (0,580) size 785x600)
+  (min layout viewport origin (0,0))
+  (max layout viewport origin (0,2308))
   (children 6
     (Sticky node
       (anchor edges: AnchorEdgeTop )

Modified: trunk/Source/WebCore/ChangeLog (209408 => 209409)


--- trunk/Source/WebCore/ChangeLog	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/Source/WebCore/ChangeLog	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,3 +1,18 @@
+2016-12-06  Simon Fraser  <simon.fra...@apple.com>
+
+        Enable visual viewports by default on Mac, and iOS Wk2
+        https://bugs.webkit.org/show_bug.cgi?id=165452
+
+        Reviewed by Zalan Bujtas.
+
+        Some tests revealed an issue where, during scrollbar updates, the visual viewport would be
+        15px wider than the layout viewport, which results in the layout viewport shifting 15px to the
+        right. Prevent this by disallowing viewport updates during the AdjustViewSize phase; we'll
+        be called again in postLayoutTasks.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::updateLayoutViewport):
+
 2016-12-06  Daniel Bates  <daba...@apple.com>
 
         Cleanup: Rename some HTTP 0.9-specific functions to conform to WebKit Code Style Guidelines

Modified: trunk/Source/WebCore/page/FrameView.cpp (209408 => 209409)


--- trunk/Source/WebCore/page/FrameView.cpp	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/Source/WebCore/page/FrameView.cpp	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1856,6 +1856,11 @@
     if (!frame().settings().visualViewportEnabled())
         return;
     
+    // Don't update the layout viewport if we're in the middle of adjusting scrollbars. We'll get another call
+    // as a post-layout task.
+    if (m_layoutPhase == InViewSizeAdjust)
+        return;
+    
     if (m_layoutViewportOverrideRect) {
         LOG_WITH_STREAM(Scrolling, stream << "\nFrameView " << this << " updateLayoutViewport() - has layoutViewportOverrideRect" << m_layoutViewportOverrideRect.value());
         return;

Modified: trunk/Source/WebKit/mac/ChangeLog (209408 => 209409)


--- trunk/Source/WebKit/mac/ChangeLog	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/Source/WebKit/mac/ChangeLog	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,3 +1,15 @@
+2016-12-06  Simon Fraser  <simon.fra...@apple.com>
+
+        Enable visual viewports by default on Mac, and iOS Wk2
+        https://bugs.webkit.org/show_bug.cgi?id=165452
+
+        Reviewed by Zalan Bujtas.
+
+        Turn visual viewports on by default for WK1 on Mac.
+
+        * WebView/WebPreferences.mm:
+        (+[WebPreferences initialize]):
+
 2016-12-05  Dean Jackson  <d...@apple.com>
 
         pointer lock needs to be feature detectable

Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (209408 => 209409)


--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm	2016-12-06 19:39:32 UTC (rev 209409)
@@ -628,7 +628,13 @@
 #if ENABLE(WEB_ANIMATIONS)
         [NSNumber numberWithBool:NO], WebKitWebAnimationsEnabledPreferenceKey,
 #endif
+
+#if PLATFORM(IOS)
         [NSNumber numberWithBool:NO], WebKitVisualViewportEnabledPreferenceKey,
+#else
+        [NSNumber numberWithBool:YES], WebKitVisualViewportEnabledPreferenceKey,
+#endif
+
         [NSNumber numberWithBool:YES], WebKitNeedsStorageAccessFromFileURLsQuirkKey,
 #if ENABLE(SUBTLE_CRYPTO)
         [NSNumber numberWithBool:YES], WebKitSubtleCryptoEnabledPreferenceKey,

Modified: trunk/Source/WebKit2/ChangeLog (209408 => 209409)


--- trunk/Source/WebKit2/ChangeLog	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/Source/WebKit2/ChangeLog	2016-12-06 19:39:32 UTC (rev 209409)
@@ -1,3 +1,14 @@
+2016-12-06  Simon Fraser  <simon.fra...@apple.com>
+
+        Enable visual viewports by default on Mac, and iOS Wk2
+        https://bugs.webkit.org/show_bug.cgi?id=165452
+
+        Reviewed by Zalan Bujtas.
+
+        Turn visual viewports on by default for WK2.
+
+        * Shared/WebPreferencesDefinitions.h:
+
 2016-12-06  Daniel Bates  <daba...@apple.com>
 
         WebKitTestRunner: Plugins are disabled in new windows

Modified: trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h (209408 => 209409)


--- trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h	2016-12-06 19:35:56 UTC (rev 209408)
+++ trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h	2016-12-06 19:39:32 UTC (rev 209409)
@@ -238,7 +238,7 @@
     macro(SelectionPaintingWithoutSelectionGapsEnabled, selectionPaintingWithoutSelectionGapsEnabled, Bool, bool, DEFAULT_SELECTION_PAINTING_WITHOUT_SELECTION_GAPS_ENABLED, "", "") \
     macro(ApplePayEnabled, applePayEnabled, Bool, bool, false, "", "") \
     macro(ApplePayCapabilityDisclosureAllowed, applePayCapabilityDisclosureAllowed, Bool, bool, true, "", "") \
-    macro(VisualViewportEnabled, visualViewportEnabled, Bool, bool, false, "", "") \
+    macro(VisualViewportEnabled, visualViewportEnabled, Bool, bool, true, "", "") \
     macro(NeedsStorageAccessFromFileURLsQuirk, needsStorageAccessFromFileURLsQuirk, Bool, bool, true, "", "") \
     macro(LargeImageAsyncDecodingEnabled, largeImageAsyncDecodingEnabled, Bool, bool, true, "", "") \
     macro(AnimatedImageAsyncDecodingEnabled, animatedImageAsyncDecodingEnabled, Bool, bool, true, "", "") \
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to