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 /components/script/dom/audioscheduledsourcenode.rs | |
parent | bbc35659002cf18659d31f4e6b30ef0f8b632129 (diff) | |
download | servo-bc6586a9d0489bcbc1d151320eefb8cb33e8853d.tar.gz servo-bc6586a9d0489bcbc1d151320eefb8cb33e8853d.zip |
Throw if time given to AudioScheduledSourceNode.stop is negative
Diffstat (limited to 'components/script/dom/audioscheduledsourcenode.rs')
-rw-r--r-- | components/script/dom/audioscheduledsourcenode.rs | 8 |
1 files changed, 8 insertions, 0 deletions
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); } |