Created attachment 276694 [details]
In the attached test case, hover the box and wait for the animation to finish. Then un-hover and re-hover. Note how the animation restarts.
In other browsers, the animation does not restart, which is correct because the animation-name property still applies to the element. Our mistake is to completely remove finished animations in CompositeAnimation::updateKeyframeAnimations(). We need to keep some state around to know that we shouldn't re-run this animation when play-state changes.
Created attachment 277219 [details]
Created attachment 277273 [details]
Comment on attachment 277273 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=277273&action=review
> + Fix by keeping state for keyframe animations in the Done state in the m_keyframeAnimations
> + map. This allows for the removal of the
You forgot to end this sentence
This change appears to have caused fast/layers/no-clipping-overflow-hidden-added-after-transform.html to fail on mac-wk1 debug