aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlmediaelement.rs
diff options
context:
space:
mode:
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-05-10 20:52:25 +0200
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-07-22 17:40:15 +0200
commit82339a92958d91ec387feb3d15be51eb11f9626b (patch)
treef93265c2898f9f73aec7455c5ef32917d124ffcc /components/script/dom/htmlmediaelement.rs
parent3a99c6ba6ae61245f7eb2fdaa84cc378987baf35 (diff)
downloadservo-82339a92958d91ec387feb3d15be51eb11f9626b.tar.gz
servo-82339a92958d91ec387feb3d15be51eb11f9626b.zip
Do not try to render controls if they are already rendered
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r--components/script/dom/htmlmediaelement.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index 256199ca1f0..3d9c5ce516b 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -1731,12 +1731,12 @@ impl HTMLMediaElement {
}
fn render_controls(&self) {
- if self.ready_state.get() < ReadyState::HaveMetadata {
+ let element = self.htmlelement.upcast::<Element>();
+ if self.ready_state.get() < ReadyState::HaveMetadata || element.is_shadow_host() {
+ // Bail out if we have no metadata yet or
+ // if we are already showing the controls.
return;
}
- // XXX cannot render controls while parsing.
- // XXX check that controls are not already rendered.
- let element = self.htmlelement.upcast::<Element>();
if let Ok(shadow_root) = element.attach_shadow(IsUserAgentWidget::Yes) {
let document = document_from_node(self);
let script = HTMLScriptElement::new(