Bug 227733 - Animation from scale(0) has missing backing store
Summary: Animation from scale(0) has missing backing store
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: Safari Technology Preview
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
Keywords: BrowserCompat, InRadar
Depends on:
Reported: 2021-07-06 20:49 PDT by Simon Fraser (smfr)
Modified: 2021-09-07 06:51 PDT (History)
6 users (show)

See Also:

Test case (352 bytes, text/html)
2021-07-06 20:49 PDT, 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) 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.
Comment 1 Simon Fraser (smfr) 2021-07-06 20:50:18 PDT
Workaround is to animate from scale(0.001)
Comment 2 Radar WebKit Bug Importer 2021-07-06 20:51:28 PDT
Comment 3 Simon Fraser (smfr) 2021-07-06 20:59:19 PDT
Similar to bug 218371.
Comment 4 Simon Fraser (smfr) 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.
Comment 5 Simon Fraser (smfr) 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.