Bug 1308436 - Throw a range error when the curve duration is negative, when calling SetValueCurveAtTime. r?karlt draft
authorPaul Adenot <paul@paul.cx>
Fri, 27 Jul 2018 16:01:09 +0200
changeset 824309 927cbf53a7ed0c2f35265a7721b317a13896ad95
parent 824308 8366ee8ac063f015cf5c1c28c89bc6229f556b74
child 824310 37e44658b0e957aa1fc4aa74d302eb4132d75005
push id117873
push userpaul@paul.cx
push dateMon, 30 Jul 2018 16:35:38 +0000
reviewerskarlt
bugs1308436
milestone63.0a1
Bug 1308436 - Throw a range error when the curve duration is negative, when calling SetValueCurveAtTime. r?karlt MozReview-Commit-ID: 9emTSH5Ih6n
dom/media/webaudio/AudioEventTimeline.h
--- a/dom/media/webaudio/AudioEventTimeline.h
+++ b/dom/media/webaudio/AudioEventTimeline.h
@@ -149,16 +149,20 @@ public:
       return false;
     }
 
     if (aEvent.mType == AudioTimelineEvent::SetValueCurve) {
       if (!aEvent.mCurve || !aEvent.mCurveLength) {
         aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
         return false;
       }
+      if (aEvent.mDuration <= 0) {
+        aRv.Throw(NS_ERROR_RANGE_ERR);
+        return false;
+      }
     }
 
     bool timeAndValueValid = IsValid(aEvent.mValue) &&
                              IsValid(aEvent.mDuration);
     if (!timeAndValueValid) {
       aRv.Throw(NS_ERROR_DOM_SYNTAX_ERR);
       return false;
     }