aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-07-01 07:54:15 -0600
committerbors-servo <metajack+bors@gmail.com>2015-07-01 07:54:15 -0600
commitfc1e427ff9bb0e9891053ec1eba292530ebbe91a (patch)
tree1e2d8ddacbab586dcfe2f147ca5b7caa5fafdf42 /components/script/dom
parente958d92be6c35234bcffce2d4e74ece585de02e4 (diff)
parent13072c7b0c35f661e5c66fbef1951625201e3fc8 (diff)
downloadservo-fc1e427ff9bb0e9891053ec1eba292530ebbe91a.tar.gz
servo-fc1e427ff9bb0e9891053ec1eba292530ebbe91a.zip
Auto merge of #6528 - mbrubeck:util_deps, r=Ms2ger
Reduce dependencies of the `util` crate Because almost all our main crates depend on util, we should keep its dependencies minimal to increase parallelism and reduce the amount of stuff rebuilt when upstream crates are changed. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6528) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/bindings/utils.rs13
-rw-r--r--components/script/dom/element.rs7
-rw-r--r--components/script/dom/htmlcollection.rs5
-rw-r--r--components/script/dom/namednodemap.rs7
-rw-r--r--components/script/dom/node.rs5
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!("") {