diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2014-01-25 08:16:12 -0800 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2014-01-25 11:50:06 -0800 |
commit | ae0cbda327b16e4f38b10e1913b04c3eaad0224e (patch) | |
tree | 2693f08a242c3a202cc1423501961aa1e678ff36 /src | |
parent | 5b0768c4f616d073a1631b1c706439ffe73f7e4a (diff) | |
download | servo-ae0cbda327b16e4f38b10e1913b04c3eaad0224e.tar.gz servo-ae0cbda327b16e4f38b10e1913b04c3eaad0224e.zip |
Change Namespace::from_str to take &str, fix #1367
Diffstat (limited to 'src')
-rw-r--r-- | src/components/main/layout/wrapper.rs | 3 | ||||
-rw-r--r-- | src/components/script/dom/element.rs | 8 | ||||
-rw-r--r-- | src/components/script/dom/namespace.rs | 7 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/components/main/layout/wrapper.rs b/src/components/main/layout/wrapper.rs index 34bd613e957..ca425072669 100644 --- a/src/components/main/layout/wrapper.rs +++ b/src/components/main/layout/wrapper.rs @@ -15,6 +15,7 @@ //! onto these objects and cause use-after-free. use extra::url::Url; +use script::dom::bindings::utils::null_str_as_empty_ref; use script::dom::element::{Element, HTMLAreaElementTypeId, HTMLAnchorElementTypeId}; use script::dom::element::{HTMLLinkElementTypeId}; use script::dom::htmliframeelement::HTMLIFrameElement; @@ -405,7 +406,7 @@ impl<'le> TElement for LayoutElement<'le> { #[inline] fn get_attr(&self, ns_url: Option<~str>, name: &str) -> Option<&'static str> { - let namespace = Namespace::from_str(ns_url); + let namespace = Namespace::from_str(null_str_as_empty_ref(&ns_url)); unsafe { self.element.get_attr_val_for_layout(namespace, name) } } diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index 3d080a56de7..c2e790fd53d 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -7,7 +7,7 @@ use dom::attr::Attr; use dom::attrlist::AttrList; use dom::bindings::utils::{Reflectable, DOMString, ErrorResult, Fallible, Reflector}; -use dom::bindings::utils::NamespaceError; +use dom::bindings::utils::{null_str_as_empty_ref, NamespaceError}; use dom::bindings::utils::{InvalidCharacter, QName, Name, InvalidXMLName, xml_name_type}; use dom::htmlcollection::HTMLCollection; use dom::clientrect::ClientRect; @@ -402,7 +402,7 @@ impl Element { } pub fn GetAttributeNS(&self, namespace: Option<DOMString>, local_name: DOMString) -> Option<DOMString> { - let namespace = Namespace::from_str(namespace); + let namespace = Namespace::from_str(null_str_as_empty_ref(&namespace)); self.get_attribute(namespace, local_name) .map(|attr| attr.value.clone()) } @@ -430,7 +430,7 @@ impl Element { QName => {} } - let namespace = Namespace::from_str(namespace_url); + let namespace = Namespace::from_str(null_str_as_empty_ref(&namespace_url)); self.set_attribute(abstract_self, namespace, name, value) } @@ -449,7 +449,7 @@ impl Element { abstract_self: AbstractNode, namespace: Option<DOMString>, localname: DOMString) -> ErrorResult { - let namespace = Namespace::from_str(namespace); + let namespace = Namespace::from_str(null_str_as_empty_ref(&namespace)); self.remove_attribute(abstract_self, namespace, localname) } diff --git a/src/components/script/dom/namespace.rs b/src/components/script/dom/namespace.rs index c446b2969d6..354f95f69b2 100644 --- a/src/components/script/dom/namespace.rs +++ b/src/components/script/dom/namespace.rs @@ -2,8 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use dom::bindings::utils::{DOMString, null_str_as_empty_ref}; - #[deriving(Eq, Clone)] pub enum Namespace { Null, @@ -17,8 +15,9 @@ pub enum Namespace { } impl Namespace { - pub fn from_str(url: Option<DOMString>) -> Namespace { - match null_str_as_empty_ref(&url) { + /// Empty string for "no namespace" + pub fn from_str(url: &str) -> Namespace { + match url { "http://www.w3.org/1999/xhtml" => HTML, "http://www.w3.org/XML/1998/namespace" => XML, "http://www.w3.org/2000/xmlns/" => XMLNS, |