From 0e92efbb79cfeb92a9e64cea378457b489517cc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Jim=C3=A9nez=20Moreno?= Date: Fri, 29 Jun 2018 16:41:55 +0200 Subject: [PATCH] BaseAudioContext.CreateGain() --- components/script/dom/baseaudiocontext.rs | 10 ++++++++++ components/script/dom/webidls/BaseAudioContext.webidl | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/components/script/dom/baseaudiocontext.rs b/components/script/dom/baseaudiocontext.rs index c6b43fcee8e..9152fad8b3e 100644 --- a/components/script/dom/baseaudiocontext.rs +++ b/components/script/dom/baseaudiocontext.rs @@ -8,6 +8,7 @@ use dom::bindings::codegen::Bindings::AudioNodeBinding::AudioNodeOptions; use dom::bindings::codegen::Bindings::AudioNodeBinding::{ChannelCountMode, ChannelInterpretation}; use dom::bindings::codegen::Bindings::BaseAudioContextBinding::BaseAudioContextMethods; use dom::bindings::codegen::Bindings::BaseAudioContextBinding::AudioContextState; +use dom::bindings::codegen::Bindings::GainNodeBinding::GainOptions; use dom::bindings::codegen::Bindings::OscillatorNodeBinding::OscillatorOptions; use dom::bindings::error::{Error, ErrorResult}; use dom::bindings::inheritance::Castable; @@ -16,6 +17,7 @@ use dom::bindings::refcounted::Trusted; use dom::bindings::reflector::DomObject; use dom::bindings::root::DomRoot; use dom::eventtarget::EventTarget; +use dom::gainnode::GainNode; use dom::globalscope::GlobalScope; use dom::oscillatornode::OscillatorNode; use dom::promise::Promise; @@ -267,6 +269,14 @@ impl BaseAudioContextMethods for BaseAudioContext { let options = unsafe { OscillatorOptions::empty(window.get_cx()) }; OscillatorNode::new(&window, &self, &options) } + + #[allow(unsafe_code)] + fn CreateGain(&self) -> DomRoot { + let global = self.global(); + let window = global.as_window(); + let options = unsafe { GainOptions::empty(window.get_cx()) }; + GainNode::new(&window, &self, &options) + } } impl From for AudioContextState { diff --git a/components/script/dom/webidls/BaseAudioContext.webidl b/components/script/dom/webidls/BaseAudioContext.webidl index 81e0817c8cd..9adb5600fbb 100644 --- a/components/script/dom/webidls/BaseAudioContext.webidl +++ b/components/script/dom/webidls/BaseAudioContext.webidl @@ -36,7 +36,7 @@ interface BaseAudioContext : EventTarget { // optional unsigned long numberOfInputChannels = 2, // optional unsigned long numberOfOutputChannels = 2); // AnalyserNode createAnalyser(); - // GainNode createGain(); + GainNode createGain(); // DelayNode createDelay(optional double maxDelayTime = 1); // BiquadFilterNode createBiquadFilter(); // IIRFilterNode createIIRFilter(sequence feedforward,