RESOLVED FIXED 227733
Animation from scale(0) has missing backing store
https://bugs.webkit.org/show_bug.cgi?id=227733
Summary Animation from scale(0) has missing backing store
Simon Fraser (smfr)
Reported 2021-07-06 20:49:01 PDT
Created attachment 433003 [details] Test case Attached test shows that animation from scale(0) has missing backing store.
Attachments
Test case (352 bytes, text/html)
2021-07-06 20:49 PDT, Simon Fraser (smfr)
no flags
Patch (2.45 KB, patch)
2022-02-01 02:13 PST, Antoine Quint
no flags
Patch (6.32 KB, patch)
2022-02-01 04:12 PST, Antoine Quint
no flags
Simon Fraser (smfr)
Comment 1 2021-07-06 20:50:18 PDT
Workaround is to animate from scale(0.001)
Radar WebKit Bug Importer
Comment 2 2021-07-06 20:51:28 PDT
Simon Fraser (smfr)
Comment 3 2021-07-06 20:59:19 PDT
Similar to bug 218371.
Simon Fraser (smfr)
Comment 4 2021-07-06 21:19:19 PDT
We've synthesized a 100% keyframe, but it doesn't have a transform property, so we never call addStyleToCumulativeBounds() for the scale(1) state.
Simon Fraser (smfr)
Comment 5 2021-07-06 21:34:10 PDT
When we call KeyframeEffect::computeExtentOfTransformAnimation() box.style() already reflects the first keyframe, so falling back to box.style() for the 100% keyframe doesn't work (it has scale(0) in it). We need to be able to get to the style which is not affected by keyframes.
Antoine Quint
Comment 6 2022-02-01 01:51:45 PST
(In reply to Simon Fraser (smfr) from comment #5) > When we call KeyframeEffect::computeExtentOfTransformAnimation() box.style() > already reflects the first keyframe, so falling back to box.style() for the > 100% keyframe doesn't work (it has scale(0) in it). We need to be able to > get to the style which is not affected by keyframes. The style not accounting for animations is stored on ElementAnimationRareData, and you may access it from KeyframeEffect with targetStyleable()->lastStyleChangeEventStyle().
Antoine Quint
Comment 7 2022-02-01 02:13:30 PST
Antoine Quint
Comment 8 2022-02-01 04:12:21 PST
EWS
Comment 9 2022-02-01 08:52:55 PST
Committed r288881 (246633@main): <https://commits.webkit.org/246633@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 450513 [details].
Antoine Quint
Comment 10 2022-02-01 23:55:33 PST
Interestingly, modifying `transform: scale(0)` to `scale: 0` in the keyframe in the test case doesn't reproduce the issue.
Simon Fraser (smfr)
Comment 11 2022-02-02 08:58:57 PST
Filed bug 236019 on that.
Note You need to log in before you can comment on or make changes to this bug.