mirror of
https://github.com/servo/servo.git
synced 2025-07-24 15:50:21 +01:00
Send MediaSessionEvent::PlaybackStateChange when needed
This commit is contained in:
parent
3f6569447d
commit
761f21fc8b
1 changed files with 22 additions and 8 deletions
|
@ -67,7 +67,7 @@ use crate::script_thread::ScriptThread;
|
||||||
use crate::task_source::TaskSource;
|
use crate::task_source::TaskSource;
|
||||||
use dom_struct::dom_struct;
|
use dom_struct::dom_struct;
|
||||||
use embedder_traits::resources::{self, Resource as EmbedderResource};
|
use embedder_traits::resources::{self, Resource as EmbedderResource};
|
||||||
use embedder_traits::{MediaMetadata, MediaSessionEvent};
|
use embedder_traits::{MediaMetadata, MediaSessionEvent, MediaSessionPlaybackState};
|
||||||
use euclid::default::Size2D;
|
use euclid::default::Size2D;
|
||||||
use headers::{ContentLength, ContentRange, HeaderMapExt};
|
use headers::{ContentLength, ContentRange, HeaderMapExt};
|
||||||
use html5ever::{LocalName, Prefix};
|
use html5ever::{LocalName, Prefix};
|
||||||
|
@ -1792,13 +1792,27 @@ impl HTMLMediaElement {
|
||||||
};
|
};
|
||||||
ScriptThread::await_stable_state(Microtask::MediaElement(task));
|
ScriptThread::await_stable_state(Microtask::MediaElement(task));
|
||||||
},
|
},
|
||||||
PlayerEvent::StateChanged(ref state) => match *state {
|
PlayerEvent::StateChanged(ref state) => {
|
||||||
PlaybackState::Paused => {
|
let mut media_session_playback_state = MediaSessionPlaybackState::None_;
|
||||||
if self.ready_state.get() == ReadyState::HaveMetadata {
|
match *state {
|
||||||
self.change_ready_state(ReadyState::HaveEnoughData);
|
PlaybackState::Paused => {
|
||||||
}
|
media_session_playback_state = MediaSessionPlaybackState::Paused;
|
||||||
},
|
if self.ready_state.get() == ReadyState::HaveMetadata {
|
||||||
_ => {},
|
self.change_ready_state(ReadyState::HaveEnoughData);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
PlaybackState::Playing => {
|
||||||
|
media_session_playback_state = MediaSessionPlaybackState::Playing;
|
||||||
|
},
|
||||||
|
_ => {},
|
||||||
|
};
|
||||||
|
println!(
|
||||||
|
"Sending media session event playback state changed to {:?}",
|
||||||
|
media_session_playback_state
|
||||||
|
);
|
||||||
|
self.send_media_session_event(MediaSessionEvent::PlaybackStateChange(
|
||||||
|
media_session_playback_state,
|
||||||
|
));
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue