Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[WPE] position:sticky content is not correctly offset on async scroll…
…ed 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:


Canonical link: https://commits.webkit.org/238453@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
Chris Lord committed Jun 3, 2021
1 parent f354892 commit 71515ad
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 4 deletions.
11 changes: 11 additions & 0 deletions LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
2021-06-03 Chris Lord <clord@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.fraser@apple.com>

REGRESSION (Safari 14): Menu items jump around on codelearn.cat
Expand Down
2 changes: 0 additions & 2 deletions LayoutTests/platform/wpe/TestExpectations
Expand Up @@ -716,8 +716,6 @@ webkit.org/b/224596 css3/filters/clipping-overflow-scroll-with-pixel-moving-effe
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 ]
Expand Down
17 changes: 17 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,20 @@
2021-06-03 Chris Lord <clord@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.fraser@apple.com>

REGRESSION (Safari 14): Menu items jump around on codelearn.cat
Expand Down
Expand Up @@ -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);
};
Expand Down
Expand Up @@ -118,7 +118,8 @@ FloatPoint ScrollingTreeStickyNode::computeLayerPosition() const
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);
};
Expand Down

0 comments on commit 71515ad

Please sign in to comment.