Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 858f6109867c85f5f45a50ea996788ddad27074c
      
https://github.com/WebKit/WebKit/commit/858f6109867c85f5f45a50ea996788ddad27074c
  Author: Antoine Quint <[email protected]>
  Date:   2025-12-02 (Tue, 02 Dec 2025)

  Changed paths:
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteAnimationStack.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteAnimationStack.mm
    M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.mm

  Log Message:
  -----------
  [threaded-animations] many scroll-animations WPT tests involving programmatic 
scroll fail with "Threaded Scroll-driven Animations" enabled
https://bugs.webkit.org/show_bug.cgi?id=303313
rdar://165614575

Reviewed by Matt Woodrow.

While we correctly update progress-based timelines during a programmatic 
scroll, eg. a scroll
initiated by JavaScript using the `scrollLeft` or `scrollTop` DOM property, we 
fail to update
animations themselves. We now call `updateAnimations()` within 
`RemoteLayerTreeEventDispatcher`
while in `waitForRenderingUpdateCompletionOrTimeout()`.

This patch fixes the following WPT tests which were ImageOnlyFailure failures:

- 
imported/w3c/web-platform-tests/scroll-animations/css/animation-fill-outside-range-test.html
- 
imported/w3c/web-platform-tests/scroll-animations/css/deferred-timeline-composited.html
- 
imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-default.html
- 
imported/w3c/web-platform-tests/scroll-animations/css/scroll-timeline-inline-orientation.html
- 
imported/w3c/web-platform-tests/scroll-animations/scroll-timelines/animation-with-animatable-interface.html
- 
imported/w3c/web-platform-tests/scroll-animations/scroll-timelines/animation-with-display-none.html
- 
imported/w3c/web-platform-tests/scroll-animations/scroll-timelines/set-current-time-before-play.html

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/WebKit/UIProcess/RemoteLayerTree/RemoteAnimationStack.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteAnimationStack.mm:
(WebKit::RemoteAnimationStack::applyEffects const):
(WebKit::RemoteAnimationStack::applyEffectsFromScrollingThread const): Deleted.
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.mm:
(WebKit::RemoteLayerTreeEventDispatcher::renderingUpdateComplete):
(WebKit::RemoteLayerTreeEventDispatcher::updateAnimations):

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



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

Reply via email to