[cc] Fix incorrect KeyframeModel::InEffect() calculation on the cc side
By spec [1], an animation effect is "in effect" if its active time is not unresolved. However, if the effect is in the "after phase" and its fill mode is neither "forwards" nor "both", its active time should be unresolved which makes the effect not "in effect". Our cc logic doesn't handle this case correctly. This bug was not exposed because for regular animations we cancel the animation on compositor in such scenario. But for worklet animations that's not the case. This patch adds the logic of calculating phases and the corresponding active time based on the spec [2]. [1] https://drafts.csswg.org/web-animations/#in-effect [2] https://drafts.csswg.org/web-animations/#active-time Bug: 906675 Change-Id: I8872719432ede1eeeb1e7bdcf3b5f0312787c0d7 Reviewed-on: https://chromium-review.googlesource.com/c/1342598 Commit-Queue: Yi Gu <yigu@chromium.org> Reviewed-by:Stephen McGruer <smcgruer@chromium.org> Reviewed-by:
Majid Valipour <majidvp@chromium.org> Cr-Commit-Position: refs/heads/master@{#614366}
Showing
Please register or sign in to comment