RESOLVED FIXED308303
[threaded-animations] failed assertion `ASSERT(sourceScrollableArea->scrollingNodeID())` in `ScrollTimeline::computeProgressResolutionData()`
https://bugs.webkit.org/show_bug.cgi?id=308303
Summary [threaded-animations] failed assertion `ASSERT(sourceScrollableArea->scrollin...
Antoine Quint
Reported 2026-02-20 07:35:01 PST
We have reports of `ASSERT(sourceScrollableArea->scrollingNodeID())` in `ScrollTimeline::computeProgressResolutionData()` failing. Code inspection make it pretty obvious what is wrong: we use `ScrollTimeline::canBeAccelerated()` to determine that a timeline can be accelerated in `AcceleratedEffectStackUpdater::takeTimelinesUpdate()` to guard calls to `ScrollTimeline::updateAcceleratedRepresentation()` and then `ScrollTimeline::computeProgressResolutionData()`, letting those methods imply that they have a source with a scrolling node ID. However, `ScrollTimeline::canBeAccelerated()` is not live and returns the cached result of `ScrollTimeline::computeCanBeAccelerated()` under `AnimationTimeline::runPostRenderingUpdateTasks()` so that we can determine when that status changes one per animation frame. We need to change `canBeAccelerated()` to be live and keep and rename the cached flag for just that purpose.
Attachments
Antoine Quint
Comment 1 2026-02-20 07:35:09 PST
Antoine Quint
Comment 2 2026-02-20 08:04:22 PST
EWS
Comment 3 2026-02-20 22:05:35 PST
Committed 307965@main (05c889923120): <https://commits.webkit.org/307965@main> Reviewed commits have been landed. Closing PR #59093 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.