diff options
author | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2018-09-24 11:53:36 +0200 |
---|---|---|
committer | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2018-09-25 17:16:17 +0200 |
commit | bc6586a9d0489bcbc1d151320eefb8cb33e8853d (patch) | |
tree | d330fe6286c6226109d9f794ee17250754359149 | |
parent | bbc35659002cf18659d31f4e6b30ef0f8b632129 (diff) | |
download | servo-bc6586a9d0489bcbc1d151320eefb8cb33e8853d.tar.gz servo-bc6586a9d0489bcbc1d151320eefb8cb33e8853d.zip |
Throw if time given to AudioScheduledSourceNode.stop is negative
-rw-r--r-- | components/script/dom/audiobuffersourcenode.rs | 4 | ||||
-rw-r--r-- | components/script/dom/audioscheduledsourcenode.rs | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/components/script/dom/audiobuffersourcenode.rs b/components/script/dom/audiobuffersourcenode.rs index 85ece3be5d9..7a2817e1204 100644 --- a/components/script/dom/audiobuffersourcenode.rs +++ b/components/script/dom/audiobuffersourcenode.rs @@ -200,10 +200,6 @@ impl AudioBufferSourceNodeMethods for AudioBufferSourceNode { offset: Option<Finite<f64>>, duration: Option<Finite<f64>>, ) -> Fallible<()> { - if *when < 0. { - return Err(Error::Range("'when' must be a positive value".to_owned())); - } - if let Some(offset) = offset { if *offset < 0. { return Err(Error::Range("'offset' must be a positive value".to_owned())); diff --git a/components/script/dom/audioscheduledsourcenode.rs b/components/script/dom/audioscheduledsourcenode.rs index cd913897cad..6e15148993c 100644 --- a/components/script/dom/audioscheduledsourcenode.rs +++ b/components/script/dom/audioscheduledsourcenode.rs @@ -59,6 +59,10 @@ impl AudioScheduledSourceNodeMethods for AudioScheduledSourceNode { // https://webaudio.github.io/web-audio-api/#dom-audioscheduledsourcenode-start fn Start(&self, when: Finite<f64>) -> Fallible<()> { + if *when < 0. { + return Err(Error::Range("'when' must be a positive value".to_owned())); + } + if self.started.get() || self.stopped.get() { return Err(Error::InvalidState); } @@ -99,6 +103,10 @@ impl AudioScheduledSourceNodeMethods for AudioScheduledSourceNode { // https://webaudio.github.io/web-audio-api/#dom-audioscheduledsourcenode-stop fn Stop(&self, when: Finite<f64>) -> Fallible<()> { + if *when < 0. { + return Err(Error::Range("'when' must be a positive value".to_owned())); + } + if !self.started.get() { return Err(Error::InvalidState); } |