diff options
author | Shinichi Morimoto <shnmorimoto@gmail.com> | 2019-11-27 15:32:29 +0900 |
---|---|---|
committer | Shinichi Morimoto <shnmorimoto@gmail.com> | 2019-12-03 07:39:04 +0900 |
commit | 8bdee36bb85f97d00440daf6d3bc43af6f538c7c (patch) | |
tree | 3071a0a83ee26affba6ddd6257334427722b096e /components/script/dom/htmlmediaelement.rs | |
parent | 3e83b0bd25ed423c6221a0aaf8551f229a529c3a (diff) | |
download | servo-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.rs | 11 |
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())); |