Changeset 275593 in webkit


Ignore:
Timestamp:
Apr 7, 2021 1:32:32 AM (3 years ago)
Author:
commit-queue@webkit.org
Message:

[GTK][WPE] Wrong frame scrolled when view is horizontally scrolled with async scrolling enabled
https://bugs.webkit.org/show_bug.cgi?id=222900

Patch by Alejandro G. Castro <alex@igalia.com> on 2021-04-07
Reviewed by Žan Doberšek.

Source/WebCore:

We need to use the scrolling offset in the parent when collecting
the descendant layers at a point. We substract the boundsOrigin to
make sure we transform the point considering the scrolling offset.

Test: fast/scrolling/scrolling-inside-scrolled-overflowarea.html

  • page/scrolling/nicosia/ScrollingTreeNicosia.cpp:

(WebCore::collectDescendantLayersAtPoint):

Tools:

We were not testing the async code path for WPE, it is important
we do it because it is the default option.

  • WebKitTestRunner/wpe/TestControllerWPE.cpp:

(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
Activating AsyncOverflowScrollingEnabled.

LayoutTests:

Add test for the use case.

  • fast/scrolling/scrolling-inside-scrolled-overflowarea-expected.txt: Added.
  • fast/scrolling/scrolling-inside-scrolled-overflowarea.html: Added.
  • platform/ios/TestExpectations: The test uses mouseMoveTo and it is not supported in IOS.
Location:
trunk
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r275591 r275593  
     12021-04-07  Alejandro G. Castro  <alex@igalia.com>
     2
     3        [GTK][WPE] Wrong frame scrolled when view is horizontally scrolled with async scrolling enabled
     4        https://bugs.webkit.org/show_bug.cgi?id=222900
     5
     6        Reviewed by Žan Doberšek.
     7
     8        Add test for the use case.
     9
     10        * fast/scrolling/scrolling-inside-scrolled-overflowarea-expected.txt: Added.
     11        * fast/scrolling/scrolling-inside-scrolled-overflowarea.html: Added.
     12        * platform/ios/TestExpectations: The test uses mouseMoveTo and it is not supported in IOS.
     13
    1142021-04-07  Ryosuke Niwa  <rniwa@webkit.org>
    215
  • trunk/LayoutTests/platform/ios/TestExpectations

    r275548 r275593  
    10551055fast/frames/user-gesture-timestamp-propagation.html [ Failure ]
    10561056fast/events/mouse-click-different-mouseDown-mouseUp-nodes.html [ Skip ]
     1057fast/scrolling/scrolling-inside-scrolled-overflowarea.html [ Skip ]
    10571058
    10581059# The file-wrapper part of <attachment> is not yet working on iOS
  • trunk/Source/WebCore/ChangeLog

    r275591 r275593  
     12021-04-07  Alejandro G. Castro  <alex@igalia.com>
     2
     3        [GTK][WPE] Wrong frame scrolled when view is horizontally scrolled with async scrolling enabled
     4        https://bugs.webkit.org/show_bug.cgi?id=222900
     5
     6        Reviewed by Žan Doberšek.
     7
     8        We need to use the scrolling offset in the parent when collecting
     9        the descendant layers at a point. We substract the boundsOrigin to
     10        make sure we transform the point considering the scrolling offset.
     11
     12        Test: fast/scrolling/scrolling-inside-scrolled-overflowarea.html
     13
     14        * page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
     15        (WebCore::collectDescendantLayersAtPoint):
     16
    1172021-04-07  Ryosuke Niwa  <rniwa@webkit.org>
    218
  • trunk/Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp

    r270501 r275593  
    9595                float originY = childState.anchorPoint.y() * childState.size.height();
    9696                auto transform = *(TransformationMatrix()
    97                     .translate3d(originX + childState.position.x(), originY + childState.position.y(), childState.anchorPoint.z())
     97                    .translate3d(originX + childState.position.x() - state.boundsOrigin.x(), originY + childState.position.y() - state.boundsOrigin.y(), childState.anchorPoint.z())
    9898                    .multiply(childState.transform)
    9999                    .translate3d(-originX, -originY, -childState.anchorPoint.z()).inverse());
  • trunk/Tools/ChangeLog

    r275587 r275593  
     12021-04-07  Alejandro G. Castro  <alex@igalia.com>
     2
     3        [GTK][WPE] Wrong frame scrolled when view is horizontally scrolled with async scrolling enabled
     4        https://bugs.webkit.org/show_bug.cgi?id=222900
     5
     6        Reviewed by Žan Doberšek.
     7
     8        We were not testing the async code path for WPE, it is important
     9        we do it because it is the default option.
     10
     11        * WebKitTestRunner/wpe/TestControllerWPE.cpp:
     12        (WTR::TestController::platformSpecificFeatureDefaultsForTest const):
     13        Activating AsyncOverflowScrollingEnabled.
     14
    1152021-04-06  Myles C. Maxfield  <mmaxfield@apple.com>
    216
  • trunk/Tools/WebKitTestRunner/wpe/TestControllerWPE.cpp

    r274810 r275593  
    144144TestFeatures TestController::platformSpecificFeatureDefaultsForTest(const TestCommand&) const
    145145{
    146     return { };
     146    TestFeatures features;
     147    features.boolWebPreferenceFeatures.insert({ "AsyncOverflowScrollingEnabled", true });
     148    return features;
    147149}
    148150
Note: See TracChangeset for help on using the changeset viewer.