Title: [278429] trunk
Revision
278429
Author
cl...@igalia.com
Date
2021-06-03 16:39:32 -0700 (Thu, 03 Jun 2021)

Log Message

[WPE] position:sticky content is not correctly offset on async scrolled overflow layers with an RTL vertical scrollbar
https://bugs.webkit.org/show_bug.cgi?id=226327

Reviewed by Darin Adler.

Source/WebCore:

Make sure to respect the origin of sticky positioning nodes'
constraining rect.

No new tests, covered by existing tests.

* page/scrolling/cocoa/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::computeLayerPosition const):
* page/scrolling/nicosia/ScrollingTreeStickyNode.cpp:
(WebCore::ScrollingTreeStickyNode::computeLayerPosition const):

LayoutTests:

Some sticky-positioning RTL related tests now pass.

* platform/wpe/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (278428 => 278429)


--- trunk/LayoutTests/ChangeLog	2021-06-03 23:37:25 UTC (rev 278428)
+++ trunk/LayoutTests/ChangeLog	2021-06-03 23:39:32 UTC (rev 278429)
@@ -1,3 +1,14 @@
+2021-06-03  Chris Lord  <cl...@igalia.com>
+
+        [WPE] position:sticky content is not correctly offset on async scrolled overflow layers with an RTL vertical scrollbar
+        https://bugs.webkit.org/show_bug.cgi?id=226327
+
+        Reviewed by Darin Adler.
+
+        Some sticky-positioning RTL related tests now pass.
+
+        * platform/wpe/TestExpectations:
+
 2021-06-03  Simon Fraser  <simon.fra...@apple.com>
 
         REGRESSION (Safari 14): Menu items jump around on codelearn.cat

Modified: trunk/LayoutTests/platform/wpe/TestExpectations (278428 => 278429)


--- trunk/LayoutTests/platform/wpe/TestExpectations	2021-06-03 23:37:25 UTC (rev 278428)
+++ trunk/LayoutTests/platform/wpe/TestExpectations	2021-06-03 23:39:32 UTC (rev 278429)
@@ -716,8 +716,6 @@
 webkit.org/b/224596 css3/filters/clipping-overflow-scroll-with-pixel-moving-effect-on.html [ ImageOnlyFailure ]
 webkit.org/b/224596 fast/scrolling/rtl-scrollbars-overflow-dir-rtl.html [ ImageOnlyFailure ]
 webkit.org/b/224596 fast/scrolling/rtl-scrollbars-overflow-padding.html [ ImageOnlyFailure ]
-webkit.org/b/224596 fast/scrolling/rtl-scrollbars-sticky-overflow-scroll-2.html [ ImageOnlyFailure ]
-webkit.org/b/224596 fast/scrolling/rtl-scrollbars-sticky-overflow-scroll.html [ ImageOnlyFailure ]
 webkit.org/b/224596 imported/w3c/web-platform-tests/css/css-grid/grid-model/grid-container-scrollbar-vertical-lr-001.html [ ImageOnlyFailure ]
 webkit.org/b/224596 imported/w3c/web-platform-tests/css/css-grid/grid-model/grid-container-scrollbar-vertical-rl-001.html [ ImageOnlyFailure ]
 webkit.org/b/224596 imported/w3c/web-platform-tests/css/css-position/hypothetical-box-scroll-parent.html [ ImageOnlyFailure ]

Modified: trunk/Source/WebCore/ChangeLog (278428 => 278429)


--- trunk/Source/WebCore/ChangeLog	2021-06-03 23:37:25 UTC (rev 278428)
+++ trunk/Source/WebCore/ChangeLog	2021-06-03 23:39:32 UTC (rev 278429)
@@ -1,3 +1,20 @@
+2021-06-03  Chris Lord  <cl...@igalia.com>
+
+        [WPE] position:sticky content is not correctly offset on async scrolled overflow layers with an RTL vertical scrollbar
+        https://bugs.webkit.org/show_bug.cgi?id=226327
+
+        Reviewed by Darin Adler.
+
+        Make sure to respect the origin of sticky positioning nodes'
+        constraining rect.
+
+        No new tests, covered by existing tests.
+
+        * page/scrolling/cocoa/ScrollingTreeStickyNode.mm:
+        (WebCore::ScrollingTreeStickyNode::computeLayerPosition const):
+        * page/scrolling/nicosia/ScrollingTreeStickyNode.cpp:
+        (WebCore::ScrollingTreeStickyNode::computeLayerPosition const):
+
 2021-06-03  Simon Fraser  <simon.fra...@apple.com>
 
         REGRESSION (Safari 14): Menu items jump around on codelearn.cat

Modified: trunk/Source/WebCore/page/scrolling/cocoa/ScrollingTreeStickyNode.mm (278428 => 278429)


--- trunk/Source/WebCore/page/scrolling/cocoa/ScrollingTreeStickyNode.mm	2021-06-03 23:37:25 UTC (rev 278428)
+++ trunk/Source/WebCore/page/scrolling/cocoa/ScrollingTreeStickyNode.mm	2021-06-03 23:39:32 UTC (rev 278429)
@@ -76,7 +76,8 @@
             constrainingRect = frameScrollingNode.layoutViewport();
         } else {
             auto& overflowScrollingNode = downcast<ScrollingTreeOverflowScrollingNode>(scrollingNode);
-            constrainingRect = FloatRect(overflowScrollingNode.currentScrollOffset(), m_constraints.constrainingRectAtLastLayout().size());
+            constrainingRect = m_constraints.constrainingRectAtLastLayout();
+            constrainingRect.move(overflowScrollingNode.scrollDeltaSinceLastCommit());
         }
         return m_constraints.layerPositionForConstrainingRect(constrainingRect);
     };

Modified: trunk/Source/WebCore/page/scrolling/nicosia/ScrollingTreeStickyNode.cpp (278428 => 278429)


--- trunk/Source/WebCore/page/scrolling/nicosia/ScrollingTreeStickyNode.cpp	2021-06-03 23:37:25 UTC (rev 278428)
+++ trunk/Source/WebCore/page/scrolling/nicosia/ScrollingTreeStickyNode.cpp	2021-06-03 23:39:32 UTC (rev 278429)
@@ -118,7 +118,8 @@
             constrainingRect = frameScrollingNode.layoutViewport();
         } else {
             auto& overflowScrollingNode = downcast<ScrollingTreeOverflowScrollingNode>(scrollingNode);
-            constrainingRect = FloatRect(overflowScrollingNode.currentScrollOffset(), m_constraints.constrainingRectAtLastLayout().size());
+            constrainingRect = m_constraints.constrainingRectAtLastLayout();
+            constrainingRect.move(overflowScrollingNode.scrollDeltaSinceLastCommit());
         }
         return m_constraints.layerPositionForConstrainingRect(constrainingRect);
     };
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to