Bug 1260933 - Part 2: For invalid duration values, print the invalid value. r=birtles draft
authorDaisuke Akatsuka <daisuke@mozilla-japan.org>
Thu, 31 Mar 2016 19:20:59 +0900
changeset 346229 6b994da55078bce5f5db788f8fce483da883ac41
parent 346228 e640bcf99d1cf05cad9fe937db92ef80794cb6d6
child 517369 73129c2fbbe14ff469b4415c7fd2b12486154e11
push id14293
push userbmo:daisuke@mozilla-japan.org
push dateThu, 31 Mar 2016 10:21:14 +0000
reviewersbirtles
bugs1260933
milestone48.0a1
Bug 1260933 - Part 2: For invalid duration values, print the invalid value. r=birtles MozReview-Commit-ID: 1vg3M3yY19Z
dom/animation/TimingParams.h
dom/bindings/Errors.msg
--- a/dom/animation/TimingParams.h
+++ b/dom/animation/TimingParams.h
@@ -55,17 +55,18 @@ struct TimingParams
       double durationInMs = aDuration.GetAsUnrestrictedDouble();
       if (durationInMs >= 0) {
         result.emplace(StickyTimeDuration::FromMilliseconds(durationInMs));
       } else {
         aRv.ThrowTypeError<dom::MSG_ENFORCE_RANGE_OUT_OF_RANGE>(
           NS_LITERAL_STRING("duration"));
       }
     } else if (!aDuration.GetAsString().EqualsLiteral("auto")) {
-      aRv.ThrowTypeError<dom::MSG_INVALID_DURATION_ERROR>();
+      aRv.ThrowTypeError<dom::MSG_INVALID_DURATION_ERROR>(
+        aDuration.GetAsString());
     }
     return result;
   }
 
   static void ValidateIterationStart(double aIterationStart,
                                      ErrorResult& aRv)
   {
     if (aIterationStart < 0) {
--- a/dom/bindings/Errors.msg
+++ b/dom/bindings/Errors.msg
@@ -87,10 +87,10 @@ MSG_DEF(MSG_PROMISE_CAPABILITY_HAS_SOMET
 MSG_DEF(MSG_PROMISE_RESOLVE_FUNCTION_NOT_CALLABLE, 0, JSEXN_TYPEERR, "A Promise subclass passed a non-callable value as the resolve function.")
 MSG_DEF(MSG_PROMISE_REJECT_FUNCTION_NOT_CALLABLE, 0, JSEXN_TYPEERR, "A Promise subclass passed a non-callable value as the reject function.")
 MSG_DEF(MSG_PROMISE_ARG_NOT_ITERABLE, 1, JSEXN_TYPEERR, "{0} is not iterable")
 MSG_DEF(MSG_IS_NOT_PROMISE, 1, JSEXN_TYPEERR, "{0} is not a Promise")
 MSG_DEF(MSG_SW_INSTALL_ERROR, 2, JSEXN_TYPEERR, "ServiceWorker script at {0} for scope {1} encountered an error during installation.")
 MSG_DEF(MSG_SW_SCRIPT_THREW, 2, JSEXN_TYPEERR, "ServiceWorker script at {0} for scope {1} threw an exception during script evaluation.")
 MSG_DEF(MSG_TYPEDARRAY_IS_SHARED, 1, JSEXN_TYPEERR, "{0} can't be a typed array on SharedArrayBuffer")
 MSG_DEF(MSG_CACHE_ADD_FAILED_RESPONSE, 3, JSEXN_TYPEERR, "Cache got {0} response with bad status {1} while trying to add request {2}")
-MSG_DEF(MSG_INVALID_DURATION_ERROR, 0, JSEXN_TYPEERR, "Invalid duration.")
+MSG_DEF(MSG_INVALID_DURATION_ERROR, 1, JSEXN_TYPEERR, "Invalid duration '{0}'.")
 MSG_DEF(MSG_INVALID_EASING_ERROR, 1, JSEXN_TYPEERR, "Invalid easing '{0}'.")
\ No newline at end of file