When using animationworklet you should be able to set (or not set) localTime of the effect such that it is undefined. The expected result would be that the effect does not apply.
On cc side we use an optional for local time and it has the expected behavior. On worklet side, unset local time is treated as zero time [1]. We should fix this and also allow undefined as a valid value to be explicitly used as well. [1] https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/animationworklet/effect_proxy.h?sq=package:chromium&dr=CSs&g=0&l=37
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/82b3d45811c2ce34b664eacd55258a2e0d367c12 commit 82b3d45811c2ce34b664eacd55258a2e0d367c12 Author: Majid Valipour <majidvp@chromium.org> Date: Fri Aug 24 15:30:01 2018 [animation-worklet] Support undefined as default localTime value EffectProxy.localTime should accept undefined as its local time and treat that as meaning that the keyframe effect is not in effect. Note: This is a partial fix. We still need to make sure that any applied effect is cleared once localTime is set to undefined. This patch only ensures that when the initial value is not set, or set to undefined the keyframe effect is not applied. Test: virtual/threaded/fast/animationworklet/worklet-animation-local-time-undefined.html Bug: 870711 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I2fdc716c331eb11a9b3eed524ac703f50a222a49 Reviewed-on: https://chromium-review.googlesource.com/1181935 Reviewed-by: Stephen McGruer <smcgruer@chromium.org> Reviewed-by: Yi Gu <yigu@chromium.org> Commit-Queue: Majid Valipour <majidvp@chromium.org> Cr-Commit-Position: refs/heads/master@{#585849} [modify] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/cc/animation/animation_host_unittest.cc [modify] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/cc/trees/layer_tree_mutator.cc [modify] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/cc/trees/layer_tree_mutator.h [add] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-local-time-undefined-expected.html [add] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-local-time-undefined.html [modify] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/third_party/blink/renderer/modules/animationworklet/BUILD.gn [modify] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/third_party/blink/renderer/modules/animationworklet/animation_worklet_global_scope.cc [modify] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/third_party/blink/renderer/modules/animationworklet/animator.cc [add] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/third_party/blink/renderer/modules/animationworklet/effect_proxy.cc [modify] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/third_party/blink/renderer/modules/animationworklet/effect_proxy.h [modify] https://crrev.com/82b3d45811c2ce34b664eacd55258a2e0d367c12/third_party/blink/renderer/modules/animationworklet/effect_proxy.idl
Comment 1 by majidvp@chromium.org
, Aug 3