mirror of
https://github.com/servo/servo.git
synced 2025-06-18 22:34:30 +01:00
Update html5ever and xml5ever for API changes.
This commit is contained in:
parent
a19b14313a
commit
c7b51e7aa1
9 changed files with 79 additions and 52 deletions
|
@ -78,11 +78,10 @@ num = "0.1.24"
|
|||
websocket = "0.14.0"
|
||||
uuid = "0.1.16"
|
||||
smallvec = "0.1"
|
||||
html5ever = { version = "0.2.1", features = ["unstable"] }
|
||||
html5ever = { version = "0.4", features = ["unstable"] }
|
||||
selectors = "0.2"
|
||||
string_cache = { version = "0.2", features = ["unstable"] }
|
||||
euclid = {version = "0.4", features = ["plugins"]}
|
||||
tendril = "0.1.1"
|
||||
rand = "0.3"
|
||||
serde = "0.6"
|
||||
caseless = "0.1.0"
|
||||
|
|
|
@ -66,7 +66,6 @@ extern crate smallvec;
|
|||
#[macro_use(atom, ns)] extern crate string_cache;
|
||||
#[macro_use]
|
||||
extern crate style;
|
||||
extern crate tendril;
|
||||
extern crate time;
|
||||
extern crate unicase;
|
||||
extern crate url;
|
||||
|
|
|
@ -29,13 +29,13 @@ use html5ever::Attribute;
|
|||
use html5ever::serialize::TraversalScope;
|
||||
use html5ever::serialize::TraversalScope::{ChildrenOnly, IncludeNode};
|
||||
use html5ever::serialize::{AttrRef, Serializable, Serializer};
|
||||
use html5ever::tendril::StrTendril;
|
||||
use html5ever::tree_builder::{NextParserState, NodeOrText, QuirksMode, TreeSink};
|
||||
use msg::constellation_msg::PipelineId;
|
||||
use parse::Parser;
|
||||
use std::borrow::Cow;
|
||||
use std::io::{self, Write};
|
||||
use string_cache::QualName;
|
||||
use tendril::StrTendril;
|
||||
use url::Url;
|
||||
use util::str::DOMString;
|
||||
|
||||
|
@ -54,6 +54,9 @@ fn insert(parent: &Node, reference_child: Option<&Node>, child: NodeOrText<JS<No
|
|||
}
|
||||
|
||||
impl<'a> TreeSink for servohtmlparser::Sink {
|
||||
type Output = Self;
|
||||
fn finish(self) -> Self { self }
|
||||
|
||||
type Handle = JS<Node>;
|
||||
|
||||
fn get_document(&mut self) -> JS<Node> {
|
||||
|
|
|
@ -19,11 +19,11 @@ use dom::text::Text;
|
|||
use msg::constellation_msg::PipelineId;
|
||||
use parse::Parser;
|
||||
use std::borrow::Cow;
|
||||
use string_cache::QualName;
|
||||
use tendril::StrTendril;
|
||||
use string_cache::{Atom, QualName, Namespace};
|
||||
use url::Url;
|
||||
use util::str::DOMString;
|
||||
use xml5ever::tokenizer::Attribute;
|
||||
use xml5ever::tendril::StrTendril;
|
||||
use xml5ever::tokenizer::{Attribute, QName};
|
||||
use xml5ever::tree_builder::{NodeOrText, TreeSink};
|
||||
|
||||
impl<'a> TreeSink for servoxmlparser::Sink {
|
||||
|
@ -37,22 +37,32 @@ impl<'a> TreeSink for servoxmlparser::Sink {
|
|||
JS::from_ref(self.document.upcast())
|
||||
}
|
||||
|
||||
fn elem_name(&self, target: &JS<Node>) -> QualName {
|
||||
fn elem_name(&self, target: &JS<Node>) -> QName {
|
||||
let elem = target.downcast::<Element>()
|
||||
.expect("tried to get name of non-Element in XML parsing");
|
||||
QualName {
|
||||
ns: elem.namespace().clone(),
|
||||
QName {
|
||||
prefix: elem.prefix().as_ref().map_or(atom!(""), |p| Atom::from(&**p)),
|
||||
namespace_url: elem.namespace().0.clone(),
|
||||
local: elem.local_name().clone(),
|
||||
}
|
||||
}
|
||||
|
||||
fn create_element(&mut self, name: QualName, attrs: Vec<Attribute>)
|
||||
fn create_element(&mut self, name: QName, attrs: Vec<Attribute>)
|
||||
-> JS<Node> {
|
||||
let elem = Element::create(name, None, &*self.document,
|
||||
let prefix = if name.prefix == atom!("") { None } else { Some(name.prefix) };
|
||||
let name = QualName {
|
||||
ns: Namespace(name.namespace_url),
|
||||
local: name.local,
|
||||
};
|
||||
let elem = Element::create(name, prefix, &*self.document,
|
||||
ElementCreator::ParserCreated);
|
||||
|
||||
for attr in attrs {
|
||||
elem.set_attribute_from_parser(attr.name, DOMString::from(String::from(attr.value)), None);
|
||||
let name = QualName {
|
||||
ns: Namespace(attr.name.namespace_url),
|
||||
local: attr.name.local,
|
||||
};
|
||||
elem.set_attribute_from_parser(name, DOMString::from(String::from(attr.value)), None);
|
||||
}
|
||||
|
||||
JS::from_ref(elem.upcast())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue