diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2017-09-15 10:09:22 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2017-09-19 14:26:10 +0200 |
commit | 7e835c351e44e7378784fdd4667cc151b3d602ae (patch) | |
tree | d6904d0f1511a52c5cec8d0bef7b4b85b47601dc | |
parent | bd9486bbe2b82cd7afbff96a0df7d6fb9911545f (diff) | |
download | servo-7e835c351e44e7378784fdd4667cc151b3d602ae.tar.gz servo-7e835c351e44e7378784fdd4667cc151b3d602ae.zip |
Handle invalid MIME types in HTMLMediaElement::CanPlayType
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 12 | ||||
-rw-r--r-- | tests/wpt/metadata/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini | 3 |
2 files changed, 9 insertions, 6 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index ef96a876356..80afcf2a585 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -32,6 +32,7 @@ use html5ever::{LocalName, Prefix}; use ipc_channel::ipc; use ipc_channel::router::ROUTER; use microtask::{Microtask, MicrotaskRunnable}; +use mime::{Mime, SubLevel, TopLevel}; use net_traits::{FetchResponseListener, FetchMetadata, Metadata, NetworkError}; use net_traits::request::{CredentialsMode, Destination, RequestInit, Type as RequestType}; use network_listener::{NetworkListener, PreInvoke}; @@ -644,9 +645,14 @@ impl HTMLMediaElementMethods for HTMLMediaElement { } // https://html.spec.whatwg.org/multipage/#dom-navigator-canplaytype - fn CanPlayType(&self, _type_: DOMString) -> CanPlayTypeResult { - // TODO: application/octet-stream - CanPlayTypeResult::Maybe + fn CanPlayType(&self, type_: DOMString) -> CanPlayTypeResult { + match type_.parse::<Mime>() { + Ok(Mime(TopLevel::Application, SubLevel::OctetStream, _)) | + Err(_) => { + CanPlayTypeResult::_empty + }, + _ => CanPlayTypeResult::Maybe + } } // https://html.spec.whatwg.org/multipage/#dom-media-error diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini index c5491bf470e..dc43bf6b602 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini @@ -1,8 +1,5 @@ [canPlayType.html] type: testharness - [application/octet-stream] - expected: FAIL - [video/x-new-fictional-format] expected: FAIL |