Bug 207355 - Web animations transition through PlayState::Finished when starting
Summary: Web animations transition through PlayState::Finished when starting
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: Safari Technology Preview
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-02-06 14:33 PST by Simon Fraser (smfr)
Modified: 2023-05-10 12:02 PDT (History)
3 users (show)

See Also:


Attachments
Hover the box (455 bytes, text/html)
2020-02-06 14:33 PST, Simon Fraser (smfr)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2020-02-06 14:33:42 PST
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.
Comment 1 Simon Fraser (smfr) 2020-02-06 14:35:18 PST
This is evaluating to true:

    if (animationCurrentTime && ((effectivePlaybackRate() > 0 && (*animationCurrentTime + timeEpsilon) >= effectEndTime()) || (effectivePlaybackRate() < 0 && (*animationCurrentTime - timeEpsilon) <= 0_s)))
Comment 2 Simon Fraser (smfr) 2020-02-06 14:36:19 PST
effectivePlaybackRate() is 1
effectEndTime() is 0
animationCurrentTime is 0
Comment 3 Antoine Quint 2023-05-10 12:01:43 PDT
This reproduces still with ToT. Not sure this is actually indicative of a bug, but it does seem odd.