= NodeCast::from_ref(self);
+
+ if !node.is_in_doc() {
+ return;
+ }
+
let win = window_from_node(node).root();
let url = win.deref().page().get_url();
@@ -72,4 +77,12 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLStyleElement> {
}
self.parse_own_css();
}
+
+ fn bind_to_tree(&self) {
+ match self.super_type() {
+ Some(ref s) => s.bind_to_tree(),
+ _ => ()
+ }
+ self.parse_own_css();
+ }
}
diff --git a/src/test/ref/style_is_in_doc.html b/src/test/ref/style_is_in_doc.html
new file mode 100644
index 00000000000..9cc72e43343
--- /dev/null
+++ b/src/test/ref/style_is_in_doc.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+Style from html element
+Style from an element added in javascript
+Style from an element with content set in javascript
+Style that is never in the document
+
+
diff --git a/src/test/ref/style_is_in_doc_ref.html b/src/test/ref/style_is_in_doc_ref.html
new file mode 100644
index 00000000000..023768e8d77
--- /dev/null
+++ b/src/test/ref/style_is_in_doc_ref.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+Style from html element
+Style from an element added in javascript
+Style from an element with content set in javascript
+Style that is never in the document
+
+