Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0cdf02fa9f6a2d81b95fed24625763706a10d000
https://github.com/WebKit/WebKit/commit/0cdf02fa9f6a2d81b95fed24625763706a10d000
Author: Antoine Quint <[email protected]>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M LayoutTests/platform/ios/TestExpectations
M
LayoutTests/webanimations/transform-animation-with-delay-yields-accelerated-animation-expected.txt
M
LayoutTests/webanimations/transform-animation-with-delay-yields-accelerated-animation.html
M Source/WebCore/animation/KeyframeEffect.cpp
Log Message:
-----------
[iOS release]
webanimations/transform-animation-with-delay-yields-accelerated-animation.html
is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=310557
rdar://173171273
Reviewed by Simon Fraser.
While we create threaded animations upon animation creation, any animation that
is not in its "active" phase [0]
will not yield an accelerated animation because we only want to have
actively-interpolating animations in the remote
layer tree. As such, an animation with a delay would not get a threaded
animation representation. The reason the
test that was designed to check on this did not catch this regression reliably
is because it used a 1ms delay that
could have elapsed by the time the asynchronous call to
`AcceleratedEffectStackUpdater::update()`, hence the flakiness.
We update the test to use a delay that is longer than an animation frame is
expected to be which made the test fail
reliably prior to this patch. And to fix the issue we add code in
`KeyframeEffect::animationDidTick()` to schedule
a threaded animation update if the effect is not currently running accelerated
but is in its "active" phase. This is
similar to what the legacy accelerated animation code would do within
`KeyframeEffect::updateAcceleratedActions()`
also called within `KeyframeEffect::animationDidTick()`.
[0] https://drafts.csswg.org/web-animations-1/#animation-effect-active-phase
* LayoutTests/platform/ios/TestExpectations:
*
LayoutTests/webanimations/transform-animation-with-delay-yields-accelerated-animation-expected.txt:
*
LayoutTests/webanimations/transform-animation-with-delay-yields-accelerated-animation.html:
* Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::animationDidTick):
Canonical link: https://commits.webkit.org/311313@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications