diff options
author | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-10-18 22:29:11 +0200 |
---|---|---|
committer | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-11-20 13:33:51 +0100 |
commit | 08f9f17ed36c1102db51eaa1a88e6914757f2026 (patch) | |
tree | e11be5f0d186cf229103bf2cdf0dc1c60da97720 /components | |
parent | b494acbf19b52feb122d7d52a84c735e6522a5f5 (diff) | |
download | servo-08f9f17ed36c1102db51eaa1a88e6914757f2026.tar.gz servo-08f9f17ed36c1102db51eaa1a88e6914757f2026.zip |
Send MediaSessionAction from Android
Diffstat (limited to 'components')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 6 | ||||
-rw-r--r-- | components/script/dom/mediasession.rs | 1 | ||||
-rw-r--r-- | components/script_traits/lib.rs | 17 |
3 files changed, 18 insertions, 6 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 3204871d459..14a667b8918 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -1913,12 +1913,6 @@ impl HTMLMediaElement { self.media_element_load_algorithm(); } } - - fn send_media_session_event(&self, event: MediaSessionEvent) { - let global = self.global(); - let media_session = global.as_window().Navigator().MediaSession(); - media_session.send_event(event); - } } // XXX Placeholder for [https://github.com/servo/servo/issues/22293] diff --git a/components/script/dom/mediasession.rs b/components/script/dom/mediasession.rs index ef64170f312..29d7108e3e3 100644 --- a/components/script/dom/mediasession.rs +++ b/components/script/dom/mediasession.rs @@ -61,6 +61,7 @@ impl MediaSession { } pub fn handle_action(&self, action: MediaSessionActionType) { + println!("HANDLE ACTION {:?}", action); if let Some(handler) = self.action_handlers.borrow().get(&action) { if handler.Call__(ExceptionHandling::Report).is_err() { warn!("Error calling MediaSessionActionHandler callback"); diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index b4b85889ea0..7b921db70e4 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -1087,3 +1087,20 @@ pub enum MediaSessionActionType { /// The action intent is to move the playback time to a specific time. SeekTo, } + +impl From<i32> for MediaSessionActionType { + fn from(value: i32) -> MediaSessionActionType { + match value { + 1 => MediaSessionActionType::Play, + 2 => MediaSessionActionType::Pause, + 3 => MediaSessionActionType::SeekBackward, + 4 => MediaSessionActionType::SeekForward, + 5 => MediaSessionActionType::PreviousTrack, + 6 => MediaSessionActionType::NextTrack, + 7 => MediaSessionActionType::SkipAd, + 8 => MediaSessionActionType::Stop, + 9 => MediaSessionActionType::SeekTo, + _ => panic!("Unknown MediaSessionActionType"), + } + } +} |