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

Reply via email to