Bug 1263063 - Part 5: Introduce TimingParams::EndTime(). r?dholbert
MozReview-Commit-ID: 6dpnb65vndl
--- a/dom/animation/KeyframeEffect.cpp
+++ b/dom/animation/KeyframeEffect.cpp
@@ -247,18 +247,17 @@ KeyframeEffectReadOnly::GetComputedTimin
"ValidateIterations or CSSParser");
result.mIterations = aTiming.mIterations;
MOZ_ASSERT(aTiming.mIterationStart >= 0.0,
"mIterationStart should be nonnegative, as ensured by "
"ValidateIterationStart");
result.mIterationStart = aTiming.mIterationStart;
result.mActiveDuration = aTiming.ActiveDuration();
- result.mEndTime = aTiming.mDelay + result.mActiveDuration +
- aTiming.mEndDelay;
+ result.mEndTime = aTiming.EndTime();
result.mFill = aTiming.mFill == dom::FillMode::Auto ?
dom::FillMode::None :
aTiming.mFill;
// The default constructor for ComputedTiming sets all other members to
// values consistent with an animation that has not been sampled.
if (aLocalTime.IsNull()) {
return result;
--- a/dom/animation/TimingParams.h
+++ b/dom/animation/TimingParams.h
@@ -107,16 +107,21 @@ struct TimingParams
static const StickyTimeDuration zeroDuration;
if (!mDuration || *mDuration == zeroDuration || mIterations == 0.0) {
return zeroDuration;
}
return mDuration->MultDouble(mIterations);
}
+ StickyTimeDuration EndTime() const
+ {
+ return mDelay + ActiveDuration() + mEndDelay;
+ }
+
bool operator==(const TimingParams& aOther) const;
bool operator!=(const TimingParams& aOther) const
{
return !(*this == aOther);
}
};
} // namespace mozilla