mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Remove string_cache dependency from util.
Move `namespace::from_domstring` from util to script::dom, because it is used only in that crate.
This commit is contained in:
parent
efa60d3a24
commit
13072c7b0c
11 changed files with 21 additions and 42 deletions
|
@ -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)),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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 == "*" {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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!("") {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue