aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/domparser.rs
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2013-10-05 21:42:13 +0200
committerMs2ger <ms2ger@gmail.com>2013-10-05 21:42:13 +0200
commitc93d13b0da1bc423ccff2520da01a558c6b3d8ec (patch)
treed6cf411690678dca884f4f9330479b53c29c46e1 /src/components/script/dom/domparser.rs
parentf13438d012363eef5d65cb32ffe2d1aab28ec07f (diff)
downloadservo-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.rs36
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)
}
}