diff --git a/components/script/dom/baseaudiocontext.rs b/components/script/dom/baseaudiocontext.rs index 554b4e67b4e..7c2dfff78a9 100644 --- a/components/script/dom/baseaudiocontext.rs +++ b/components/script/dom/baseaudiocontext.rs @@ -49,7 +49,9 @@ impl BaseAudioContext { BaseAudioContextOptions::AudioContext(options) => options, BaseAudioContextOptions::OfflineAudioContext(_) => unimplemented!(), }; + let sample_rate = options.sample_rate; + let mut context = BaseAudioContext { reflector_: Reflector::new(), audio_graph: ServoMedia::get().unwrap().create_audio_graph(Some(options.into())), @@ -85,6 +87,11 @@ impl BaseAudioContextMethods for BaseAudioContext { Finite::wrap(self.current_time) } + // https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-state + fn State(&self) -> AudioContextState { + self.state + } + // https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-resume #[allow(unrooted_must_root)] fn Resume(&self) -> Rc { diff --git a/components/script/dom/webidls/BaseAudioContext.webidl b/components/script/dom/webidls/BaseAudioContext.webidl index 61ec03346c2..81e0817c8cd 100644 --- a/components/script/dom/webidls/BaseAudioContext.webidl +++ b/components/script/dom/webidls/BaseAudioContext.webidl @@ -21,7 +21,7 @@ interface BaseAudioContext : EventTarget { readonly attribute float sampleRate; readonly attribute double currentTime; // readonly attribute AudioListener listener; - // readonly attribute AudioContextState state; + readonly attribute AudioContextState state; Promise resume(); attribute EventHandler onstatechange; // AudioBuffer createBuffer(unsigned long numberOfChannels,