Bug 1308436 - Throw a range error when the curve duration is negative, when calling SetValueCurveAtTime. r?karlt
MozReview-Commit-ID: 9emTSH5Ih6n
--- 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;
}