Update html5ever to 0.10.1

This commit is contained in:
Anthony Ramine 2016-11-09 08:27:35 +01:00
parent 085c52dfbc
commit 330263bf2c
7 changed files with 35 additions and 36 deletions

View file

@ -30,7 +30,7 @@ use html5ever::serialize::TraversalScope;
use html5ever::serialize::TraversalScope::{ChildrenOnly, IncludeNode};
use html5ever::tendril::StrTendril;
use html5ever::tokenizer::{Tokenizer as H5ETokenizer, TokenizerOpts};
use html5ever::tree_builder::{NextParserState, NodeOrText, QuirksMode};
use html5ever::tree_builder::{NodeOrText, QuirksMode};
use html5ever::tree_builder::{TreeBuilder, TreeBuilderOpts, TreeSink};
use html5ever_atoms::QualName;
use msg::constellation_msg::PipelineId;
@ -153,14 +153,6 @@ impl<'a> TreeSink for Sink {
script.map(|script| script.set_already_started(true));
}
fn complete_script(&mut self, node: JS<Node>) -> NextParserState {
let script = node.downcast::<HTMLScriptElement>();
if let Some(script) = script {
return script.prepare();
}
NextParserState::Continue
}
fn reparent_children(&mut self, node: JS<Node>, new_parent: JS<Node>) {
while let Some(ref child) = node.GetFirstChild() {
new_parent.AppendChild(&child).unwrap();

View file

@ -17,10 +17,11 @@ use dom::bindings::trace::JSTraceable;
use dom::document::Document;
use dom::globalscope::GlobalScope;
use dom::htmlimageelement::HTMLImageElement;
use dom::htmlscriptelement::HTMLScriptElement;
use dom::node::Node;
use encoding::all::UTF_8;
use encoding::types::{DecoderTrap, Encoding};
use html5ever::tokenizer::Tokenizer as H5ETokenizer;
use html5ever::tokenizer::{Tokenizer as H5ETokenizer, TokenizerResult};
use html5ever::tokenizer::buffer_queue::BufferQueue;
use html5ever::tree_builder::Tracer as HtmlTracer;
use html5ever::tree_builder::TreeBuilder as HtmlTreeBuilder;
@ -247,8 +248,14 @@ impl HtmlTokenizer {
self.run();
}
#[allow(unrooted_must_root)]
fn run(&mut self) {
self.inner.feed(&mut self.input_buffer);
while let TokenizerResult::Script(script) = self.inner.feed(&mut self.input_buffer) {
let script = Root::from_ref(script.downcast::<HTMLScriptElement>().unwrap());
if !script.prepare() {
break;
}
}
}
fn end(&mut self) {

View file

@ -16,7 +16,6 @@ use dom::htmlscriptelement::HTMLScriptElement;
use dom::node::Node;
use dom::processinginstruction::ProcessingInstruction;
use dom::text::Text;
use html5ever;
use html5ever_atoms::{Prefix, QualName};
use msg::constellation_msg::PipelineId;
use std::borrow::Cow;
@ -113,8 +112,8 @@ impl<'a> TreeSink for Sink {
let script = node.downcast::<HTMLScriptElement>();
if let Some(script) = script {
return match script.prepare() {
html5ever::tree_builder::NextParserState::Continue => NextParserState::Continue,
html5ever::tree_builder::NextParserState::Suspend => NextParserState::Suspend
true => NextParserState::Continue,
false => NextParserState::Suspend,
};
}
NextParserState::Continue