Print more properties in the output of scrolling trees
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 9 May 2017 17:10:58 +0000 (17:10 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 9 May 2017 17:10:58 +0000 (17:10 +0000)
https://bugs.webkit.org/show_bug.cgi?id=171858

Patch by Frederic Wang <fwang@igalia.com> on 2017-05-09
Reviewed by Simon Fraser.

Source/WebCore:

No new tests, no behavior changes.

* page/scrolling/ScrollingCoordinator.cpp: Implement << operator to print ScrollableAreaParameters.
(WebCore::operator<<):
* page/scrolling/ScrollingCoordinator.h: Declare new << operator.
* page/scrolling/ScrollingStateFrameScrollingNode.cpp: Print new properties.
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties):
* page/scrolling/ScrollingStateScrollingNode.cpp: ditto.
(WebCore::ScrollingStateScrollingNode::dumpProperties):
* page/scrolling/ScrollingTreeScrollingNode.cpp: ditto.
(WebCore::ScrollingTreeScrollingNode::dumpProperties):

LayoutTests:

Update text expectations to include new properties.

* fast/scrolling/ios/remove-scrolling-role-expected.txt:
* fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-expected.txt:
* fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-then-up-expected.txt:
* fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state-expected.txt:
* tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-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/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:

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

36 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/scrolling/ios/remove-scrolling-role-expected.txt
LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-expected.txt
LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-then-up-expected.txt
LayoutTests/fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state-expected.txt
LayoutTests/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/four-bars-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/nested-fixed-expected.txt
LayoutTests/tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt
LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-expected.txt
LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor-expected.txt
LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-in-fixed-expected.txt
LayoutTests/tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor-expected.txt
LayoutTests/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt
LayoutTests/tiled-drawing/scrolling/frames/remove-coordinated-frame-expected.txt
LayoutTests/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt
LayoutTests/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt
LayoutTests/tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt
LayoutTests/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt
LayoutTests/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt
LayoutTests/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
Source/WebCore/page/scrolling/ScrollingCoordinator.h
Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp
Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp

index bd1464d..7998c2f 100644 (file)
@@ -1,3 +1,42 @@
+2017-05-09  Frederic Wang  <fwang@igalia.com>
+
+        Print more properties in the output of scrolling trees
+        https://bugs.webkit.org/show_bug.cgi?id=171858
+
+        Reviewed by Simon Fraser.
+
+        Update text expectations to include new properties.
+
+        * fast/scrolling/ios/remove-scrolling-role-expected.txt:
+        * fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-expected.txt:
+        * fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-then-up-expected.txt:
+        * fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state-expected.txt:
+        * tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-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/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:
+
 2017-05-09  Chris Dumez  <cdumez@apple.com>
 
         ontransitionend eventHandler should be in GlobalEventHandlers
index 4de5caf..276780c 100644 (file)
@@ -2,13 +2,25 @@
 (Frame scrolling node
   (scrollable area size 800 600)
   (contents size 800 2513)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 1)
+    (vertical scroll elasticity 1)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 800x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1913))
+  (behavior for fixed 0)
   (children 1
     (Overflow scrolling node
       (scrollable area size 300 400)
       (contents size 300 2000)
+      (scrollable area parameters 
+        (horizontal scroll elasticity 1)
+        (vertical scroll elasticity 1)
+        (horizontal scrollbar mode 0)
+        (vertical scrollbar mode 0))
     )
   )
 )
index 75a5fce..21d4114 100644 (file)
@@ -3,10 +3,20 @@
   (scrollable area size 785 585)
   (contents size 4016 4042)
   (requested scroll position 40 1000)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
   (frame scale factor 2.00)
+  (visual viewport enabled 1)
   (layout viewport at (0,207.50) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (1223,1436))
