Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a26d2b5659691992a150d9e04b1015d54c7c189d
https://github.com/WebKit/WebKit/commit/a26d2b5659691992a150d9e04b1015d54c7c189d
Author: Antoine Quint <[email protected]>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
A LayoutTests/webanimations/threaded-animations/timeline-update-expected.txt
A LayoutTests/webanimations/threaded-animations/timeline-update.html
M Source/WebCore/animation/KeyframeEffect.cpp
Log Message:
-----------
[threaded-animations] several scroll-animations tests crash as a result of
changing timelines with "Threaded Time-based Animations" enabled
https://bugs.webkit.org/show_bug.cgi?id=306625
rdar://169284832
Reviewed by Simon Fraser.
The following tests crash under
`KeyframeEffect::~StackMembershipMutationScope()` when
running these three WPT tests:
-
scroll-animations/css/timeline-offset-in-keyframe-change-timeline.tentative.html
- scroll-animations/scroll-timelines/setting-timeline.tentative.html
- scroll-animations/view-timelines/timeline-offset-in-keyframe.html
In each case, the crash occurs under the call to
``KeyframeEffect::updateEffectStackMembership()`
in `KeyframeEffect::animationTimelineDidChange()`. Removing that call does not
regress any other
test, so it was probably not needed, likely because it was an accelerated stack
update occurs via
another method called under `WebAnimation::setTimeline()`.
To make sure changing timelines still works as expected, we add a new test that
checks the
state of remote animations is as expected.
Test: webanimations/threaded-animations/timeline-update.html
* LayoutTests/webanimations/threaded-animations/timeline-update-expected.txt:
Added.
* LayoutTests/webanimations/threaded-animations/timeline-update.html: Added.
* Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::updateEffectStackMembership):
Canonical link: https://commits.webkit.org/306522@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications