diff options
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 9 |
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>(); |