+  (behavior for fixed 0)
   (children 4
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 7268f3e..d22f64a 100644 (file)
@@ -3,10 +3,20 @@
   (scrollable area size 785 585)
   (contents size 4016 4042)
   (requested scroll position 40 460)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
   (frame scale factor 2.00)
+  (visual viewport enabled 1)
   (layout viewport at (0,230) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (1223,1436))
+  (behavior for fixed 0)
   (children 4
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index c282910..8029b8f 100644 (file)
@@ -2,10 +2,19 @@
 (Frame scrolling node
   (scrollable area size 785 585)
   (contents size 4016 4042)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
   (frame scale factor 2.00)
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (1223,1436))
+  (behavior for fixed 0)
   (children 4
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 255a729..21e5968 100644 (file)
@@ -3,9 +3,18 @@ Attempted scroll to -5000, 0
 (Frame scrolling node
   (scrollable area size 785 585)
   (contents size 5008 5021)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (4223,4436))
+  (behavior for fixed 0)
 )
 
 Attempted scroll to 0, -5000
@@ -13,9 +22,18 @@ Attempted scroll to 0, -5000
 (Frame scrolling node
   (scrollable area size 785 585)
   (contents size 5008 5021)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (4223,4436))
+  (behavior for fixed 0)
 )
 
 Attempted scroll to -5000, -5000
@@ -23,9 +41,18 @@ Attempted scroll to -5000, -5000
 (Frame scrolling node
   (scrollable area size 785 585)
   (contents size 5008 5021)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (4223,4436))
+  (behavior for fixed 0)
 )
 
 Attempted scroll to 10000, 0
@@ -34,9 +61,19 @@ Attempted scroll to 10000, 0
   (scrollable area size 785 585)
   (contents size 5008 5021)
   (requested scroll position 4223 0)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (4223,4436))
+  (behavior for fixed 0)
 )
 
 Attempted scroll to 0, 10000
@@ -45,9 +82,19 @@ Attempted scroll to 0, 10000
   (scrollable area size 785 585)
   (contents size 5008 5021)
   (requested scroll position 0 4436)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (4223,0) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (4223,4436))
+  (behavior for fixed 0)
 )
 
 Attempted scroll to 10000, 10000
@@ -56,9 +103,19 @@ Attempted scroll to 10000, 10000
   (scrollable area size 785 585)
   (contents size 5008 5021)
   (requested scroll position 4223 4436)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,4436) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (4223,4436))
+  (behavior for fixed 0)
 )
 
 
index 6b6a8e4..2fbfe6e 100644 (file)
@@ -3,9 +3,18 @@
   (scrollable area size 785 600)
   (contents size 785 2710)
   (requested scroll position 0 200)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,200) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,2110))
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 1c82315..368e654 100644 (file)
@@ -3,9 +3,18 @@
   (scrollable area size 785 600)
   (contents size 785 2513)
   (requested scroll position 0 200)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,200) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1913))
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 0b343a2..f8ec0fd 100644 (file)
@@ -3,11 +3,20 @@
   (scrollable area size 785 600)
   (contents size 785 2213)
   (requested scroll position 0 200)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (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)
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 65ea3d9..9032b13 100644 (file)
@@ -2,9 +2,17 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1021)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,421))
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 65ea3d9..9032b13 100644 (file)
@@ -2,9 +2,17 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1021)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,421))
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 6aa6099..bf00f9c 100644 (file)
@@ -3,9 +3,18 @@
   (scrollable area size 785 600)
   (contents size 785 2221)
   (requested scroll position 0 200)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,200) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1621))
+  (behavior for fixed 0)
   (children 4
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 961ca41..a454dbf 100644 (file)
@@ -3,9 +3,20 @@
   (scrollable area size 785 600)
   (contents size 785 2421)
   (requested scroll position 0 200)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (header height 100)
+  (footer height 100)
+  (visual viewport enabled 1)
   (layout viewport at (0,100) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1621))
