⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 275083 in webkit


Ignore:
Timestamp:
Mar 26, 2021, 1:08:03 AM (5 years ago)
Author:
Carlos Garcia Campos
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-03-26
Reviewed by Carlos Garcia Campos.

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.

  • page/scrolling/nicosia/ScrollingTreeNicosia.cpp:

(WebCore::collectDescendantLayersAtPoint):

Location:
releases/WebKitGTK/webkit-2.32/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog

    r275043 r275083  
     12021-03-26  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 Carlos Garcia Campos.
     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        * page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
     13        (WebCore::collectDescendantLayersAtPoint):
     14
    1152021-03-18  Carlos Garcia Campos  <cgarcia@igalia.com>
    216
  • releases/WebKitGTK/webkit-2.32/Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp

    r270501 r275083  
    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());
Note: See TracChangeset for help on using the changeset viewer.