diff options
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r-- | components/script/dom/element.rs | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index a936e783ad4..9468cc28033 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -64,6 +64,7 @@ use style::properties::{PropertyDeclarationBlock, PropertyDeclaration, parse_sty use style::properties::DeclaredValue::SpecifiedValue; use style::values::specified::CSSColor; use util::namespace; +use util::smallvec::VecLike; use util::str::{DOMString, LengthOrPercentageOrAuto}; use cssparser::Color; @@ -74,16 +75,14 @@ use html5ever::serialize::TraversalScope::{IncludeNode, ChildrenOnly}; use html5ever::tree_builder::{NoQuirks, LimitedQuirks, Quirks}; use selectors::matching::{matches, DeclarationBlock}; use selectors::parser::parse_author_origin_selector_list_from_str; -use selectors::smallvec::VecLike; use string_cache::{Atom, Namespace, QualName}; use url::UrlParser; use std::ascii::AsciiExt; -use std::borrow::{IntoCow, ToOwned}; +use std::borrow::{Cow, ToOwned}; use std::cell::{Ref, RefMut}; use std::default::Default; use std::mem; -use std::old_io::{MemWriter, Writer}; use std::sync::Arc; #[dom_struct] @@ -257,7 +256,7 @@ impl RawLayoutElementHelpers for Element { }; if let Some(color) = bgcolor { - hints.vec_push(from_declaration( + hints.push(from_declaration( PropertyDeclaration::BackgroundColor(SpecifiedValue( CSSColor { parsed: Color::RGBA(color), authored: None })))); } @@ -571,13 +570,13 @@ impl<'a> ElementHelpers<'a> for JSRef<'a, Element> { fn serialize(self, traversal_scope: TraversalScope) -> Fallible<DOMString> { let node: JSRef<Node> = NodeCast::from_ref(self); - let mut writer = MemWriter::new(); + let mut writer = vec![]; match serialize(&mut writer, &node, SerializeOpts { traversal_scope: traversal_scope, .. Default::default() }) { - Ok(()) => Ok(String::from_utf8(writer.into_inner()).unwrap()), + Ok(()) => Ok(String::from_utf8(writer).unwrap()), Err(_) => panic!("Cannot serialize element"), } } @@ -711,7 +710,7 @@ pub trait AttributeHandlers { fn get_tokenlist_attribute(self, local_name: &Atom) -> Vec<Atom>; fn set_tokenlist_attribute(self, local_name: &Atom, value: DOMString); fn set_atomic_tokenlist_attribute(self, local_name: &Atom, tokens: Vec<Atom>); - fn get_uint_attribute(self, local_name: &Atom) -> u32; + fn get_uint_attribute(self, local_name: &Atom, default: u32) -> u32; fn set_uint_attribute(self, local_name: &Atom, value: u32); } @@ -966,7 +965,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { self.set_attribute(local_name, AttrValue::from_atomic_tokens(tokens)); } - fn get_uint_attribute(self, local_name: &Atom) -> u32 { + fn get_uint_attribute(self, local_name: &Atom, default: u32) -> u32 { assert!(local_name.chars().all(|ch| { !ch.is_ascii() || ch.to_ascii_lowercase() == ch })); @@ -979,7 +978,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { implement parse_plain_attribute"), } } - None => 0, + None => default, } } fn set_uint_attribute(self, local_name: &Atom, value: u32) { @@ -1011,9 +1010,9 @@ impl<'a> ElementMethods for JSRef<'a, Element> { fn TagName(self) -> DOMString { let qualified_name = match self.prefix { Some(ref prefix) => { - (format!("{}:{}", &**prefix, &*self.local_name)).into_cow() + Cow::Owned(format!("{}:{}", &**prefix, &*self.local_name)) }, - None => self.local_name.into_cow() + None => Cow::Borrowed(&*self.local_name) }; if self.html_element_in_html_document() { qualified_name.to_ascii_uppercase() @@ -1215,11 +1214,13 @@ impl<'a> ElementMethods for JSRef<'a, Element> { let context_document = document_from_node(self).root(); let context_node: JSRef<Node> = NodeCast::from_ref(self); // Step 1. - let context_parent = match context_node.parent_node() { - // Step 2. - None => return Ok(()), - Some(parent) => parent.root() - }; + let context_parent = match context_node.GetParentNode() { + None => { + // Step 2. + return Ok(()); + }, + Some(parent) => parent, + }.root(); let parent = match context_parent.r().type_id() { // Step 3. @@ -1230,11 +1231,10 @@ impl<'a> ElementMethods for JSRef<'a, Element> { let body_elem = Element::create(QualName::new(ns!(HTML), atom!(body)), None, context_document.r(), ElementCreator::ScriptCreated); - let body_node: Temporary<Node> = NodeCast::from_temporary(body_elem); - body_node.root() + NodeCast::from_temporary(body_elem) }, - _ => context_node.parent_node().unwrap().root() - }; + _ => context_node.GetParentNode().unwrap() + }.root(); // Step 5. let frag = try!(parent.r().parse_fragment(value)); |