diff options
Diffstat (limited to 'src/components/script/dom')
-rw-r--r-- | src/components/script/dom/bindings/utils.rs | 10 | ||||
-rw-r--r-- | src/components/script/dom/document.rs | 12 | ||||
-rw-r--r-- | src/components/script/dom/documenttype.rs | 12 | ||||
-rw-r--r-- | src/components/script/dom/element.rs | 7 | ||||
-rw-r--r-- | src/components/script/dom/htmldocument.rs | 23 | ||||
-rw-r--r-- | src/components/script/dom/node.rs | 2 |
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()); }) } } |