CalculateAnimationUpdate - track previous/current css-animation-playstate
Previously this code compared the current (possibly new) value of css-animation-playstate to the value of blink::Animation::Paused() to determine if it should toggle the paused state. This is incorrect; if blink::Animation::pause() is called directly from JS these values diverge by spec[0]. We only need to toggle the pause state from CalculateAnimationUpdate if css-animation-playstate itself has changed. Note that this incorrect behavior did not actually manifest in release builds because of a no-DCHECK-only optimization; if is_animation_style_change is set, we skip the entire state-update step and just calculate interpolations. [0]: https://drafts.csswg.org/css-animations-2/#animation-play-state Bug: 838594 Change-Id: I23a9eb0d338171c5a125b54ec4e29b916aceb3b0 Reviewed-on: https://chromium-review.googlesource.com/1053759Reviewed-by:Robert Flack <flackr@chromium.org> Commit-Queue: Stephen McGruer <smcgruer@chromium.org> Cr-Commit-Position: refs/heads/master@{#558409}
Showing
Please register or sign in to comment