aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/audiobuffer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/audiobuffer.rs')
-rw-r--r--components/script/dom/audiobuffer.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/components/script/dom/audiobuffer.rs b/components/script/dom/audiobuffer.rs
index 385ac2f79c3..954f36f43d3 100644
--- a/components/script/dom/audiobuffer.rs
+++ b/components/script/dom/audiobuffer.rs
@@ -22,7 +22,7 @@ use crate::dom::bindings::root::DomRoot;
use crate::dom::globalscope::GlobalScope;
use crate::dom::window::Window;
use crate::realms::enter_realm;
-use crate::script_runtime::JSContext;
+use crate::script_runtime::{CanGc, JSContext};
// Spec mandates at least [8000, 96000], we use [8000, 192000] to match Firefox
// https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-createbuffer
@@ -89,6 +89,7 @@ impl AudioBuffer {
length,
sample_rate,
initial_data,
+ CanGc::note(),
)
}
@@ -100,9 +101,10 @@ impl AudioBuffer {
length: u32,
sample_rate: f32,
initial_data: Option<&[Vec<f32>]>,
+ can_gc: CanGc,
) -> DomRoot<AudioBuffer> {
let buffer = AudioBuffer::new_inherited(number_of_channels, length, sample_rate);
- let buffer = reflect_dom_object_with_proto(Box::new(buffer), global, proto);
+ let buffer = reflect_dom_object_with_proto(Box::new(buffer), global, proto, can_gc);
buffer.set_initial_data(initial_data);
buffer
}
@@ -112,6 +114,7 @@ impl AudioBuffer {
pub fn Constructor(
window: &Window,
proto: Option<HandleObject>,
+ can_gc: CanGc,
options: &AudioBufferOptions,
) -> Fallible<DomRoot<AudioBuffer>> {
if options.length == 0 ||
@@ -129,6 +132,7 @@ impl AudioBuffer {
options.length,
*options.sampleRate,
None,
+ can_gc,
))
}