aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/audiocontext.rs
diff options
context:
space:
mode:
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-11-07 18:31:56 +0100
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-11-18 17:14:51 +0100
commit04f4da3e135ffac4ecb44b5072db58e36bc9cf01 (patch)
tree0f408d9255b038311a614e0f0f8b03a2bbdb0415 /components/script/dom/audiocontext.rs
parenta72e46f9c8c897ecff603899704e5b88484c1138 (diff)
downloadservo-04f4da3e135ffac4ecb44b5072db58e36bc9cf01.tar.gz
servo-04f4da3e135ffac4ecb44b5072db58e36bc9cf01.zip
Implement AudioContext.createMediaElementAudioSourceNode()
Diffstat (limited to 'components/script/dom/audiocontext.rs')
-rw-r--r--components/script/dom/audiocontext.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/components/script/dom/audiocontext.rs b/components/script/dom/audiocontext.rs
index 033ac49ed11..0212cb78ffa 100644
--- a/components/script/dom/audiocontext.rs
+++ b/components/script/dom/audiocontext.rs
@@ -20,6 +20,8 @@ use crate::dom::bindings::num::Finite;
use crate::dom::bindings::refcounted::{Trusted, TrustedPromise};
use crate::dom::bindings::reflector::{reflect_dom_object, DomObject};
use crate::dom::bindings::root::DomRoot;
+use crate::dom::htmlmediaelement::HTMLMediaElement;
+use crate::dom::mediaelementaudiosourcenode::MediaElementAudioSourceNode;
use crate::dom::promise::Promise;
use crate::dom::window::Window;
use crate::task_source::TaskSource;
@@ -244,6 +246,16 @@ impl AudioContextMethods for AudioContext {
// Step 6.
promise
}
+
+ /// https://webaudio.github.io/web-audio-api/#dom-audiocontext-createmediaelementsource
+ fn CreateMediaElementSource(
+ &self,
+ media_element: &HTMLMediaElement,
+ ) -> Fallible<DomRoot<MediaElementAudioSourceNode>> {
+ let global = self.global();
+ let window = global.as_window();
+ MediaElementAudioSourceNode::new(window, self, media_element)
+ }
}
impl From<AudioContextLatencyCategory> for LatencyCategory {