Bug 1374882 - Add a TimingParams ctor for CSS animations/transitions. r?birtles draft
authorHiroyuki Ikezoe <hikezoe@mozilla.com>
Thu, 22 Jun 2017 12:12:42 +0900
changeset 598705 d7d0f17206f6483fd01ad42424f743597a14dd15
parent 598704 47ae2d52cd1c257991e58ee376200dbd87f64a9b
child 598706 5fb6f09b605cbaeb4d6610f47ba62b1698973a65
push id65289
push userhikezoe@mozilla.com
push dateThu, 22 Jun 2017 03:12:57 +0000
reviewersbirtles
bugs1374882
milestone56.0a1
Bug 1374882 - Add a TimingParams ctor for CSS animations/transitions. r?birtles MozReview-Commit-ID: CZbrAJlqNJ1
dom/animation/TimingParams.h
layout/style/AnimationCommon.h
--- 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) */