Changeset 256903 in webkit


Ignore:
Timestamp:
Feb 18, 2020 8:15:11 PM (4 years ago)
Author:
Wenson Hsieh
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:
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r256897 r256903  
     12020-02-18  Wenson Hsieh  <wenson_hsieh@apple.com>
     2
     3        REGRESSION (r256093): fast/events/touch/ios/block-without-overflow-scroll.html is failing
     4        https://bugs.webkit.org/show_bug.cgi?id=207919
     5        <rdar://problem/59565344>
     6
     7        Reviewed by Tim Horton.
     8
     9        Rebaseline some layout tests after changing the order in which synchronous touch event regions are dumped when
     10        calling internals.scrollingStateTreeAsText().
     11
     12        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt:
     13        * fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt:
     14        * fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt:
     15
    1162020-02-18  Ryan Haddad  <ryanhaddad@apple.com>
    217
  • trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt

    r242942 r256903  
    1616  (synchronous event dispatch region for event touchend
    1717    at (8,8) size 784x200)
    18   (synchronous event dispatch region for event touchstart
    19     at (8,8) size 784x200)
    2018  (synchronous event dispatch region for event touchforcechange
    2119    at (8,8) size 784x200)
    2220  (synchronous event dispatch region for event touchmove
    2321    at (8,8) size 784x200)
     22  (synchronous event dispatch region for event touchstart
     23    at (8,8) size 784x200)
    2424  (behavior for fixed 0)
    2525)
  • trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt

    r242942 r256903  
    1818  (synchronous event dispatch region for event touchend
    1919    at (8,8) size 784x200)
    20   (synchronous event dispatch region for event touchstart
    21     at (8,8) size 784x200)
    2220  (synchronous event dispatch region for event touchforcechange
    2321    at (8,8) size 784x200)
    2422  (synchronous event dispatch region for event touchmove
    2523    at (8,8) size 784x200)
     24  (synchronous event dispatch region for event touchstart
     25    at (8,8) size 784x200)
    2626  (behavior for fixed 0)
    2727)
  • trunk/LayoutTests/fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt

    r242942 r256903  
    1616  (synchronous event dispatch region for event touchend
    1717    at (0,0) size 800x200)
    18   (synchronous event dispatch region for event touchstart
    19     at (0,0) size 800x200)
    2018  (synchronous event dispatch region for event touchforcechange
    2119    at (0,0) size 800x200)
    2220  (synchronous event dispatch region for event touchmove
    2321    at (0,0) size 800x200)
     22  (synchronous event dispatch region for event touchstart
     23    at (0,0) size 800x200)
    2424  (behavior for fixed 0)
    2525)
  • trunk/Source/WebCore/ChangeLog

    r256901 r256903  
     12020-02-18  Wenson Hsieh  <wenson_hsieh@apple.com>
     2
     3        REGRESSION (r256093): fast/events/touch/ios/block-without-overflow-scroll.html is failing
     4        https://bugs.webkit.org/show_bug.cgi?id=207919
     5        <rdar://problem/59565344>
     6
     7        Reviewed by Tim Horton.
     8
     9        Three iOS-specific layout tests began to fail after r256093, since they currently depend on a particular
     10        ordering when iterating over elements in a hash map. Instead of just rebaselining these tests, we can make them
     11        more robust against similar changes in the future by forcing a deterministic order when printing out synchronous
     12        touch event regions for testing.
     13
     14        I arbitrarily chose to sort the keys (which are touch event type names) in alphabetical order.
     15
     16        * page/scrolling/ScrollingStateFrameScrollingNode.cpp:
     17        (WebCore::ScrollingStateFrameScrollingNode::dumpProperties const):
     18
    1192020-02-18  Youenn Fablet  <youenn@apple.com>
    220
  • trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp

    r247839 r256903  
    339339    }
    340340
    341     if (!m_eventTrackingRegions.eventSpecificSynchronousDispatchRegions.isEmpty()) {
    342         for (const auto& synchronousEventRegion : m_eventTrackingRegions.eventSpecificSynchronousDispatchRegions) {
     341    auto& synchronousDispatchRegionMap = m_eventTrackingRegions.eventSpecificSynchronousDispatchRegions;
     342    if (!synchronousDispatchRegionMap.isEmpty()) {
     343        auto eventRegionNames = copyToVector(synchronousDispatchRegionMap.keys());
     344        std::sort(eventRegionNames.begin(), eventRegionNames.end(), WTF::codePointCompareLessThan);
     345        for (const auto& name : eventRegionNames) {
     346            const auto& region = synchronousDispatchRegionMap.get(name);
    343347            TextStream::GroupScope scope(ts);
    344             ts << "synchronous event dispatch region for event " << synchronousEventRegion.key;
    345             for (auto rect : synchronousEventRegion.value.rects()) {
     348            ts << "synchronous event dispatch region for event " << name;
     349            for (auto rect : region.rects()) {
    346350                ts << "\n";
    347351                ts << indent << rect;
Note: See TracChangeset for help on using the changeset viewer.