aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/parse/html.rs
diff options
context:
space:
mode:
authorKeegan McAllister <kmcallister@mozilla.com>2014-10-23 18:10:00 -0700
committerKeegan McAllister <kmcallister@mozilla.com>2014-10-24 16:27:37 -0700
commit49234484d6539a4d8df8374a9548c2004b8e68b7 (patch)
treef08c75e46b6ccf17c93ad2142410b11b0ad35bb6 /components/script/parse/html.rs
parent6ec0939a2248e0e092242076ed5b2cd2486c736c (diff)
downloadservo-49234484d6539a4d8df8374a9548c2004b8e68b7.tar.gz
servo-49234484d6539a4d8df8374a9548c2004b8e68b7.zip
Ignore the HTML parser's borrow flag in GC tracing
Adds some other dynamic checks in debug builds.
Diffstat (limited to 'components/script/parse/html.rs')
-rw-r--r--components/script/parse/html.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/components/script/parse/html.rs b/components/script/parse/html.rs
index 933202e81f6..8eca823236a 100644
--- a/components/script/parse/html.rs
+++ b/components/script/parse/html.rs
@@ -25,6 +25,8 @@ use encoding::types::{Encoding, DecodeReplace};
use servo_net::resource_task::{Load, LoadData, Payload, Done, ResourceTask, load_whole_resource};
use servo_msg::constellation_msg::LoadData as MsgLoadData;
use servo_util::task::spawn_named;
+use servo_util::task_state;
+use servo_util::task_state::InHTMLParser;
use servo_util::str::DOMString;
use std::ascii::StrAsciiExt;
use std::comm::{channel, Sender, Receiver};
@@ -480,6 +482,8 @@ pub fn parse_html(page: &Page,
let parser = ServoHTMLParser::new(js_chan.clone(), base_url.clone(), document).root();
let parser: JSRef<ServoHTMLParser> = *parser;
+ task_state::enter(InHTMLParser);
+
match input {
InputString(s) => {
parser.tokenizer().borrow_mut().feed(s);
@@ -512,6 +516,8 @@ pub fn parse_html(page: &Page,
parser.tokenizer().borrow_mut().end();
+ task_state::exit(InHTMLParser);
+
debug!("finished parsing");
js_chan.send(JSTaskExit);