| Summary: | Web animations transition through PlayState::Finished when starting | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||
| Component: | Animations | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | NEW --- | ||||||
| Severity: | Normal | CC: | dino, graouts, simon.fraser | ||||
| Priority: | P2 | ||||||
| Version: | Safari Technology Preview | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Attachments: |
|
||||||
This is evaluating to true:
if (animationCurrentTime && ((effectivePlaybackRate() > 0 && (*animationCurrentTime + timeEpsilon) >= effectEndTime()) || (effectivePlaybackRate() < 0 && (*animationCurrentTime - timeEpsilon) <= 0_s)))
effectivePlaybackRate() is 1 effectEndTime() is 0 animationCurrentTime is 0 This reproduces still with ToT. Not sure this is actually indicative of a bug, but it does seem odd. |
Created attachment 389998 [details] Hover the box Put a breakpoint on the line after: if (currentFinishedState && !m_finishedPromise->isFulfilled()) { in WebAnimation::updateFinishedState(). Hover the box in the attached test case. You hit the breakpoint when the animation starts. Weird.