This is a tracking bug for implementing KeyframeEffectReadOnly::setKeyframes(). Approximately 60 of our failing WPT tests are due to lack of support for this.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/93761025e47b61ff2e36987fbb295e8d2682dc00 commit 93761025e47b61ff2e36987fbb295e8d2682dc00 Author: Stephen McGruer <smcgruer@chromium.org> Date: Mon Feb 26 18:44:24 2018 Implement KeyframeEffect::setKeyframes() This CL implements most of the setKeyframes() algorithm from the web-animations spec[0]. The major missing piece is a lack of support for altering CSS transitions; adding that will likely require us to re-think the CSS transition stack. Bug: 799061 Change-Id: Ie82746681b499f774f26daecbaafa39e072ee40d Reviewed-on: https://chromium-review.googlesource.com/848037 Commit-Queue: Stephen McGruer <smcgruer@chromium.org> Reviewed-by: Robert Flack <flackr@chromium.org> Cr-Commit-Position: refs/heads/master@{#539209} [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/idlharness-expected.txt [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/LayoutTests/platform/mac-mac10.12/external/wpt/web-animations/interfaces/KeyframeEffect/idlharness-expected.txt [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/LayoutTests/platform/win/external/wpt/web-animations/interfaces/KeyframeEffect/idlharness-expected.txt [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/LayoutTests/virtual/stable/web-animations-api/partial-keyframes-unsupported.html [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/Source/core/animation/EffectInput.cpp [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/Source/core/animation/EffectInput.h [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/Source/core/animation/KeyframeEffect.cpp [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/Source/core/animation/KeyframeEffect.h [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/Source/core/animation/KeyframeEffect.idl [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/Source/core/animation/KeyframeEffectModel.cpp [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/Source/core/animation/KeyframeEffectModel.h [modify] https://crrev.com/93761025e47b61ff2e36987fbb295e8d2682dc00/third_party/WebKit/Source/core/animation/KeyframeEffectTest.cpp
Dropping to assigned as I am not currently looking at doing CSS Transition support here.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5f7b4c115a571f47ebe484ae1382d95fc5418018 commit 5f7b4c115a571f47ebe484ae1382d95fc5418018 Author: Stephen McGruer <smcgruer@chromium.org> Date: Fri Apr 27 20:20:59 2018 Make KeyframeEffectReadOnly::setKeyframes take effect immediately Previously we wouldn't notice that the keyframes had changed until the next animation update. This CL fixes that by clearing any cached sampled effects and notifying the owning Animation that it needs to invalidate it's information. This also fixes updating composited animations; invalidating the effect on the animation causes us to properly restart the composited animation. Bug: 799061, 835824 Change-Id: Ib307a5409c52c5dab1ee0f98c989d7dbaef42937 Reviewed-on: https://chromium-review.googlesource.com/1026700 Commit-Queue: Stephen McGruer <smcgruer@chromium.org> Reviewed-by: Majid Valipour <majidvp@chromium.org> Cr-Commit-Position: refs/heads/master@{#554484} [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes.html [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/core/animation/animation.cc [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/core/animation/animation.h [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/core/animation/animation_effect.cc [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/core/animation/animation_effect.h [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/core/animation/animation_effect_owner.h [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/core/animation/animation_effect_test.cc [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/core/animation/animation_test.cc [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/core/animation/keyframe_effect.cc [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/core/animation/keyframe_effect.h [modify] https://crrev.com/5f7b4c115a571f47ebe484ae1382d95fc5418018/third_party/blink/renderer/modules/animationworklet/worklet_animation.h
I don't plan to do any more work on this in the near future (most important would be CSS transition support), so dropping to available.
Comment 1 by smcgruer@chromium.org
, Jan 4 2018