aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/element.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r--components/script/dom/element.rs40
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));