Bug 207993 - [Web Animations] Repeated animations on pseudo elements will fail to run after a while
Summary: [Web Animations] Repeated animations on pseudo elements will fail to run afte...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
: 213547 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-02-19 21:15 PST by Simon Fraser (smfr)
Modified: 2020-06-24 09:44 PDT (History)
18 users (show)

See Also:


Attachments
Patch (3.37 KB, patch)
2020-02-19 21:17 PST, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (11.21 KB, patch)
2020-02-20 16:38 PST, Simon Fraser (smfr)
zalan: review+
Details | Formatted Diff | Diff
Patch (13.77 KB, patch)
2020-02-20 21:15 PST, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (13.77 KB, patch)
2020-02-20 21:18 PST, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (13.97 KB, patch)
2020-02-20 21:29 PST, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (13.99 KB, patch)
2020-02-21 08:09 PST, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2020-02-19 21:15:18 PST
[Web Animations] Repeating animations on pseudo elements will fail to run after a while
Comment 1 Simon Fraser (smfr) 2020-02-19 21:17:57 PST
Created attachment 391255 [details]
Patch
Comment 2 Simon Fraser (smfr) 2020-02-19 21:17:59 PST
<rdar://problem/59428472>
Comment 3 Simon Fraser (smfr) 2020-02-19 21:18:31 PST
Comment on attachment 391255 [details]
Patch

Needs a test.
Comment 4 Simon Fraser (smfr) 2020-02-19 22:28:37 PST
The assertions appear to be incorrect because there's a call to timeline->elementWasRemoved() from RenderTreeUpdater::tearDownRenderers() which is not about Element destruction.

Which means I don't know when it's OK to call m_elementToCSSAnimationsCreatedByMarkupMap.remove().
Comment 5 Antti Koivisto 2020-02-20 00:03:09 PST
Yeah, that doesn't make logical sense though may work in practice. I guess the idea is to do a full cleanup.

It is only called when renderTreeBeingDestroyed() and that is only set during document destruction and when entering b/f cache. The latter case is suspicious but might be fine.
Comment 6 Simon Fraser (smfr) 2020-02-20 16:38:20 PST
Created attachment 391357 [details]
Patch
Comment 7 Dean Jackson 2020-02-20 19:38:04 PST
Comment on attachment 391357 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=391357&action=review

> Source/WebCore/animation/AnimationTimeline.cpp:227
> +void AnimationTimeline::willDestoryRendererForElement(Element& element)

destroy typo
Comment 8 Simon Fraser (smfr) 2020-02-20 21:15:06 PST
Created attachment 391379 [details]
Patch
Comment 9 Simon Fraser (smfr) 2020-02-20 21:18:10 PST
Created attachment 391380 [details]
Patch
Comment 10 Simon Fraser (smfr) 2020-02-20 21:29:11 PST
Created attachment 391381 [details]
Patch
Comment 11 Simon Fraser (smfr) 2020-02-21 08:09:26 PST
Created attachment 391398 [details]
Patch
Comment 12 WebKit Commit Bot 2020-02-21 09:21:51 PST
Comment on attachment 391398 [details]
Patch

Clearing flags on attachment: 391398

Committed r257138: <https://trac.webkit.org/changeset/257138>
Comment 13 Antoine Quint 2020-06-24 09:44:07 PDT
*** Bug 213547 has been marked as a duplicate of this bug. ***