diff options
Diffstat (limited to 'src/components/script/dom')
-rw-r--r-- | src/components/script/dom/document.rs | 15 | ||||
-rw-r--r-- | src/components/script/dom/node.rs | 10 |
2 files changed, 10 insertions, 15 deletions
diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs index a8c91558e7d..eb30f110533 100644 --- a/src/components/script/dom/document.rs +++ b/src/components/script/dom/document.rs @@ -77,17 +77,6 @@ impl AbstractDocument { document: ptr as *mut Box<Document> } } - - pub fn set_root(&self, root: AbstractNode<ScriptView>) { - assert!(do root.traverse_preorder().all |node| { - node.node().owner_doc() == *self - }); - - let document = self.mut_document(); - document.node.AppendChild(AbstractNode::from_document(*self), root); - // Register elements having "id" attribute to the owner doc. - document.register_nodes_with_id(&root); - } } #[deriving(Eq)] @@ -173,7 +162,9 @@ impl Reflectable for Document { impl Document { pub fn GetDocumentElement(&self) -> Option<AbstractNode<ScriptView>> { - self.node.first_child + do self.node.children().find |c| { + c.is_element() + } } fn get_cx(&self) -> *JSContext { diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs index 83deddcaf50..78533b2b48c 100644 --- a/src/components/script/dom/node.rs +++ b/src/components/script/dom/node.rs @@ -441,9 +441,7 @@ impl<'self, View> AbstractNode<View> { } pub fn children(&self) -> AbstractNodeChildrenIterator<View> { - AbstractNodeChildrenIterator { - current_node: self.first_child(), - } + self.node().children() } // Issue #1030: should not walk the tree @@ -498,6 +496,12 @@ impl<View> Node<View> { pub fn set_owner_doc(&mut self, document: AbstractDocument) { self.owner_doc = Some(document); } + + pub fn children(&self) -> AbstractNodeChildrenIterator<View> { + AbstractNodeChildrenIterator { + current_node: self.first_child, + } + } } impl Node<ScriptView> { |