Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 858f6109867c85f5f45a50ea996788ddad27074c
https://github.com/WebKit/WebKit/commit/858f6109867c85f5f45a50ea996788ddad27074c
Author: Antoine Quint <[email protected]>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteAnimationStack.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteAnimationStack.mm
M
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.mm
Log Message:
-----------
[threaded-animations] many scroll-animations WPT tests involving programmatic
scroll fail with "Threaded Scroll-driven Animations" enabled
https://bugs.webkit.org/show_bug.cgi?id=303313
rdar://165614575
Reviewed by Matt Woodrow.
While we correctly update progress-based timelines during a programmatic
scroll, eg. a scroll
initiated by JavaScript using the `scrollLeft` or `scrollTop` DOM property, we
fail to update
animations themselves. We now call `updateAnimations()` within
`RemoteLayerTreeEventDispatcher`
while in `waitForRenderingUpdateCompletionOrTimeout()`.
This patch fixes the following WPT tests which were ImageOnlyFailure failures:
-
imported/w3c/web-platform-tests/scroll-animations/css/animation-fill-outside-range-test.html
-
imported/w3c/web-platform-tests/scroll-animations/css/deferred-timeline-composited.html
-
imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-default.html
-
imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-inline-orientation.html
-
imported/w3c/web-platform-tests/scroll-animations/scroll-timelines/animation-with-animatable-interface.html
-
imported/w3c/web-platform-tests/scroll-animations/scroll-timelines/animation-with-display-none.html
-
imported/w3c/web-platform-tests/scroll-animations/scroll-timelines/set-current-time-before-play.html
Note that there is no test change in this patch since the flag is not yet
enabled on bots. This
was caught in preparation of that running animation tests locally using
`--experimental-feature ThreadedScrollDrivenAnimationsEnabled=true`.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteAnimationStack.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteAnimationStack.mm:
(WebKit::RemoteAnimationStack::applyEffects const):
(WebKit::RemoteAnimationStack::applyEffectsFromScrollingThread const): Deleted.
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.mm:
(WebKit::RemoteLayerTreeEventDispatcher::renderingUpdateComplete):
(WebKit::RemoteLayerTreeEventDispatcher::updateAnimations):
Canonical link: https://commits.webkit.org/303810@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications