After keyframe animation is done, the div with the animation should go back to its intrinsic style. However, current implementation in TextureMapperLayer makes the div to go back to the first keyframe style, and then to its intrinsic style. The above description is more easily understood by the example below. http://black.company100.com/test/bugs/animation.html
Created attachment 221346 [details] Patch
Created attachment 221708 [details] Patch
Created attachment 221943 [details] Patch
I think this patch is okay. What I understand the original code is trying to apply intrinsic styles to layers after the end of the animation. And the problem is we cannot know the exact intrinsic style of the layer at TextureMapperLayer. Since the computed value will be updated from GraphicsLayer after the end of the animation, we do not need to assume(?) intrinsic style of the layer without active animations in TextureMapperLayer::syncAnimations().
Comment on attachment 221943 [details] Patch Needs test.
(In reply to comment #5) > (From update of attachment 221943 [details]) > Needs test. It's pretty hard to make a test case for this, because it is a timing issue. If TextureMapperLayer::syncAnimations() was called when the animation was at StoppedState, it will apply the style of the first keyframe animation. Then, the intrinsic style of the element will be set via TextureMapperLayer::setTransform/Opacity/Filters and the animation will be removed. So, when the next syncAnimations() is called, the intrinsic style of the element is applied. However, in most cases, when animation is at StoppedState, the intrinsic style of the element is set immediately via TextureMapperLayer::setTransform/Opacity/Filters and the animation is removed. So, when TextureMapperLayer::syncAnimations() is called, it will apply the intrinsic style of the element right away. The problem is easily reproducible in slow devices, or if the javascript execution is frequent during the keyframe animation. Do you have any suggestion on how to make a test case for such timing issue cases?
Hi, Jaehyun. I'm looking forward to landing this patch. Coordinated Graphics has a same flickering issue, which is to show up the first frame of css animation when the animation is at StoppedState. It's easy to reproduce on the EFL MiniBrowser. testcase: http://www.apple.com/html5/showcase/transitions/ I hope this patch is reviewed and applied. Thanks.