diff options
author | Ms2ger <ms2ger@gmail.com> | 2013-10-05 21:42:13 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2013-10-05 21:42:13 +0200 |
commit | c93d13b0da1bc423ccff2520da01a558c6b3d8ec (patch) | |
tree | d6cf411690678dca884f4f9330479b53c29c46e1 /src/components/script/dom/domparser.rs | |
parent | f13438d012363eef5d65cb32ffe2d1aab28ec07f (diff) | |
download | servo-c93d13b0da1bc423ccff2520da01a558c6b3d8ec.tar.gz servo-c93d13b0da1bc423ccff2520da01a558c6b3d8ec.zip |
Don't require passing a root element to Document::new (needed for issue #888).
Diffstat (limited to 'src/components/script/dom/domparser.rs')
-rw-r--r-- | src/components/script/dom/domparser.rs | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/components/script/dom/domparser.rs b/src/components/script/dom/domparser.rs index 82f94262ea8..685019da52a 100644 --- a/src/components/script/dom/domparser.rs +++ b/src/components/script/dom/domparser.rs @@ -41,26 +41,26 @@ impl DOMParser { _s: &DOMString, ty: DOMParserBinding::SupportedType) -> Fallible<AbstractDocument> { - unsafe { - let root = @HTMLHtmlElement { - htmlelement: HTMLElement::new(HTMLHtmlElementTypeId, ~"html") - }; + let cx = (*self.owner.page).js_info.get_ref().js_compartment.cx.ptr; + let mut document = match ty { + Text_html => { + HTMLDocument::new(None) + } + Text_xml => { + AbstractDocument::as_abstract(cx, @mut Document::new(None, XML)) + } + _ => { + fail!("unsupported document type") + } + }; - let root = Node::as_abstract_node((*self.owner.page).js_info.get_ref().js_compartment.cx.ptr, root); - let cx = (*self.owner.page).js_info.get_ref().js_compartment.cx.ptr; + let root = @HTMLHtmlElement { + htmlelement: HTMLElement::new(HTMLHtmlElementTypeId, ~"html") + }; + let root = unsafe { Node::as_abstract_node(cx, root) }; + document.set_root(root); - match ty { - Text_html => { - Ok(HTMLDocument::new(root, None)) - } - Text_xml => { - Ok(AbstractDocument::as_abstract(cx, @mut Document::new(root, None, XML))) - } - _ => { - fail!("unsupported document type") - } - } - } + Ok(document) } } |