Bug 1374882 - Add a TimingParams ctor for CSS animations/transitions. r?birtles
MozReview-Commit-ID: CZbrAJlqNJ1
--- a/dom/animation/TimingParams.h
+++ b/dom/animation/TimingParams.h
@@ -30,16 +30,28 @@ namespace dom {
class UnrestrictedDoubleOrKeyframeEffectOptions;
class UnrestrictedDoubleOrKeyframeAnimationOptions;
}
struct TimingParams
{
TimingParams() = default;
+ TimingParams(float aDuration, float aDelay,
+ float aIterationCount,
+ dom::PlaybackDirection aDirection,
+ dom::FillMode aFillMode)
+ : mIterations(aIterationCount)
+ , mDirection(aDirection)
+ , mFill(aFillMode)
+ {
+ mDuration.emplace(StickyTimeDuration::FromMilliseconds(aDuration));
+ mDelay = TimeDuration::FromMilliseconds(aDelay);
+ }
+
template <class OptionsType>
static TimingParams FromOptionsType(
const OptionsType& aOptions,
nsIDocument* aDocument,
ErrorResult& aRv);
static TimingParams FromOptionsUnion(
const dom::UnrestrictedDoubleOrKeyframeEffectOptions& aOptions,
nsIDocument* aDocument, ErrorResult& aRv);
--- a/layout/style/AnimationCommon.h
+++ b/layout/style/AnimationCommon.h
@@ -297,21 +297,20 @@ TimingParamsFromCSSParams(float aDuratio
float aIterationCount,
dom::PlaybackDirection aDirection,
dom::FillMode aFillMode)
{
MOZ_ASSERT(aIterationCount >= 0.0 && !IsNaN(aIterationCount),
"aIterations should be nonnegative & finite, as ensured by "
"CSSParser");
- TimingParams timing;
- timing.mDuration.emplace(StickyTimeDuration::FromMilliseconds(aDuration));
- timing.mDelay = TimeDuration::FromMilliseconds(aDelay);
- timing.mIterations = aIterationCount;
- timing.mDirection = aDirection;
- timing.mFill = aFillMode;
-
- return timing;
+ return TimingParams {
+ aDuration,
+ aDelay,
+ aIterationCount,
+ aDirection,
+ aFillMode
+ };
}
} // namespace mozilla
#endif /* !defined(mozilla_css_AnimationCommon_h) */