Bug 191700 - Regression: Layer doesn't move when transform updated after a transition
Summary: Regression: Layer doesn't move when transform updated after a transition
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Antoine Quint
Keywords: InRadar
Depends on:
Reported: 2018-11-15 12:15 PST by Ali Juma
Modified: 2019-12-17 13:32 PST (History)
5 users (show)

See Also:

Test case (723 bytes, text/html)
2018-11-15 12:15 PST, Ali Juma
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ali Juma 2018-11-15 12:15:03 PST
Created attachment 354968 [details]
Test case

See attached test case: the blue box is animated using a CSS transition, and then its transform is updated again after the transition finishes. But the layer doesn't move for the latter update, until an update is forced by resizing the window and/or minimizing and restoring it.

This works in STP 69 but is broken on trunk.

Trying to debug this a bit, we do get as far as setting the new transform on CALayer, but the CALayer still has an animation on it (even though the transition is finished) and ignores the new transform. If that animation is removed before setting the transform, the layer does move to the right place.
Comment 1 Simon Fraser (smfr) 2018-11-15 12:36:06 PST
Almost certainly a regression from my compositing changes.
Comment 2 Simon Fraser (smfr) 2018-11-15 21:08:46 PST
I can't reproduce. Are you sure this wasn't fixed by r238170?
Comment 3 Frédéric Wang (:fredw) 2018-11-15 23:15:02 PST
I can only reproduce this issue on the iOS simulator, not macOS safari/minibrowser. I'm at r238191
Comment 4 Ali Juma 2018-11-16 07:34:00 PST
I tried again at r238277, and this still reproduces for me on macOS MiniBrowser and Safari.
Comment 5 Simon Fraser (smfr) 2018-11-16 09:44:48 PST
I can reproduce in the simulator.
Comment 6 Simon Fraser (smfr) 2018-11-16 10:06:14 PST
It seems like we're failing to remove the transforms from the GraphicsLayer.
Comment 7 Simon Fraser (smfr) 2018-11-16 10:10:55 PST
I think this is an animations bug. We don't hit KeyframeEffect::applyPendingAcceleratedActions() when the transition ends.
Comment 8 Simon Fraser (smfr) 2018-11-16 10:20:38 PST
https://trac.webkit.org/changeset/238128/webkit may be related.
Comment 9 Radar WebKit Bug Importer 2018-11-16 10:21:38 PST
Comment 10 Antoine Quint 2019-12-17 13:32:22 PST
Does not reproduce with ToT for me.