Commit 2f89cb3
committed
[scroll-animations] WPT test scroll-animations/view-timelines/animation-events.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=284299
Reviewed by Anne van Kesteren.
The Web Animations spec says that pending animation events should be enqueued per document, and we
made the choice years ago to host the event queue on the `DocumentTimeline` created for each document.
When document timelines were the only timeline types, running the "update animation and send events"
procedure [0] would only ever run if the document timeline needed an update. When we started supporting
multiple types of timelines, this meant we could run that procedure when a scroll or view timeline
needed an update but the document timeline did not.
As such, we change the step where we process events in the "update animation and send events" procedure
to not only look for a document timeline among the timelines needing an update, but always looking at
the document timeline created for the document.
A better fix would be to stop enqueuing events on `DocumentTimeline` and instead on
`AnimationTimelinesController` but the given the scope of that potential change and how simple
this fix is, it seems like a better solution for the time being.
[0] https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events
* LayoutTests/TestExpectations:
* Source/WebCore/animation/AnimationTimelinesController.cpp:
(WebCore::AnimationTimelinesController::updateAnimationsAndSendEvents):
Canonical link: https://commits.webkit.org/294068@main1 parent bf340ec commit 2f89cb3
File tree
2 files changed
+15
-16
lines changed- LayoutTests
- Source/WebCore/animation
2 files changed
+15
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7055 | 7055 | | |
7056 | 7056 | | |
7057 | 7057 | | |
7058 | | - | |
7059 | | - | |
7060 | 7058 | | |
7061 | 7059 | | |
7062 | 7060 | | |
| |||
Lines changed: 15 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
212 | 208 | | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
217 | 212 | | |
218 | | - | |
219 | | - | |
220 | | - | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
221 | 222 | | |
222 | 223 | | |
223 | 224 | | |
| |||
0 commit comments