aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/htmlstyleelement.rs
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno.d@partner.samsung.com>2014-07-15 10:16:13 -0400
committerBruno de Oliveira Abinader <bruno.d@partner.samsung.com>2014-07-16 09:03:30 -0400
commit113bc48d6ed5b65c404dc187852517623eb2f0b8 (patch)
treef3586df0a2d0b4900fb5997d279b076cd9bee4c0 /src/components/script/dom/htmlstyleelement.rs
parentaea4ccf8496ec9639be666bf93918fb09edd7027 (diff)
downloadservo-113bc48d6ed5b65c404dc187852517623eb2f0b8.tar.gz
servo-113bc48d6ed5b65c404dc187852517623eb2f0b8.zip
Use tree_in_doc on Style elem to parse its own CSS, if needed
Diffstat (limited to 'src/components/script/dom/htmlstyleelement.rs')
-rw-r--r--src/components/script/dom/htmlstyleelement.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/components/script/dom/htmlstyleelement.rs b/src/components/script/dom/htmlstyleelement.rs
index 62ac8436d1f..00f31bfe1b2 100644
--- a/src/components/script/dom/htmlstyleelement.rs
+++ b/src/components/script/dom/htmlstyleelement.rs
@@ -50,10 +50,7 @@ pub trait StyleElementHelpers {
impl<'a> StyleElementHelpers for JSRef<'a, HTMLStyleElement> {
fn parse_own_css(&self) {
let node: &JSRef<Node> = NodeCast::from_ref(self);
-
- if !node.is_in_doc() {
- return;
- }
+ assert!(node.is_in_doc());
let win = window_from_node(node).root();
let url = win.deref().page().get_url();
@@ -76,7 +73,11 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLStyleElement> {
Some(ref s) => s.child_inserted(child),
_ => (),
}
- self.parse_own_css();
+
+ let node: &JSRef<Node> = NodeCast::from_ref(self);
+ if node.is_in_doc() {
+ self.parse_own_css();
+ }
}
fn bind_to_tree(&self, tree_in_doc: bool) {
@@ -84,7 +85,10 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLStyleElement> {
Some(ref s) => s.bind_to_tree(tree_in_doc),
_ => ()
}
- self.parse_own_css();
+
+ if tree_in_doc {
+ self.parse_own_css();
+ }
}
}