aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>2018-09-07 12:58:44 +0200
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2018-09-19 06:54:16 +0200
commitb8ade9353894e339781f99f725edab02359c10b5 (patch)
treee7be74351d6a5ae9ccc3255a9f85275816616b54 /components/script
parente80ac0000f6826568d526810373b4f59aeebeb27 (diff)
downloadservo-b8ade9353894e339781f99f725edab02359c10b5.tar.gz
servo-b8ade9353894e339781f99f725edab02359c10b5.zip
Throw when trying to copy AudioBuffer data from or to a SharedArrayBuffer
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/audiobuffer.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/components/script/dom/audiobuffer.rs b/components/script/dom/audiobuffer.rs
index ccce8510586..8a2ae5e158b 100644
--- a/components/script/dom/audiobuffer.rs
+++ b/components/script/dom/audiobuffer.rs
@@ -235,6 +235,10 @@ impl AudioBufferMethods for AudioBuffer {
channel_number: u32,
start_in_channel: u32,
) -> Fallible<()> {
+ if destination.is_shared() {
+ return Err(Error::Type("Cannot copy to shared buffer".to_owned()));
+ }
+
if channel_number >= self.number_of_channels || start_in_channel > self.length {
return Err(Error::IndexSize);
}
@@ -276,6 +280,10 @@ impl AudioBufferMethods for AudioBuffer {
channel_number: u32,
start_in_channel: u32,
) -> Fallible<()> {
+ if source.is_shared() {
+ return Err(Error::Type("Cannot copy from shared buffer".to_owned()));
+ }
+
if channel_number >= self.number_of_channels || start_in_channel > (source.len() as u32) {
return Err(Error::IndexSize);
}