[webkit-changes] [WebKit/WebKit] a53d9e: REGRESSION (269897 at main): [ Sonoma wk2 ] 2 tests i...
Simon Fraser
noreply at github.com
Sun Nov 5 07:33:25 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a53d9e00eb65bcb56d2d24b1edde139091027c63
https://github.com/WebKit/WebKit/commit/a53d9e00eb65bcb56d2d24b1edde139091027c63
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2023-11-05 (Sun, 05 Nov 2023)
Changed paths:
M LayoutTests/platform/mac-ventura-wk2/TestExpectations
M LayoutTests/platform/mac-wk2/TestExpectations
M LayoutTests/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt
M LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt
M LayoutTests/tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt
M LayoutTests/tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
M Source/WebCore/platform/ScrollView.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm
Log Message:
-----------
REGRESSION (269897 at main): [ Sonoma wk2 ] 2 tests in imported/w3c/web-platform-tests/css/cssom-view/ are a constant failure
https://bugs.webkit.org/show_bug.cgi?id=263925
rdar://117706782
Reviewed by Richard Robinson.
Fix a bug introduced in 269897 at main, and an older bug that prevented scroll-behavior-main-frame* tests from passing.
In 269897 at main the intermediate scrollTo() that we do when we have `requestedDataBeforeAnimatedScroll` data needs
to also contribute its destination position to the animated scroll that happens second, but both
`ScrollingTreeScrollingNode::handleScrollPositionRequest()` and `RemoteScrollingTreeMac::startPendingScrollAnimations()`
failed to do this.
Even wit this fix, two WPT tests were failing when they made the following sequence of programmatic scrolls:
scrollBy(0, X, animated)
scrollTo(0, 0)
scrollBy(0, Y, animated)
We'd end up scrolling to X + Y because `ScrollView::setScrollPosition()` early returned if there was no position
change for the `scrollTo(0, 0)`. But we need to hit `requestScrollToPosition()` so that we have a chance to
cancel the enqueued animated scroll, so remove the `!delegatesScrollingToNativeView()` check.
* LayoutTests/platform/mac-ventura-wk2/TestExpectations:
* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::handleScrollPositionRequest):
* Source/WebCore/platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollPosition):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::startPendingScrollAnimations):
Canonical link: https://commits.webkit.org/270243@main
More information about the webkit-changes
mailing list