Title: [256903] trunk
Revision
256903
Author
wenson_hs...@apple.com
Date
2020-02-18 20:15:11 -0800 (Tue, 18 Feb 2020)

Log Message

REGRESSION (r256093): fast/events/touch/ios/block-without-overflow-scroll.html is failing
https://bugs.webkit.org/show_bug.cgi?id=207919
<rdar://problem/59565344>

Reviewed by Tim Horton.

Source/WebCore:

Three iOS-specific layout tests began to fail after r256093, since they currently depend on a particular
ordering when iterating over elements in a hash map. Instead of just rebaselining these tests, we can make them
more robust against similar changes in the future by forcing a deterministic order when printing out synchronous
touch event regions for testing.

I arbitrarily chose to sort the keys (which are touch event type names) in alphabetical order.

* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties const):

LayoutTests:

Rebaseline some layout tests after changing the order in which synchronous touch event regions are dumped when
calling internals.scrollingStateTreeAsText().

* fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt:
* fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt:
* fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (256902 => 256903)


--- trunk/LayoutTests/ChangeLog	2020-02-19 03:53:59 UTC (rev 256902)
+++ trunk/LayoutTests/ChangeLog	2020-02-19 04:15:11 UTC (rev 256903)
@@ -1,3 +1,18 @@
+2020-02-18  Wenson Hsieh  <wenson_hs...@apple.com>
+
+        REGRESSION (r256093): fast/events/touch/ios/block-without-overflow-scroll.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=207919
+        <rdar://problem/59565344>
+
+        Reviewed by Tim Horton.
+
+        Rebaseline some layout tests after changing the order in which synchronous touch event regions are dumped when
+        calling internals.scrollingStateTreeAsText().
+
+        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt:
+        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt:
+        * fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt:
+
 2020-02-18  Ryan Haddad  <ryanhad...@apple.com>
 
         Changed results due to ANGLE use

Modified: trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt (256902 => 256903)


--- trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt	2020-02-19 03:53:59 UTC (rev 256902)
+++ trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt	2020-02-19 04:15:11 UTC (rev 256903)
@@ -15,12 +15,12 @@
   (max layout viewport origin (0,0))
   (synchronous event dispatch region for event touchend
     at (8,8) size 784x200)
-  (synchronous event dispatch region for event touchstart
-    at (8,8) size 784x200)
   (synchronous event dispatch region for event touchforcechange
     at (8,8) size 784x200)
   (synchronous event dispatch region for event touchmove
     at (8,8) size 784x200)
+  (synchronous event dispatch region for event touchstart
+    at (8,8) size 784x200)
   (behavior for fixed 0)
 )
 

Modified: trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt (256902 => 256903)


--- trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt	2020-02-19 03:53:59 UTC (rev 256902)
+++ trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt	2020-02-19 04:15:11 UTC (rev 256903)
@@ -17,12 +17,12 @@
     at (0,0) size 800x600)
   (synchronous event dispatch region for event touchend
     at (8,8) size 784x200)
-  (synchronous event dispatch region for event touchstart
-    at (8,8) size 784x200)
   (synchronous event dispatch region for event touchforcechange
     at (8,8) size 784x200)
   (synchronous event dispatch region for event touchmove
     at (8,8) size 784x200)
+  (synchronous event dispatch region for event touchstart
+    at (8,8) size 784x200)
   (behavior for fixed 0)
 )
 

Modified: trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt (256902 => 256903)


--- trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt	2020-02-19 03:53:59 UTC (rev 256902)
+++ trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt	2020-02-19 04:15:11 UTC (rev 256903)
@@ -15,12 +15,12 @@
   (max layout viewport origin (0,0))
   (synchronous event dispatch region for event touchend
     at (0,0) size 800x200)
-  (synchronous event dispatch region for event touchstart
-    at (0,0) size 800x200)
   (synchronous event dispatch region for event touchforcechange
     at (0,0) size 800x200)
   (synchronous event dispatch region for event touchmove
     at (0,0) size 800x200)
+  (synchronous event dispatch region for event touchstart
+    at (0,0) size 800x200)
   (behavior for fixed 0)
 )
 

Modified: trunk/Source/WebCore/ChangeLog (256902 => 256903)


--- trunk/Source/WebCore/ChangeLog	2020-02-19 03:53:59 UTC (rev 256902)
+++ trunk/Source/WebCore/ChangeLog	2020-02-19 04:15:11 UTC (rev 256903)
@@ -1,3 +1,21 @@
+2020-02-18  Wenson Hsieh  <wenson_hs...@apple.com>
+
+        REGRESSION (r256093): fast/events/touch/ios/block-without-overflow-scroll.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=207919
+        <rdar://problem/59565344>
+
+        Reviewed by Tim Horton.
+
+        Three iOS-specific layout tests began to fail after r256093, since they currently depend on a particular
+        ordering when iterating over elements in a hash map. Instead of just rebaselining these tests, we can make them
+        more robust against similar changes in the future by forcing a deterministic order when printing out synchronous
+        touch event regions for testing.
+
+        I arbitrarily chose to sort the keys (which are touch event type names) in alphabetical order.
+
+        * page/scrolling/ScrollingStateFrameScrollingNode.cpp:
+        (WebCore::ScrollingStateFrameScrollingNode::dumpProperties const):
+
 2020-02-18  Youenn Fablet  <you...@apple.com>
 
         PlatformMediaSessionClient::processingUserGestureForMedia is not needed

Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp (256902 => 256903)


--- trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp	2020-02-19 03:53:59 UTC (rev 256902)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp	2020-02-19 04:15:11 UTC (rev 256903)
@@ -338,11 +338,15 @@
         }
     }
 
-    if (!m_eventTrackingRegions.eventSpecificSynchronousDispatchRegions.isEmpty()) {
-        for (const auto& synchronousEventRegion : m_eventTrackingRegions.eventSpecificSynchronousDispatchRegions) {
+    auto& synchronousDispatchRegionMap = m_eventTrackingRegions.eventSpecificSynchronousDispatchRegions;
+    if (!synchronousDispatchRegionMap.isEmpty()) {
+        auto eventRegionNames = copyToVector(synchronousDispatchRegionMap.keys());
+        std::sort(eventRegionNames.begin(), eventRegionNames.end(), WTF::codePointCompareLessThan);
+        for (const auto& name : eventRegionNames) {
+            const auto& region = synchronousDispatchRegionMap.get(name);
             TextStream::GroupScope scope(ts);
-            ts << "synchronous event dispatch region for event " << synchronousEventRegion.key;
-            for (auto rect : synchronousEventRegion.value.rects()) {
+            ts << "synchronous event dispatch region for event " << name;
+            for (auto rect : region.rects()) {
                 ts << "\n";
                 ts << indent << rect;
             }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to