aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlmediaelement.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r--components/script/dom/htmlmediaelement.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index 8e29bd1a9d2..256199ca1f0 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -1648,6 +1648,12 @@ impl HTMLMediaElement {
// https://github.com/servo/media/issues/156
// Step 12 & 13 are already handled by the earlier media track processing.
+
+ // We wait until we have metadata to render the controls, so we render them
+ // with the appropriate size.
+ if self.Controls() {
+ self.render_controls();
+ }
},
PlayerEvent::NeedData => {
// The player needs more data.
@@ -1725,6 +1731,9 @@ impl HTMLMediaElement {
}
fn render_controls(&self) {
+ if self.ready_state.get() < ReadyState::HaveMetadata {
+ return;
+ }
// XXX cannot render controls while parsing.
// XXX check that controls are not already rendered.
let element = self.htmlelement.upcast::<Element>();