From 5bbd09769c3d8910a11d014ed512a0e40f093c18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Jim=C3=A9nez=20Moreno?= Date: Fri, 21 Sep 2018 16:32:59 +0200 Subject: [PATCH] Set input size --- components/script/dom/htmlmediaelement.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 26c6242a0834..df29a860a3ff 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -33,6 +33,7 @@ use dom::virtualmethods::VirtualMethods; use dom_struct::dom_struct; use fetch::FetchCanceller; use html5ever::{LocalName, Prefix}; +use hyper::header::ContentLength; use ipc_channel::ipc; use ipc_channel::router::ROUTER; use microtask::{Microtask, MicrotaskRunnable}; @@ -993,7 +994,6 @@ impl HTMLMediaElement { // Step 5. if self.is::() { - assert_ne!(self.ready_state.get(), ReadyState::HaveNothing); let video_elem = self.downcast::().unwrap(); video_elem.set_video_width(metadata.width); video_elem.set_video_height(metadata.height); @@ -1235,6 +1235,14 @@ impl FetchResponseListener for HTMLMediaElementContext { FetchMetadata::Filtered { unsafe_, .. } => unsafe_, }); + if let Some(metadata) = self.metadata.as_ref() { + if let Some(headers) = metadata.headers.as_ref() { + if let Some(content_length) = headers.get::() { + self.elem.root().player.set_input_size(**content_length); + } + } + } + let status_is_ok = self .metadata .as_ref()