Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: eb920617601aa76e79ec3ac56f74f309938d3aac
https://github.com/WebKit/WebKit/commit/eb920617601aa76e79ec3ac56f74f309938d3aac
Author: Antoine Quint <[email protected]>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M Source/WebCore/animation/KeyframeEffect.cpp
M Source/WebCore/animation/WebAnimation.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteProgressBasedTimeline.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteProgressBasedTimeline.h
M
Source/WebKit/UIProcess/RemoteLayerTree/RemoteProgressBasedTimelineRegistry.cpp
M
Source/WebKit/UIProcess/RemoteLayerTree/RemoteProgressBasedTimelineRegistry.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp
Log Message:
-----------
[threaded-animations] WPT test
`scroll-animations/css/scroll-timeline-frame-size-changed.html` fails with
"Threaded Scroll-driven Animations" enabled
https://bugs.webkit.org/show_bug.cgi?id=303317
rdar://165620505
Reviewed by Simon Fraser.
Make sure we update the remote counterpart of an animation when the source of
its associated timeline changes metrics. Additionally, when we update the data
derived from the source metrics on the remote end, make sure to update the
timeline's
current time to reflect that change, using the source node to compute the
current
scroll offset.
Finally, because we also enter this "source did change metrics" code path when
a new auto-aligned animation start time is computed, and this can run on every
page rendering update, let's make sure we do so more sparingly by checking
whether
the auto-aligned start time has changed.
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/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::animationProgressBasedTimelineSourceDidChangeMetrics):
* Source/WebCore/animation/WebAnimation.cpp:
(WebCore::WebAnimation::autoAlignStartTime):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteProgressBasedTimeline.cpp:
(WebKit::RemoteProgressBasedTimeline::setResolutionData):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteProgressBasedTimeline.h:
*
Source/WebKit/UIProcess/RemoteLayerTree/RemoteProgressBasedTimelineRegistry.cpp:
(WebKit::RemoteProgressBasedTimelineRegistry::update):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteProgressBasedTimelineRegistry.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::updateTimelineRegistration):
Canonical link: https://commits.webkit.org/303811@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications