From 8e75c4d30e373bae40b1f40e85cca39604ab213f Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Fri, 24 Nov 2017 10:17:13 +0100 Subject: [PATCH] Use GeckoMedia and only that on platforms that support it --- components/script/dom/htmlmediaelement.rs | 33 ++++++++++++++--------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index a37a06d4047..426f5ae32b4 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -870,22 +870,29 @@ impl HTMLMediaElementMethods for HTMLMediaElement { self.media_element_load_algorithm(); } + #[cfg(all( + any(target_os = "macos", target_os = "linux"), + not(any(target_arch = "arm", target_arch = "aarch64")), + ))] // https://html.spec.whatwg.org/multipage/#dom-navigator-canplaytype fn CanPlayType(&self, type_: DOMString) -> CanPlayTypeResult { - #[cfg(all( - any(target_os = "macos", target_os = "linux"), - not(any(target_arch = "arm", target_arch = "aarch64"))))] - { - let gecko_media = match GeckoMedia::get() { - Ok(gecko_media) => gecko_media, - Err(_error) => return CanPlayTypeResult::_empty, - }; - return match gecko_media.can_play_type(&type_) { - CanPlayType::No => CanPlayTypeResult::_empty, - CanPlayType::Maybe => CanPlayTypeResult::Maybe, - CanPlayType::Probably => CanPlayTypeResult::Probably - }; + let gecko_media = match GeckoMedia::get() { + Ok(gecko_media) => gecko_media, + Err(_) => return CanPlayTypeResult::_empty, + }; + match gecko_media.can_play_type(&type_) { + CanPlayType::No => CanPlayTypeResult::_empty, + CanPlayType::Maybe => CanPlayTypeResult::Maybe, + CanPlayType::Probably => CanPlayTypeResult::Probably } + } + + #[cfg(not(all( + any(target_os = "macos", target_os = "linux"), + not(any(target_arch = "arm", target_arch = "aarch64")), + )))] + // https://html.spec.whatwg.org/multipage/#dom-navigator-canplaytype + fn CanPlayType(&self, type_: DOMString) -> CanPlayTypeResult { match type_.parse::() { Ok(Mime(TopLevel::Application, SubLevel::OctetStream, _)) | Err(_) => {