From fa61191405a6e165ede14910eeb98b1398794e22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Jim=C3=A9nez=20Moreno?= Date: Fri, 4 Oct 2019 18:05:36 +0200 Subject: [PATCH] Make MediaSession handle embedder requested action --- components/script/dom/mediasession.rs | 5 +++++ components/script/script_thread.rs | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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) {