Bug 1436659 - Add Animation::GetCurrentTimeForHoldTime helper; r=hiro

We will use this to calculate the unconstrained current time when we implement
pending playback rate changes.

MozReview-Commit-ID: 7GlmHiGeXF6
This commit is contained in:
Brian Birtles
2018-02-13 15:04:18 +09:00
parent 5ebd8fe841
commit db13d71cea
2 changed files with 10 additions and 4 deletions

View File

@@ -298,11 +298,12 @@ Animation::SetStartTime(const Nullable<TimeDuration>& aNewStartTime)
// https://drafts.csswg.org/web-animations/#current-time // https://drafts.csswg.org/web-animations/#current-time
Nullable<TimeDuration> Nullable<TimeDuration>
Animation::GetCurrentTime() const Animation::GetCurrentTimeForHoldTime(
const Nullable<TimeDuration>& aHoldTime) const
{ {
Nullable<TimeDuration> result; Nullable<TimeDuration> result;
if (!mHoldTime.IsNull()) { if (!aHoldTime.IsNull()) {
result = mHoldTime; result = aHoldTime;
return result; return result;
} }

View File

@@ -105,7 +105,9 @@ public:
void SetTimeline(AnimationTimeline* aTimeline); void SetTimeline(AnimationTimeline* aTimeline);
Nullable<TimeDuration> GetStartTime() const { return mStartTime; } Nullable<TimeDuration> GetStartTime() const { return mStartTime; }
void SetStartTime(const Nullable<TimeDuration>& aNewStartTime); void SetStartTime(const Nullable<TimeDuration>& aNewStartTime);
Nullable<TimeDuration> GetCurrentTime() const; Nullable<TimeDuration> GetCurrentTime() const {
return GetCurrentTimeForHoldTime(mHoldTime);
}
void SetCurrentTime(const TimeDuration& aNewCurrentTime); void SetCurrentTime(const TimeDuration& aNewCurrentTime);
double PlaybackRate() const { return mPlaybackRate; } double PlaybackRate() const { return mPlaybackRate; }
void SetPlaybackRate(double aPlaybackRate); void SetPlaybackRate(double aPlaybackRate);
@@ -463,6 +465,9 @@ protected:
bool IsPossiblyOrphanedPendingAnimation() const; bool IsPossiblyOrphanedPendingAnimation() const;
StickyTimeDuration EffectEnd() const; StickyTimeDuration EffectEnd() const;
Nullable<TimeDuration> GetCurrentTimeForHoldTime(
const Nullable<TimeDuration>& aHoldTime) const;
nsIDocument* GetRenderedDocument() const; nsIDocument* GetRenderedDocument() const;
RefPtr<AnimationTimeline> mTimeline; RefPtr<AnimationTimeline> mTimeline;