Title: [275083] releases/WebKitGTK/webkit-2.32/Source/WebCore
Revision
275083
Author
[email protected]
Date
2021-03-26 01:08:03 -0700 (Fri, 26 Mar 2021)

Log 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 <[email protected]> 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):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog (275082 => 275083)


--- releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog	2021-03-26 07:02:15 UTC (rev 275082)
+++ releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog	2021-03-26 08:08:03 UTC (rev 275083)
@@ -1,3 +1,17 @@
+2021-03-26  Alejandro G. Castro  <[email protected]>
+
+        [GTK][WPE] Wrong frame scrolled when view is horizontally scrolled with async scrolling enabled
+        https://bugs.webkit.org/show_bug.cgi?id=222900
+
+        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):
+
 2021-03-18  Carlos Garcia Campos  <[email protected]>
 
         [SOUP] SOUP3 crashes inside soup_message_set_request_body

Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp (275082 => 275083)


--- releases/WebKitGTK/webkit-2.32/Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp	2021-03-26 07:02:15 UTC (rev 275082)
+++ releases/WebKitGTK/webkit-2.32/Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp	2021-03-26 08:08:03 UTC (rev 275083)
@@ -94,7 +94,7 @@
                 float originX = childState.anchorPoint.x() * childState.size.width();
                 float originY = childState.anchorPoint.y() * childState.size.height();
                 auto transform = *(TransformationMatrix()
-                    .translate3d(originX + childState.position.x(), originY + childState.position.y(), childState.anchorPoint.z())
+                    .translate3d(originX + childState.position.x() - state.boundsOrigin.x(), originY + childState.position.y() - state.boundsOrigin.y(), childState.anchorPoint.z())
                     .multiply(childState.transform)
                     .translate3d(-originX, -originY, -childState.anchorPoint.z()).inverse());
                 auto pointInChildSpace = transform.projectPoint(point);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to