diff --git a/components/script/dom/mediasession.rs b/components/script/dom/mediasession.rs index 70e63f3fd58..6fdfd9b27c4 100644 --- a/components/script/dom/mediasession.rs +++ b/components/script/dom/mediasession.rs @@ -15,6 +15,7 @@ use crate::dom::window::Window; use crate::script_thread::ScriptThread; use dom_struct::dom_struct; use msg::constellation_msg::TopLevelBrowsingContextId; +use script_traits::MediaSessionActionType; use std::rc::Rc; #[dom_struct] @@ -46,6 +47,10 @@ impl MediaSession { MediaSessionBinding::Wrap, ) } + + pub fn handle_action(&self, action: MediaSessionActionType) { + // TODO + } } impl MediaSessionMethods for MediaSession { diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 1c1a7bd9538..ec1f5852060 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -3941,7 +3941,10 @@ impl ScriptThread { browsing_context_id: TopLevelBrowsingContextId, action: MediaSessionActionType, ) { - // TODO + match self.media_sessions.borrow().get(&browsing_context_id) { + Some(session) => session.handle_action(action), + None => warn!("No MediaSession for this browsing context"), + }; } pub fn enqueue_microtask(job: Microtask) {