зеркало из https://github.com/mozilla/gecko-dev.git
servo: Revert "Implement Element.matches()."
This reverts commit b6edd5318f3fe5c751d1c011e87adbfe0cac4fcc. Source-Repo: https://github.com/servo/servo Source-Revision: 78eeb8e2e739a470aff1ddb4094977207fee3529
This commit is contained in:
Родитель
7cd532e6f6
Коммит
c2ccbb8c36
|
@ -451,7 +451,6 @@ pub trait ElementMethods {
|
|||
fn QuerySelector(&self, selectors: DOMString) -> Fallible<Option<Temporary<Element>>>;
|
||||
fn QuerySelectorAll(&self, selectors: DOMString) -> Fallible<Temporary<NodeList>>;
|
||||
fn Remove(&self);
|
||||
fn Matches(&self, selectors: DOMString) -> Fallible<bool>;
|
||||
}
|
||||
|
||||
impl<'a> ElementMethods for JSRef<'a, Element> {
|
||||
|
@ -758,12 +757,6 @@ impl<'a> ElementMethods for JSRef<'a, Element> {
|
|||
let node: &JSRef<Node> = NodeCast::from_ref(self);
|
||||
node.remove_self();
|
||||
}
|
||||
|
||||
// http://dom.spec.whatwg.org/#dom-element-matches
|
||||
fn Matches(&self, selectors: DOMString) -> Fallible<bool> {
|
||||
let root: &JSRef<Node> = NodeCast::from_ref(self);
|
||||
root.matches(selectors)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_attribute_parts(name: DOMString) -> (Option<String>, String) {
|
||||
|
|
|
@ -396,7 +396,6 @@ pub trait NodeHelpers {
|
|||
fn query_selector_all(&self, selectors: DOMString) -> Fallible<Temporary<NodeList>>;
|
||||
|
||||
fn remove_self(&self);
|
||||
fn matches(&self, selectors: DOMString) -> Fallible<bool>;
|
||||
}
|
||||
|
||||
impl<'a> NodeHelpers for JSRef<'a, Node> {
|
||||
|
@ -649,28 +648,6 @@ impl<'a> NodeHelpers for JSRef<'a, Node> {
|
|||
None => ()
|
||||
}
|
||||
}
|
||||
|
||||
// http://dom.spec.whatwg.org/#dom-element-matches
|
||||
fn matches(&self, selectors: DOMString) -> Fallible<bool> {
|
||||
assert!(self.is_element());
|
||||
// Step 1.
|
||||
let namespace = NamespaceMap::new();
|
||||
match parse_selector_list(tokenize(selectors.as_slice()).map(|(token, _)| token).collect(), &namespace) {
|
||||
// Step 2.
|
||||
None => return Err(Syntax),
|
||||
// Step 3.
|
||||
Some(ref selectors) => {
|
||||
for selector in selectors.iter() {
|
||||
assert!(selector.pseudo_element.is_none());
|
||||
let mut _shareable: bool = false;
|
||||
if matches_compound_selector(selector.compound_selectors.deref(), self, &mut _shareable) {
|
||||
return Ok(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Ok(false)
|
||||
}
|
||||
}
|
||||
|
||||
/// If the given untrusted node address represents a valid DOM node in the given runtime,
|
||||
|
|
|
@ -46,9 +46,6 @@ interface Element : Node {
|
|||
boolean hasAttribute(DOMString name);
|
||||
boolean hasAttributeNS(DOMString? namespace, DOMString localName);
|
||||
|
||||
[Throws]
|
||||
boolean matches(DOMString selectors);
|
||||
|
||||
HTMLCollection getElementsByTagName(DOMString localName);
|
||||
HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
|
||||
HTMLCollection getElementsByClassName(DOMString classNames);
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<script src="harness.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="foo"></div>
|
||||
|
||||
<script>
|
||||
let test = document.getElementById("foo");
|
||||
|
||||
is(test.matches("#foo"), true, "test-1");
|
||||
is(test.matches("#not-foo"), false, "test-2");
|
||||
|
||||
finish();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче