Animation Worklet - Worklet Animations should continue ticking after duration |
||||||
Issue descriptionA the moment, once animation duration is reached we stop ticking worklet animations. We should keep ticking such animation until .finish() method is called. In particular, one shouldn't need to specify duration as Infinity to have a always running scroll linked effect.
,
Feb 6 2018
,
Feb 6 2018
,
Feb 7 2018
,
Mar 22 2018
,
Mar 22 2018
Per flackr@ comment: > AnimationWorklet animations probably should continue animating indefinitely as long as the timelines can produce updates as we don't know whether the output time values will be in the range of the KeyframeEffect's single iteration or not. In other word, unlike regular animations, worklet animation finish state is independent of their effect end time since[1]. I agree with this. It will however be nice to have a way to define a bounded running time for such animations instead of having to call "finish()" or cancel() on them. Perhaps we need a way to specify a duration for worklet animations itself which by default can be infinity. Note that my current workaround is to specify an infinity iteration for the effect. This keeps the animation ticking! [1] https://drafts.csswg.org/web-animations/#finished-play-state
,
Apr 24 2018
,
May 4 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79 commit 648ba5db335be1a2ecdbc4a1fb52841a4ba98c79 Author: Stephen McGruer <smcgruer@chromium.org> Date: Fri May 04 16:43:15 2018 [cc] Have WorkletAnimation pause all of its KeyframeEffects Conceptually, this is somewhat close to what WorkletAnimation does; the KeyframeEffect skips (seeks) from point to point driven by the script-provided local time. More importantly, it means that WorkletAnimations do not terminate after the duration has expired (which they are not meant to do), and allows us to remove the ActiveTimeProvider hack (in favour of this one!). This CL also removes PushPropertiesTo from WorkletAnimation. This method used to push the local_time_ from cc-main to impl. Doing so was incorrect as cc-main never gets the output of the mutate call, so always has a zero local time, which then started to interfere with the other changes made in this CL. Bug: 779189 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ibb0bdd60753bd24264112e10a1f829d394db27e2 Reviewed-on: https://chromium-review.googlesource.com/1037766 Commit-Queue: Stephen McGruer <smcgruer@chromium.org> Reviewed-by: Majid Valipour <majidvp@chromium.org> Cr-Commit-Position: refs/heads/master@{#556087} [modify] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/cc/animation/animation.cc [modify] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/cc/animation/animation.h [modify] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/cc/animation/keyframe_effect.cc [modify] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/cc/animation/keyframe_effect.h [modify] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/cc/animation/keyframe_model.cc [modify] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/cc/animation/keyframe_model.h [modify] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/cc/animation/worklet_animation.cc [modify] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/cc/animation/worklet_animation.h [modify] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/cc/animation/worklet_animation_unittest.cc [add] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-duration-expected.html [add] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-duration.html [add] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-local-time-after-duration-expected.html [add] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-local-time-after-duration.html [add] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-local-time-before-start-expected.html [add] https://crrev.com/648ba5db335be1a2ecdbc4a1fb52841a4ba98c79/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-local-time-before-start.html
,
May 4 2018
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by majidvp@chromium.org
, Jan 15 2018