+  (behavior for fixed 0)
   (children 4
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 8a1798b..0441e99 100644 (file)
@@ -2,10 +2,19 @@
 (Frame scrolling node
   (scrollable area size 785 585)
   (contents size 1805 5108)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1)
+    (has enabled vertical scrollbar 1))
   (frame scale factor 2.30)
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1636))
+  (behavior for fixed 0)
   (children 4
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index a7cfba8..685d155 100644 (file)
@@ -2,9 +2,17 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 2221)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1621))
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index a0e7815..26124bc 100644 (file)
@@ -2,9 +2,17 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 2221)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1621))
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeBottom)
index 6ee62a7..34111e8 100644 (file)
@@ -3,9 +3,18 @@
   (scrollable area size 785 600)
   (contents size 785 2213)
   (requested scroll position 0 200)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,200) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1613))
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index ac5fc57..10ddb14 100644 (file)
@@ -3,9 +3,18 @@
   (scrollable area size 785 600)
   (contents size 785 2513)
   (requested scroll position 0 200)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,200) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1913))
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 8cbb515..51c67f6 100644 (file)
@@ -2,18 +2,34 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (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)
+  (behavior for fixed 0)
   (children 1
     (Frame scrolling node
       (scrollable area size 485 300)
       (contents size 485 420)
+      (scrollable area parameters 
+        (horizontal scroll elasticity 0)
+        (vertical scroll elasticity 0)
+        (horizontal scrollbar mode 0)
+        (vertical scrollbar mode 0)
+        (has enabled vertical scrollbar 1))
+      (visual viewport enabled 1)
       (layout viewport at (0,0) size 485x300)
       (min layout viewport origin (0,0))
       (max layout viewport origin (0,120))
+      (behavior for fixed 0)
       (children 1
         (Sticky node
           (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
index eda8699..2f4a32a 100644 (file)
@@ -2,11 +2,19 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (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)
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
         (Frame scrolling node
           (scrollable area size 500 300)
           (contents size 500 420)
+          (scrollable area parameters 
+            (horizontal scroll elasticity 0)
+            (vertical scroll elasticity 0)
+            (horizontal scrollbar mode 1)
+            (vertical scrollbar mode 1))
+          (visual viewport enabled 1)
           (layout viewport at (0,0) size 500x300)
           (min layout viewport origin (0,0))
           (max layout viewport origin (0,120))
+          (behavior for fixed 0)
           (children 1
             (Sticky node
               (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
index c69dcdf..b67332d 100644 (file)
@@ -2,11 +2,19 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (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)
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
         (Frame scrolling node
           (scrollable area size 485 300)
           (contents size 485 420)
+          (scrollable area parameters 
+            (horizontal scroll elasticity 0)
+            (vertical scroll elasticity 0)
+            (horizontal scrollbar mode 0)
+            (vertical scrollbar mode 0)
+            (has enabled vertical scrollbar 1))
+          (visual viewport enabled 1)
           (layout viewport at (0,0) size 485x300)
           (min layout viewport origin (0,0))
           (max layout viewport origin (0,120))
+          (behavior for fixed 0)
           (children 1
             (Sticky node
               (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
index 0c10de8..9a9f562 100644 (file)
@@ -2,18 +2,33 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (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)
+  (behavior for fixed 0)
   (children 1
     (Frame scrolling node
       (scrollable area size 500 300)
       (contents size 500 420)
+      (scrollable area parameters 
+        (horizontal scroll elasticity 0)
+        (vertical scroll elasticity 0)
+        (horizontal scrollbar mode 1)
+        (vertical scrollbar mode 1))
+      (visual viewport enabled 1)
       (layout viewport at (0,0) size 500x300)
       (min layout viewport origin (0,0))
       (max layout viewport origin (0,120))
+      (behavior for fixed 0)
       (children 1
         (Sticky node
           (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
index a7d9e00..e946460 100644 (file)
@@ -3,17 +3,34 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 657)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,57))
+  (behavior for fixed 0)
   (children 1
     (Frame scrolling node
       (scrollable area size 465 400)
       (contents size 465 1016)
       (requested scroll position 0 120)
+      (requested scroll position represents programmatic scroll 1)
+      (scrollable area parameters 
+        (horizontal scroll elasticity 0)
+        (vertical scroll elasticity 0)
+        (horizontal scrollbar mode 0)
+        (vertical scrollbar mode 0)
+        (has enabled vertical scrollbar 1))
+      (visual viewport enabled 1)
       (layout viewport at (0,120) size 465x400)
       (min layout viewport origin (0,0))
       (max layout viewport origin (0,616))
+      (behavior for fixed 0)
       (children 1
         (Fixed node
           (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index 6d40132..82e9b4c 100644 (file)
@@ -2,9 +2,17 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 1016)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,416))
+  (behavior for fixed 0)
   (children 1
     (Fixed node
       (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
index c848c71..a848985 100644 (file)
@@ -3,10 +3,18 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 757)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (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)
+  (behavior for fixed 0)
 )
 
index 0d3c1bc..2c9b4ac 100644 (file)
@@ -3,8 +3,17 @@
   (scrollable area size 785 600)
   (contents size 785 5021)
   (requested scroll position 0 3000)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,4421))
+  (behavior for fixed 0)
 )
 
index 40a6e5e..a1304d8 100644 (file)
@@ -2,9 +2,16 @@
 (Frame scrolling node
   (scrollable area size 800 600)
   (contents size 800 600)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0))
+  (visual viewport enabled 1)
   (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)
+  (behavior for fixed 0)
 )
 
index f1425e8..24fbfcb 100644 (file)
@@ -2,9 +2,17 @@
 (Frame scrolling node
   (scrollable area size 785 600)
   (contents size 785 2216)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,0) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,1616))
+  (behavior for fixed 0)
   (children 1
     (Sticky node
       (anchor edges: AnchorEdgeLeft AnchorEdgeRight AnchorEdgeBottom)
index 2d4b4b4..27ff523 100644 (file)
@@ -4,9 +4,18 @@ Left sticky Right sticky Left % sticky Right % sticky Left and Right Left and Ri
   (scrollable area size 800 585)
   (contents size 2008 585)
   (requested scroll position 800 0)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled horizontal scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (800,0) size 800x585)
   (min layout viewport origin (0,0))
   (max layout viewport origin (1208,0))
+  (behavior for fixed 0)
   (children 6
     (Sticky node
       (anchor edges: AnchorEdgeLeft )
index 7ec368e..311b821 100644 (file)
@@ -8,9 +8,18 @@ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
   (scrollable area size 785 600)
   (contents size 785 2908)
   (requested scroll position 0 580)
+  (requested scroll position represents programmatic scroll 1)
+  (scrollable area parameters 
+    (horizontal scroll elasticity 2)
+    (vertical scroll elasticity 2)
+    (horizontal scrollbar mode 0)
+    (vertical scrollbar mode 0)
+    (has enabled vertical scrollbar 1))
+  (visual viewport enabled 1)
   (layout viewport at (0,580) size 785x600)
   (min layout viewport origin (0,0))
   (max layout viewport origin (0,2308))
+  (behavior for fixed 0)
   (children 6
     (Sticky node
       (anchor edges: AnchorEdgeTop )
index 6fd6ee5..e62e43b 100644 (file)
@@ -1,3 +1,22 @@
+2017-05-09  Frederic Wang  <fwang@igalia.com>
+
+        Print more properties in the output of scrolling trees
+        https://bugs.webkit.org/show_bug.cgi?id=171858
+
+        Reviewed by Simon Fraser.
+
+        No new tests, no behavior changes.
+
+        * page/scrolling/ScrollingCoordinator.cpp: Implement << operator to print ScrollableAreaParameters.
+        (WebCore::operator<<):
+        * page/scrolling/ScrollingCoordinator.h: Declare new << operator.
+        * page/scrolling/ScrollingStateFrameScrollingNode.cpp: Print new properties.
+        (WebCore::ScrollingStateFrameScrollingNode::dumpProperties):
+        * page/scrolling/ScrollingStateScrollingNode.cpp: ditto.
+        (WebCore::ScrollingStateScrollingNode::dumpProperties):
+        * page/scrolling/ScrollingTreeScrollingNode.cpp: ditto.
+        (WebCore::ScrollingTreeScrollingNode::dumpProperties):
+
 2017-05-09  Chris Dumez  <cdumez@apple.com>
 
         ontransitionend eventHandler should be in GlobalEventHandlers
index e76e9ab..1d9e423 100644 (file)
@@ -419,6 +419,20 @@ String ScrollingCoordinator::synchronousScrollingReasonsAsText() const
     return String();
 }
 
+TextStream& operator<<(TextStream& ts, ScrollableAreaParameters scrollableAreaParameters)
+{
+    ts.dumpProperty("horizontal scroll elasticity", scrollableAreaParameters.horizontalScrollElasticity);
+    ts.dumpProperty("vertical scroll elasticity", scrollableAreaParameters.verticalScrollElasticity);
+    ts.dumpProperty("horizontal scrollbar mode", scrollableAreaParameters.horizontalScrollbarMode);
+    ts.dumpProperty("vertical scrollbar mode", scrollableAreaParameters.verticalScrollbarMode);
+    if (scrollableAreaParameters.hasEnabledHorizontalScrollbar)
+        ts.dumpProperty("has enabled horizontal scrollbar", scrollableAreaParameters.hasEnabledHorizontalScrollbar);
+    if (scrollableAreaParameters.hasEnabledVerticalScrollbar)
+        ts.dumpProperty("has enabled vertical scrollbar", scrollableAreaParameters.hasEnabledVerticalScrollbar);
+
+    return ts;
+}
+
 TextStream& operator<<(TextStream& ts, ScrollingNodeType nodeType)
 {
     switch (nodeType) {
index d8459a9..381785f 100644 (file)
@@ -244,6 +244,7 @@ private:
     bool m_forceSynchronousScrollLayerPositionUpdates { false };
 };
 
+WEBCORE_EXPORT TextStream& operator<<(TextStream&, ScrollableAreaParameters);
 WEBCORE_EXPORT TextStream& operator<<(TextStream&, ScrollingNodeType);
 WEBCORE_EXPORT TextStream& operator<<(TextStream&, ScrollingLayerPositionAction);
 
index 180e861..b6e7133 100644 (file)
@@ -268,10 +268,26 @@ void ScrollingStateFrameScrollingNode::dumpProperties(TextStream& ts, ScrollingS
     
     ScrollingStateScrollingNode::dumpProperties(ts, behavior);
     
+    if (behavior & ScrollingStateTreeAsTextBehaviorIncludeLayerIDs) {
+        ts.dumpProperty("counter scrolling layer ID", m_counterScrollingLayer.layerID());
+        ts.dumpProperty("inset clip layer ID", m_insetClipLayer.layerID());
+        ts.dumpProperty("scrolled contents layer ID", m_scrolledContentsLayer.layerID());
+        ts.dumpProperty("content shadow layer ID", m_contentShadowLayer.layerID());
+        ts.dumpProperty("header layer ID", m_headerLayer.layerID());
+        ts.dumpProperty("footer layer ID", m_footerLayer.layerID());
+    }
+
     if (m_frameScaleFactor != 1)
         ts.dumpProperty("frame scale factor", m_frameScaleFactor);
+    if (m_topContentInset)
+        ts.dumpProperty("top content inset", m_topContentInset);
+    if (m_headerHeight)
+        ts.dumpProperty("header height", m_headerHeight);
+    if (m_footerHeight)
+        ts.dumpProperty("footer height", m_footerHeight);
     
     if (m_visualViewportEnabled) {
+        ts.dumpProperty("visual viewport enabled", m_visualViewportEnabled);
         ts.dumpProperty("layout viewport", m_layoutViewport);
         ts.dumpProperty("min layout viewport origin", m_minLayoutViewportOrigin);
         ts.dumpProperty("max layout viewport origin", m_maxLayoutViewportOrigin);
@@ -305,7 +321,15 @@ void ScrollingStateFrameScrollingNode::dumpProperties(TextStream& ts, ScrollingS
     if (m_synchronousScrollingReasons)
         ts.dumpProperty("Scrolling on main thread because:", ScrollingCoordinator::synchronousScrollingReasonsAsText(m_synchronousScrollingReasons));
     
-    // FIXME: dump more properties.
+    ts.dumpProperty("behavior for fixed", m_behaviorForFixed);
+
+    if (m_requestedScrollPosition != FloatPoint())
+        ts.dumpProperty("requested scroll position", m_requestedScrollPosition);
+    if (m_requestedScrollPositionRepresentsProgrammaticScroll)
+        ts.dumpProperty("requested scroll position represents programmatic scroll", m_requestedScrollPositionRepresentsProgrammaticScroll);
+
+    if (m_fixedElementsLayoutRelativeToFrame)
+        ts.dumpProperty("fixed elements lay out relative to frame", m_fixedElementsLayoutRelativeToFrame);
 }
 
 } // namespace WebCore
index 311ed8e..82e6a63 100644 (file)
@@ -210,15 +210,39 @@ void ScrollingStateScrollingNode::dumpProperties(TextStream& ts, ScrollingStateT
             << TextStream::FormatNumberRespectingIntegers(m_totalContentsSize.height());
     }
 
+    if (m_reachableContentsSize != m_totalContentsSize)
+        ts.dumpProperty("reachable contents size", m_reachableContentsSize);
+
     if (m_requestedScrollPosition != IntPoint()) {
         TextStream::GroupScope scope(ts);
         ts << "requested scroll position "
             << TextStream::FormatNumberRespectingIntegers(m_requestedScrollPosition.x()) << " "
             << TextStream::FormatNumberRespectingIntegers(m_requestedScrollPosition.y());
     }
+    if (m_requestedScrollPositionRepresentsProgrammaticScroll)
+        ts.dumpProperty("requested scroll position represents programmatic scroll", m_requestedScrollPositionRepresentsProgrammaticScroll);
 
     if (m_scrollOrigin != IntPoint())
         ts.dumpProperty("scroll origin", m_scrollOrigin);
+
+#if ENABLE(CSS_SCROLL_SNAP)
+    if (m_snapOffsetsInfo.horizontalSnapOffsets.size())
+        ts.dumpProperty("horizontal snap offsets", m_snapOffsetsInfo.horizontalSnapOffsets);
+
+    if (m_snapOffsetsInfo.verticalSnapOffsets.size())
+        ts.dumpProperty("vertical snap offsets", m_snapOffsetsInfo.verticalSnapOffsets);
+
+    if (m_currentHorizontalSnapPointIndex)
+        ts.dumpProperty("current horizontal snap point index", m_currentHorizontalSnapPointIndex);
+
+    if (m_currentVerticalSnapPointIndex)
+        ts.dumpProperty("current vertical snap point index", m_currentVerticalSnapPointIndex);
+#endif
+
+    ts.dumpProperty("scrollable area parameters", m_scrollableAreaParameters);
+
+    if (m_expectsWheelEventTestTrigger)
+        ts.dumpProperty("expects wheel event test trigger", m_expectsWheelEventTestTrigger);
 }
 
 } // namespace WebCore
index a81860a..57410e6 100644 (file)
@@ -158,6 +158,8 @@ void ScrollingTreeScrollingNode::dumpProperties(TextStream& ts, ScrollingStateTr
         ts.dumpProperty("current vertical snap point index", m_currentVerticalSnapPointIndex);
     
 #endif
+
+    ts.dumpProperty("scrollable area parameters", m_scrollableAreaParameters);
 }
 
 } // namespace WebCore