aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom')
-rw-r--r--src/components/script/dom/bindings/utils.rs10
-rw-r--r--src/components/script/dom/document.rs12
-rw-r--r--src/components/script/dom/documenttype.rs12
-rw-r--r--src/components/script/dom/element.rs7
-rw-r--r--src/components/script/dom/htmldocument.rs23
-rw-r--r--src/components/script/dom/node.rs2
6 files changed, 34 insertions, 32 deletions
diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs
index 2c0d4943e6c..8cb42c86b4a 100644
--- a/src/components/script/dom/bindings/utils.rs
+++ b/src/components/script/dom/bindings/utils.rs
@@ -109,8 +109,8 @@ extern fn InterfaceObjectToString(cx: *JSContext, _argc: c_uint, vp: *mut JSVal)
let v = *GetFunctionNativeReserved(callee, TOSTRING_NAME_RESERVED_SLOT);
assert!(jsval::is_string(v));
let name = jsstring_to_str(cx, jsval::to_string(v));
- let retval = Some(~"function " + name + "() {\n [native code]\n}");
- *vp = domstring_to_jsval(cx, retval);
+ let retval = ~"function " + name + "() {\n [native code]\n}";
+ *vp = str_to_jsval(cx, retval);
return 1;
}
}
@@ -186,7 +186,7 @@ pub unsafe fn squirrel_away<T>(x: @mut T) -> *Box<T> {
y
}
-pub fn jsstring_to_str(cx: *JSContext, s: *JSString) -> ~str {
+pub fn jsstring_to_str(cx: *JSContext, s: *JSString) -> DOMString {
unsafe {
let length = 0;
let chars = JS_GetStringCharsAndLength(cx, s, &length);
@@ -196,7 +196,7 @@ pub fn jsstring_to_str(cx: *JSContext, s: *JSString) -> ~str {
}
}
-pub fn jsid_to_str(cx: *JSContext, id: jsid) -> ~str {
+pub fn jsid_to_str(cx: *JSContext, id: jsid) -> DOMString {
unsafe {
assert!(RUST_JSID_IS_STRING(id) != 0);
jsstring_to_str(cx, RUST_JSID_TO_STRING(id))
@@ -210,7 +210,7 @@ pub enum StringificationBehavior {
}
pub fn jsval_to_str(cx: *JSContext, v: JSVal,
- nullBehavior: StringificationBehavior) -> Result<~str, ()> {
+ nullBehavior: StringificationBehavior) -> Result<DOMString, ()> {
if jsval::is_null(v) && nullBehavior == Empty {
Ok(~"")
} else {
diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs
index 4807eaa02ad..37df96353a9 100644
--- a/src/components/script/dom/document.rs
+++ b/src/components/script/dom/document.rs
@@ -32,7 +32,6 @@ use js::jsapi::{JSObject, JSContext, JSTracer};
use std::ascii::StrAsciiExt;
use std::cast;
use std::hashmap::HashMap;
-use std::str::eq_slice;
use std::unstable::raw::Box;
#[deriving(Eq)]
@@ -247,7 +246,7 @@ impl Document {
// http://dom.spec.whatwg.org/#dom-document-getelementsbytagname
pub fn GetElementsByTagName(&self, tag: DOMString) -> @mut HTMLCollection {
- self.createHTMLCollection(|elem| eq_slice(elem.tag_name, tag))
+ self.createHTMLCollection(|elem| elem.tag_name == tag)
}
// http://dom.spec.whatwg.org/#dom-document-getelementsbytagnamens
@@ -342,7 +341,7 @@ impl Document {
for child in node.children() {
if child.is_text() {
child.with_imm_text(|text| {
- title = title + text.characterdata.Data();
+ title.push_str(text.characterdata.data.as_slice());
});
}
}
@@ -467,8 +466,11 @@ impl Document {
// http://www.whatwg.org/specs/web-apps/current-work/#dom-document-getelementsbyname
pub fn GetElementsByName(&self, name: DOMString) -> @mut HTMLCollection {
- self.createHTMLCollection(|elem|
- elem.get_attribute(Null, "name").is_some() && eq_slice(elem.get_attribute(Null, "name").unwrap().value_ref(), name))
+ self.createHTMLCollection(|elem| {
+ elem.get_attribute(Null, "name").map_default(false, |attr| {
+ attr.value_ref() == name
+ })
+ })
}
pub fn createHTMLCollection(&self, callback: |elem: &Element| -> bool) -> @mut HTMLCollection {
diff --git a/src/components/script/dom/documenttype.rs b/src/components/script/dom/documenttype.rs
index ee2e18ea969..f161b287702 100644
--- a/src/components/script/dom/documenttype.rs
+++ b/src/components/script/dom/documenttype.rs
@@ -16,9 +16,9 @@ pub struct DocumentType {
}
impl DocumentType {
- pub fn new_inherited(name: ~str,
- public_id: Option<~str>,
- system_id: Option<~str>,
+ pub fn new_inherited(name: DOMString,
+ public_id: Option<DOMString>,
+ system_id: Option<DOMString>,
document: AbstractDocument)
-> DocumentType {
DocumentType {
@@ -29,9 +29,9 @@ impl DocumentType {
}
}
- pub fn new(name: ~str,
- public_id: Option<~str>,
- system_id: Option<~str>,
+ pub fn new(name: DOMString,
+ public_id: Option<DOMString>,
+ system_id: Option<DOMString>,
document: AbstractDocument)
-> AbstractNode {
let documenttype = DocumentType::new_inherited(name,
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs
index 1404a4f0347..8efd60b8d4c 100644
--- a/src/components/script/dom/element.rs
+++ b/src/components/script/dom/element.rs
@@ -26,12 +26,11 @@ use servo_util::str::{DOMString, null_str_as_empty_ref};
use std::ascii::StrAsciiExt;
use std::cast;
-use std::str::eq;
use std::unstable::raw::Box;
pub struct Element {
node: Node,
- tag_name: ~str, // TODO: This should be an atom, not a ~str.
+ tag_name: DOMString, // TODO: This should be an atom, not a DOMString.
namespace: Namespace,
attrs: ~[@mut Attr],
style_attribute: Option<style::PropertyDeclarationBlock>,
@@ -181,8 +180,8 @@ impl Element {
match prefix {
Some(ref prefix_str) => {
if (namespace == namespace::Null ||
- (eq(prefix_str, &~"xml") && namespace != namespace::XML) ||
- (eq(prefix_str, &~"xmlns") && namespace != namespace::XMLNS)) {
+ ("xml" == prefix_str.as_slice() && namespace != namespace::XML) ||
+ ("xmlns" == prefix_str.as_slice() && namespace != namespace::XMLNS)) {
return Err(NamespaceError);
}
},
diff --git a/src/components/script/dom/htmldocument.rs b/src/components/script/dom/htmldocument.rs
index 6dcab51fa89..8297fd3e90c 100644
--- a/src/components/script/dom/htmldocument.rs
+++ b/src/components/script/dom/htmldocument.rs
@@ -11,7 +11,6 @@ use servo_util::namespace::Null;
use extra::url::Url;
use js::jsapi::JSTracer;
-use std::str::eq_slice;
pub struct HTMLDocument {
parent: Document
@@ -32,11 +31,11 @@ impl HTMLDocument {
impl HTMLDocument {
pub fn Images(&self) -> @mut HTMLCollection {
- self.parent.createHTMLCollection(|elem| eq_slice(elem.tag_name, "img"))
+ self.parent.createHTMLCollection(|elem| "img" == elem.tag_name)
}
pub fn Embeds(&self) -> @mut HTMLCollection {
- self.parent.createHTMLCollection(|elem| eq_slice(elem.tag_name, "embed"))
+ self.parent.createHTMLCollection(|elem| "embed" == elem.tag_name)
}
pub fn Plugins(&self) -> @mut HTMLCollection {
@@ -44,27 +43,29 @@ impl HTMLDocument {
}
pub fn Links(&self) -> @mut HTMLCollection {
- self.parent.createHTMLCollection(|elem|
- (eq_slice(elem.tag_name, "a") || eq_slice(elem.tag_name, "area"))
- && elem.get_attribute(Null, "href").is_some())
+ self.parent.createHTMLCollection(|elem| {
+ ("a" == elem.tag_name || "area" == elem.tag_name) &&
+ elem.get_attribute(Null, "href").is_some()
+ })
}
pub fn Forms(&self) -> @mut HTMLCollection {
- self.parent.createHTMLCollection(|elem| eq_slice(elem.tag_name, "form"))
+ self.parent.createHTMLCollection(|elem| "form" == elem.tag_name)
}
pub fn Scripts(&self) -> @mut HTMLCollection {
- self.parent.createHTMLCollection(|elem| eq_slice(elem.tag_name, "script"))
+ self.parent.createHTMLCollection(|elem| "script" == elem.tag_name)
}
pub fn Anchors(&self) -> @mut HTMLCollection {
- self.parent.createHTMLCollection(|elem|
- eq_slice(elem.tag_name, "a") && elem.get_attribute(Null, "name").is_some())
+ self.parent.createHTMLCollection(|elem| {
+ "a" == elem.tag_name && elem.get_attribute(Null, "name").is_some()
+ })
}
pub fn Applets(&self) -> @mut HTMLCollection {
// FIXME: This should be return OBJECT elements containing applets.
- self.parent.createHTMLCollection(|elem| eq_slice(elem.tag_name, "applet"))
+ self.parent.createHTMLCollection(|elem| "applet" == elem.tag_name)
}
}
diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs
index adf248ef07f..8150de40919 100644
--- a/src/components/script/dom/node.rs
+++ b/src/components/script/dom/node.rs
@@ -1064,7 +1064,7 @@ impl Node {
for node in abstract_self.traverse_preorder() {
if node.is_text() {
node.with_imm_text(|text| {
- content = content + text.characterdata.Data();
+ content.push_str(text.characterdata.data.as_slice());
})
}
}