From da0634157806e50894c05dd4110717047dd67eb4 Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Sat, 17 Oct 2015 16:00:51 +0200 Subject: [PATCH] Do not root ServoHTMLParser::document --- components/script/dom/servohtmlparser.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/components/script/dom/servohtmlparser.rs b/components/script/dom/servohtmlparser.rs index e527a090d13..8ab97382d19 100644 --- a/components/script/dom/servohtmlparser.rs +++ b/components/script/dom/servohtmlparser.rs @@ -152,8 +152,7 @@ impl AsyncResponseListener for ParserContext { Some(parser) => parser.root(), None => return, }; - let doc = parser.r().document.root(); - doc.r().finish_load(LoadType::PageSource(self.url.clone())); + parser.document.finish_load(LoadType::PageSource(self.url.clone())); if let Err(err) = status { debug!("Failed to load page URL {}, error: {}", self.url.serialize(), err); @@ -188,7 +187,7 @@ pub struct ServoHTMLParser { impl<'a> Parser for &'a ServoHTMLParser { fn parse_chunk(self, input: String) { - self.document.root().r().set_current_parser(Some(self)); + self.document.set_current_parser(Some(self)); self.pending_input.borrow_mut().push(input); self.parse_sync(); } @@ -200,8 +199,7 @@ impl<'a> Parser for &'a ServoHTMLParser { self.tokenizer().borrow_mut().end(); debug!("finished parsing"); - let document = self.document.root(); - document.r().set_current_parser(None); + self.document.set_current_parser(None); if let Some(pipeline) = self.pipeline { ScriptTask::parsing_complete(pipeline); @@ -298,8 +296,7 @@ impl ServoHTMLParser { break; } - let document = self.document.root(); - document.r().reflow_if_reflow_timer_expired(); + self.document.reflow_if_reflow_timer_expired(); let mut pending_input = self.pending_input.borrow_mut(); if !pending_input.is_empty() { @@ -318,8 +315,7 @@ impl ServoHTMLParser { } fn window(&self) -> Root { - let doc = self.document.root(); - window_from_node(doc.r()) + window_from_node(&*self.document) } }