Commit ff8757fe authored by Yi Gu's avatar Yi Gu Committed by Commit Bot

[AnimationWorklet] Update TODO regarding WorkletAnimation's direction and current time

WorkletAnimation supports negative playback rate (crrev.com/c/1423537)
now. However, the playback rate is not used when calculating the current
time.

TBR=smcgruer@chromium.org

Bug: 986925
Change-Id: I3a9a924ce15f05aa30588004d815fdfa9d60ded1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1714153
Commit-Queue: Yi Gu <yigu@chromium.org>
Reviewed-by: default avatarMajid Valipour <majidvp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#680189}
parent d1cfebd3
...@@ -88,9 +88,6 @@ void AnimationEffect::UpdateInheritedTime(double inherited_time, ...@@ -88,9 +88,6 @@ void AnimationEffect::UpdateInheritedTime(double inherited_time,
double time_to_next_iteration = std::numeric_limits<double>::infinity(); double time_to_next_iteration = std::numeric_limits<double>::infinity();
if (needs_update) { if (needs_update) {
const double active_duration = SpecifiedTiming().ActiveDuration(); const double active_duration = SpecifiedTiming().ActiveDuration();
// TODO(yigu): Direction of WorkletAnimation is always forwards based on
// the calculation. Need to unify the logic to handle it correctly.
// https://crbug.com/896249.
const AnimationDirection direction = const AnimationDirection direction =
(GetAnimation() && GetAnimation()->playbackRate() < 0) ? kBackwards (GetAnimation() && GetAnimation()->playbackRate() < 0) ? kBackwards
: kForwards; : kForwards;
......
...@@ -692,6 +692,10 @@ bool WorkletAnimation::IsCurrentTimeInitialized() const { ...@@ -692,6 +692,10 @@ bool WorkletAnimation::IsCurrentTimeInitialized() const {
// //
// Changing scroll-linked animation start_time initialization is under // Changing scroll-linked animation start_time initialization is under
// consideration here: https://github.com/w3c/csswg-drafts/issues/2075. // consideration here: https://github.com/w3c/csswg-drafts/issues/2075.
//
// TODO(https://crbug.com/986925): The playback rate should be taken into
// consideration when calculating the initial current time.
// https://drafts.csswg.org/web-animations/#playing-an-animation-section
base::Optional<base::TimeDelta> WorkletAnimation::InitialCurrentTime() const { base::Optional<base::TimeDelta> WorkletAnimation::InitialCurrentTime() const {
if (play_state_ == Animation::kIdle || play_state_ == Animation::kUnset || if (play_state_ == Animation::kIdle || play_state_ == Animation::kUnset ||
!IsTimelineActive()) !IsTimelineActive())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment