Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b504d00848ba28dc6796db4219fe67af932acb50
      
https://github.com/WebKit/WebKit/commit/b504d00848ba28dc6796db4219fe67af932acb50
  Author: Antoine Quint <[email protected]>
  Date:   2025-11-07 (Fri, 07 Nov 2025)

  Changed paths:
    M 
LayoutTests/webanimations/threaded-animations/scroll-timeline-nested-scroller.html
    M 
LayoutTests/webanimations/threaded-animations/scroll-timeline-root-scroller.html
    M Source/WebCore/animation/KeyframeEffect.cpp

  Log Message:
  -----------
  [threaded-animations] scroll-driven animations should remain in the remote 
layer tree even at 100% progress
https://bugs.webkit.org/show_bug.cgi?id=302157
rdar://164255640

Reviewed by Simon Fraser.

Scroll-driven animations are currently removed from the remote layer tree once 
they reach 100% as at
that point they are in the finished play state [0]. It makes sense to remove 
monotonic animations once
they're in the finished state as they won't naturally progress out of that 
state, but progress-based
animations may return to the running [1] state by virtue of the scroll position 
of the timeline's source
moving backwards.

To address this we add an additional condition in 
`KeyframeEffect::isRunningAccelerated()` such that
effects associated with an animation associated with a progress-based timeline 
are always considered
to be running as far as acceleration is concerned.

We also update existing tests to scroll to a location where 100% progress would 
be reached and check
that a remote layer tree animation is still present. Previously, these tests 
would have failed.

[0] https://drafts.csswg.org/web-animations-1/#play-state-finished
[1] https://drafts.csswg.org/web-animations-1/#play-state-running

* 
LayoutTests/webanimations/threaded-animations/scroll-timeline-nested-scroller.html:
* 
LayoutTests/webanimations/threaded-animations/scroll-timeline-root-scroller.html:
* Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::isRunningAccelerated const):

Canonical link: https://commits.webkit.org/302729@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to