diff options
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/bindings/utils.rs | 13 | ||||
-rw-r--r-- | components/script/dom/element.rs | 7 | ||||
-rw-r--r-- | components/script/dom/htmlcollection.rs | 5 | ||||
-rw-r--r-- | components/script/dom/namednodemap.rs | 7 | ||||
-rw-r--r-- | components/script/dom/node.rs | 5 |
5 files changed, 21 insertions, 16 deletions
diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs index e2db66ac3de..9e5931c2740 100644 --- a/components/script/dom/bindings/utils.rs +++ b/components/script/dom/bindings/utils.rs @@ -16,7 +16,6 @@ use dom::bindings::js::Root; use dom::bindings::trace::trace_object; use dom::browsercontext; use dom::window; -use util::namespace; use util::str::DOMString; use libc; @@ -830,7 +829,7 @@ pub const DOM_CALLBACKS: DOMCallbacks = DOMCallbacks { pub fn validate_and_extract(namespace: Option<DOMString>, qualified_name: &str) -> Fallible<(Namespace, Option<Atom>, Atom)> { // Step 1. - let namespace = namespace::from_domstring(namespace); + let namespace = namespace_from_domstring(namespace); // Step 2. try!(validate_qualified_name(qualified_name)); @@ -966,3 +965,13 @@ pub fn xml_name_type(name: &str) -> XMLName { true => XMLName::Name } } + +/// Convert a possibly-null URL to a namespace. +/// +/// If the URL is None, returns the empty namespace. +pub fn namespace_from_domstring(url: Option<DOMString>) -> Namespace { + match url { + None => ns!(""), + Some(ref s) => Namespace(Atom::from_slice(s)), + } +} diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 269a0853654..4ae12d107ad 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -32,7 +32,7 @@ use dom::bindings::error::Error::NoModificationAllowed; use dom::bindings::js::{JS, LayoutJS, MutNullableHeap}; use dom::bindings::js::{Root, RootedReference}; use dom::bindings::trace::RootedVec; -use dom::bindings::utils::{xml_name_type, validate_and_extract}; +use dom::bindings::utils::{namespace_from_domstring, xml_name_type, validate_and_extract}; use dom::bindings::utils::XMLName::InvalidXMLName; use dom::create::create_element; use dom::domrect::DOMRect; @@ -67,7 +67,6 @@ use style::properties::longhands::{self, border_spacing, height}; use style::values::CSSFloat; use style::values::specified::{self, CSSColor, CSSRGBA}; use util::geometry::Au; -use util::namespace; use util::str::{DOMString, LengthOrPercentageOrAuto}; use cssparser::Color; @@ -1203,7 +1202,7 @@ impl<'a> ElementMethods for &'a Element { fn GetAttributeNS(self, namespace: Option<DOMString>, local_name: DOMString) -> Option<DOMString> { - let namespace = &namespace::from_domstring(namespace); + let namespace = &namespace_from_domstring(namespace); self.get_attribute(namespace, &Atom::from_slice(&local_name)) .map(|attr| attr.r().Value()) } @@ -1255,7 +1254,7 @@ impl<'a> ElementMethods for &'a Element { fn RemoveAttributeNS(self, namespace: Option<DOMString>, local_name: DOMString) { - let namespace = namespace::from_domstring(namespace); + let namespace = namespace_from_domstring(namespace); let local_name = Atom::from_slice(&local_name); self.remove_attribute(&namespace, &local_name); } diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs index af33302f036..b1efb20c264 100644 --- a/components/script/dom/htmlcollection.rs +++ b/components/script/dom/htmlcollection.rs @@ -8,11 +8,10 @@ use dom::bindings::codegen::InheritTypes::{ElementCast, NodeCast}; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, Root}; use dom::bindings::trace::JSTraceable; -use dom::bindings::utils::{Reflector, reflect_dom_object}; +use dom::bindings::utils::{namespace_from_domstring, Reflector, reflect_dom_object}; use dom::element::{Element, AttributeHandlers, ElementHelpers}; use dom::node::{Node, NodeHelpers, TreeIterator}; use dom::window::Window; -use util::namespace; use util::str::{DOMString, split_html_space_chars}; use std::ascii::AsciiExt; @@ -105,7 +104,7 @@ impl HTMLCollection { maybe_ns: Option<DOMString>) -> Root<HTMLCollection> { let namespace_filter = match maybe_ns { Some(ref namespace) if namespace == &"*" => None, - ns => Some(namespace::from_domstring(ns)), + ns => Some(namespace_from_domstring(ns)), }; if tag == "*" { diff --git a/components/script/dom/namednodemap.rs b/components/script/dom/namednodemap.rs index 90e95ce221a..c301ae087b3 100644 --- a/components/script/dom/namednodemap.rs +++ b/components/script/dom/namednodemap.rs @@ -8,10 +8,9 @@ use dom::bindings::codegen::Bindings::NamedNodeMapBinding::NamedNodeMapMethods; use dom::bindings::error::{Error, Fallible}; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JS, Root}; -use dom::bindings::utils::{Reflector, reflect_dom_object}; +use dom::bindings::utils::{namespace_from_domstring, Reflector, reflect_dom_object}; use dom::element::{AttributeHandlers, Element, ElementHelpers}; use dom::window::Window; -use util::namespace; use util::str::DOMString; use string_cache::Atom; @@ -69,7 +68,7 @@ impl<'a> NamedNodeMapMethods for &'a NamedNodeMap { let owner = self.owner.root(); // FIXME(https://github.com/rust-lang/rust/issues/23338) let owner = owner.r(); - let ns = namespace::from_domstring(namespace); + let ns = namespace_from_domstring(namespace); owner.get_attribute(&ns, &Atom::from_slice(&local_name)) } @@ -88,7 +87,7 @@ impl<'a> NamedNodeMapMethods for &'a NamedNodeMap { let owner = self.owner.root(); // FIXME(https://github.com/rust-lang/rust/issues/23338) let owner = owner.r(); - let ns = namespace::from_domstring(namespace); + let ns = namespace_from_domstring(namespace); owner.remove_attribute(&ns, &Atom::from_slice(&local_name)).ok_or(Error::NotFound) } diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 35c07308a08..6cd89c16cd6 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -30,7 +30,7 @@ use dom::bindings::js::Root; use dom::bindings::js::RootedReference; use dom::bindings::trace::JSTraceable; use dom::bindings::trace::RootedVec; -use dom::bindings::utils::{Reflectable, reflect_dom_object}; +use dom::bindings::utils::{namespace_from_domstring, Reflectable, reflect_dom_object}; use dom::characterdata::{CharacterData, CharacterDataHelpers, CharacterDataTypeId}; use dom::comment::Comment; use dom::document::{Document, DocumentHelpers, IsHTMLDocument, DocumentSource}; @@ -51,7 +51,6 @@ use devtools_traits::NodeInfo; use parse::html::parse_html_fragment; use script_traits::UntrustedNodeAddress; use util::geometry::Au; -use util::namespace; use util::str::DOMString; use util::task_state; use selectors::parser::Selector; @@ -2446,7 +2445,7 @@ impl<'a> NodeMethods for &'a Node { // https://dom.spec.whatwg.org/#dom-node-lookupprefix fn LookupPrefix(self, namespace: Option<DOMString>) -> Option<DOMString> { - let namespace = namespace::from_domstring(namespace); + let namespace = namespace_from_domstring(namespace); // Step 1. if namespace == ns!("") { |