aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlmediaelement.rs
diff options
context:
space:
mode:
authorShinichi Morimoto <shnmorimoto@gmail.com>2019-11-27 15:32:29 +0900
committerShinichi Morimoto <shnmorimoto@gmail.com>2019-12-03 07:39:04 +0900
commit8bdee36bb85f97d00440daf6d3bc43af6f538c7c (patch)
tree3071a0a83ee26affba6ddd6257334427722b096e /components/script/dom/htmlmediaelement.rs
parent3e83b0bd25ed423c6221a0aaf8551f229a529c3a (diff)
downloadservo-8bdee36bb85f97d00440daf6d3bc43af6f538c7c.tar.gz
servo-8bdee36bb85f97d00440daf6d3bc43af6f538c7c.zip
extended MediaSessionEvent with SetPositionState
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r--components/script/dom/htmlmediaelement.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index 0780a81e2e6..cf179aee439 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -67,7 +67,7 @@ use crate::script_thread::ScriptThread;
use crate::task_source::TaskSource;
use dom_struct::dom_struct;
use embedder_traits::resources::{self, Resource as EmbedderResource};
-use embedder_traits::{MediaSessionEvent, MediaSessionPlaybackState};
+use embedder_traits::{MediaPositionState, MediaSessionEvent, MediaSessionPlaybackState};
use euclid::default::Size2D;
use headers::{ContentLength, ContentRange, HeaderMapExt};
use html5ever::{LocalName, Prefix};
@@ -1780,6 +1780,15 @@ impl HTMLMediaElement {
.add(self.playback_position.get(), position);
self.playback_position.set(position);
self.time_marches_on();
+ let media_position_state =
+ MediaPositionState::new(self.duration.get(), self.playbackRate.get(), position);
+ debug!(
+ "Sending media session event set position state {:?}",
+ media_position_state
+ );
+ self.send_media_session_event(MediaSessionEvent::SetPositionState(
+ media_position_state,
+ ));
},
PlayerEvent::SeekData(p, ref seek_lock) => {
self.fetch_request(Some(p), Some(seek_lock.clone()));