diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 747e88eb067..8e1f47d4eee 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -480,10 +480,11 @@ trait PrivateDocumentHelpers { impl<'a> PrivateDocumentHelpers for JSRef<'a, Document> { fn createNodeList(self, callback: |node: JSRef| -> bool) -> Temporary { let window = self.window.root(); - let nodes = match self.GetDocumentElement().root() { + let document_element = self.GetDocumentElement().root(); + let nodes = match document_element { None => vec!(), - Some(root) => { - let root: JSRef = NodeCast::from_ref(*root); + Some(ref root) => { + let root: JSRef = NodeCast::from_ref(root.r()); root.traverse_preorder().filter(|&node| callback(node)).collect() } };