aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-10-18 22:29:11 +0200
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-11-20 13:33:51 +0100
commit08f9f17ed36c1102db51eaa1a88e6914757f2026 (patch)
treee11be5f0d186cf229103bf2cdf0dc1c60da97720 /components
parentb494acbf19b52feb122d7d52a84c735e6522a5f5 (diff)
downloadservo-08f9f17ed36c1102db51eaa1a88e6914757f2026.tar.gz
servo-08f9f17ed36c1102db51eaa1a88e6914757f2026.zip
Send MediaSessionAction from Android
Diffstat (limited to 'components')
-rw-r--r--components/script/dom/htmlmediaelement.rs6
-rw-r--r--components/script/dom/mediasession.rs1
-rw-r--r--components/script_traits/lib.rs17
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"),
+ }
+ }
+}