From 13072c7b0c35f661e5c66fbef1951625201e3fc8 Mon Sep 17 00:00:00 2001 From: Matt Brubeck Date: Wed, 1 Jul 2015 09:55:23 -0700 Subject: [PATCH] Remove string_cache dependency from util. Move `namespace::from_domstring` from util to script::dom, because it is used only in that crate. --- components/script/dom/bindings/utils.rs | 13 +++++++++++-- components/script/dom/element.rs | 7 +++---- components/script/dom/htmlcollection.rs | 5 ++--- components/script/dom/namednodemap.rs | 7 +++---- components/script/dom/node.rs | 5 ++--- components/servo/Cargo.lock | 2 -- components/util/Cargo.toml | 2 -- components/util/lib.rs | 4 ---- components/util/namespace.rs | 14 -------------- ports/cef/Cargo.lock | 2 -- ports/gonk/Cargo.lock | 2 -- 11 files changed, 21 insertions(+), 42 deletions(-) delete mode 100644 components/util/namespace.rs 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, qualified_name: &str) -> Fallible<(Namespace, Option, 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) -> 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, local_name: DOMString) -> Option { - 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, 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) -> Root { 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) -> Option { - let namespace = namespace::from_domstring(namespace); + let namespace = namespace_from_domstring(namespace); // Step 1. if namespace == ns!("") { diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index b77e7aee784..db5ee6b194e 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -1312,8 +1312,6 @@ dependencies = [ "rand 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_plugin 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.2.35 (registry+https://github.com/rust-lang/crates.io-index)", ] diff --git a/components/util/Cargo.toml b/components/util/Cargo.toml index 7e8ccff971f..b6a98db4c95 100644 --- a/components/util/Cargo.toml +++ b/components/util/Cargo.toml @@ -32,6 +32,4 @@ num_cpus = "0.2.2" cssparser = "0.3.1" num = "0.1.24" url = "*" -string_cache = "0.1" -string_cache_plugin = "0.1" euclid = "0.1" diff --git a/components/util/lib.rs b/components/util/lib.rs index c8d540e2a23..cac18875ac3 100644 --- a/components/util/lib.rs +++ b/components/util/lib.rs @@ -18,8 +18,6 @@ #![feature(step_trait)] #![feature(zero_one)] -#![plugin(string_cache_plugin)] - #[macro_use] extern crate log; extern crate azure; @@ -34,7 +32,6 @@ extern crate num_cpus; extern crate rand; extern crate rustc_serialize; extern crate smallvec; -extern crate string_cache; extern crate url; use std::sync::Arc; @@ -48,7 +45,6 @@ pub mod linked_list; pub mod geometry; pub mod logical_geometry; pub mod mem; -pub mod namespace; pub mod opts; pub mod persistent_list; pub mod range; diff --git a/components/util/namespace.rs b/components/util/namespace.rs deleted file mode 100644 index 03a1513ca89..00000000000 --- a/components/util/namespace.rs +++ /dev/null @@ -1,14 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * 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 str::DOMString; -use string_cache::{Atom, Namespace}; - -pub fn from_domstring(url: Option) -> Namespace { - match url { - None => ns!(""), - Some(ref s) => Namespace(Atom::from_slice(s)), - } -} - diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index a7bde38eec7..910339bc174 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -1296,8 +1296,6 @@ dependencies = [ "rand 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_plugin 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.2.35 (registry+https://github.com/rust-lang/crates.io-index)", ] diff --git a/ports/gonk/Cargo.lock b/ports/gonk/Cargo.lock index 6d45c926e0f..58ddb54782c 100644 --- a/ports/gonk/Cargo.lock +++ b/ports/gonk/Cargo.lock @@ -1185,8 +1185,6 @@ dependencies = [ "rand 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_plugin 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.2.35 (registry+https://github.com/rust-lang/crates.io-index)", ]