Bug 303401
| Summary: | [scroll-anchoring] WPT test `scroll-animations/scroll-timelines/animation-with-root-scroller.html` fails with "Threaded Scroll-driven Animations" enabled | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Antoine Quint <graouts> |
| Component: | Scrolling | Assignee: | Antoine Quint <graouts> |
| Status: | NEW | ||
| Severity: | Normal | CC: | simon.fraser, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Antoine Quint
Once bug 303313 and bug 303317 both land, the WPT test `scroll-animations/scroll-timelines/animation-with-root-scroller.html` fails with "Threaded Scroll-driven Animations" enabled, but passes if "CSS Scroll Anchoring" is disabled.
This fails:
run-webkit-tests --debug --experimental-feature ThreadedScrollDrivenAnimationsEnabled=true imported/w3c/web-platform-tests/scroll-animations/scroll-timelines/animation-with-root-scroller.html
This passes:
run-webkit-tests --debug --experimental-feature ThreadedScrollDrivenAnimationsEnabled=true --experimental-feature CSSScrollAnchoringEnabled=false imported/w3c/web-platform-tests/scroll-animations/scroll-timelines/animation-with-root-scroller.html
The reason this reftest fails is that the whole document gets scrolled to the bottom of the page yielding the `RemoteProgressBasedTimeline` to have its current time set to 100% instead of the expected 50%. I traced the programmatic scroll being triggered under `Document::runScrollSteps()` and the call to `frameView->updateScrollAnchoringPositionForScrollableAreas()`.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/165703614>
Antoine Quint
This also affects the following tests which are flakey ImageOnlyFailure on macOS… but not on iOS:
scroll-animations/css/scroll-timeline-default-quirks-mode.html [ ImageOnlyFailure Pass ]
scroll-animations/css/scroll-timeline-default-writing-mode-rl.html [ ImageOnlyFailure Pass ]
scroll-animations/css/scroll-timeline-default.html [ ImageOnlyFailure Pass ]
scroll-animations/css/scroll-timeline-frame-size-changed.html [ ImageOnlyFailure Pass ]
scroll-animations/css/scroll-timeline-inline-orientation.html [ ImageOnlyFailure Pass ]
The test scroll-animations/scroll-timelines/animation-with-root-scroller.html fails reliably on both macOS and iOS.
Antoine Quint
Further testing indicate that indeed this flakiness also applies to iOS, sorry for the wrong information earlier.
Antoine Quint
https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fscroll-animations%2Fscroll-timelines%2Fanimation-with-root-scroller.html shows this is no longer the case.
Antoine Quint
This progressed with 307007@main.
Antoine Quint
Pull request: https://github.com/WebKit/WebKit/pull/58616
EWS
Test gardening commit 307452@main (954eb7f71ef8): <https://commits.webkit.org/307452@main>
Reviewed commits have been landed. Closing PR #58616 and removing active labels.