aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/mediasession.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2024-12-11 00:52:48 -0500
committerGitHub <noreply@github.com>2024-12-11 05:52:48 +0000
commite0cbab2fbb58ac687fb3df1bb56a27e748210bbb (patch)
tree5c331274b24c62842cd31cfdefe80b29120273dd /components/script/dom/mediasession.rs
parente10e989abb884f3c83a5c35d4c1b1be887ec0bb1 (diff)
downloadservo-e0cbab2fbb58ac687fb3df1bb56a27e748210bbb.tar.gz
servo-e0cbab2fbb58ac687fb3df1bb56a27e748210bbb.zip
Rewrite From/TryFrom conversions on generated types to avoid future orphan rule violations (#34554)
* script: Add traits to allow converting between types that are not defined in the script crate. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Rewrite all From/TryFrom implementations on generated WebIDL types to use new Convert/TryConvert traits. Signed-off-by: Josh Matthews <josh@joshmatthews.net> --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Diffstat (limited to 'components/script/dom/mediasession.rs')
-rw-r--r--components/script/dom/mediasession.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/components/script/dom/mediasession.rs b/components/script/dom/mediasession.rs
index bd4afd03d5a..8301c6fab5e 100644
--- a/components/script/dom/mediasession.rs
+++ b/components/script/dom/mediasession.rs
@@ -9,6 +9,7 @@ use embedder_traits::{MediaMetadata as EmbedderMediaMetadata, MediaSessionEvent}
use script_traits::{MediaSessionActionType, ScriptMsg};
use super::bindings::trace::HashMapTracedValues;
+use crate::conversions::Convert;
use crate::dom::bindings::callback::ExceptionHandling;
use crate::dom::bindings::cell::DomRefCell;
use crate::dom::bindings::codegen::Bindings::HTMLMediaElementBinding::HTMLMediaElementMethods;
@@ -188,8 +189,8 @@ impl MediaSessionMethods<crate::DomTypeHolder> for MediaSession {
Some(handler) => self
.action_handlers
.borrow_mut()
- .insert(action.into(), handler.clone()),
- None => self.action_handlers.borrow_mut().remove(&action.into()),
+ .insert(action.convert(), handler.clone()),
+ None => self.action_handlers.borrow_mut().remove(&action.convert()),
};
}
@@ -249,9 +250,9 @@ impl MediaSessionMethods<crate::DomTypeHolder> for MediaSession {
}
}
-impl From<MediaSessionAction> for MediaSessionActionType {
- fn from(action: MediaSessionAction) -> MediaSessionActionType {
- match action {
+impl Convert<MediaSessionActionType> for MediaSessionAction {
+ fn convert(self) -> MediaSessionActionType {
+ match self {
MediaSessionAction::Play => MediaSessionActionType::Play,
MediaSessionAction::Pause => MediaSessionActionType::Pause,
MediaSessionAction::Seekbackward => MediaSessionActionType::SeekBackward,