mirror of
https://github.com/servo/servo.git
synced 2025-07-29 18:20:24 +01:00
Auto merge of #9774 - nox:remove-attribute-node, r=nox
Implement removeAttributeNode Supersedes #8727 <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9774) <!-- Reviewable:end -->
This commit is contained in:
commit
6c65e154f4
5 changed files with 8 additions and 18 deletions
|
@ -1358,6 +1358,12 @@ impl ElementMethods for Element {
|
|||
self.remove_attribute(&namespace, &local_name);
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-element-removeattributenode
|
||||
fn RemoveAttributeNode(&self, attr: &Attr) -> Fallible<Root<Attr>> {
|
||||
self.remove_first_matching_attribute(|a| a == attr)
|
||||
.ok_or(Error::NotFound)
|
||||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#dom-element-hasattribute
|
||||
fn HasAttribute(&self, name: DOMString) -> bool {
|
||||
self.GetAttribute(name).is_some()
|
||||
|
|
|
@ -49,6 +49,8 @@ interface Element : Node {
|
|||
void setAttributeNS(DOMString? namespace, DOMString name, DOMString value);
|
||||
void removeAttribute(DOMString name);
|
||||
void removeAttributeNS(DOMString? namespace, DOMString localName);
|
||||
[Throws]
|
||||
Attr removeAttributeNode(Attr oldAttr);
|
||||
boolean hasAttribute(DOMString name);
|
||||
boolean hasAttributeNS(DOMString? namespace, DOMString localName);
|
||||
|
||||
|
|
|
@ -108,9 +108,6 @@
|
|||
[Element interface: operation hasAttributes()]
|
||||
expected: FAIL
|
||||
|
||||
[Element interface: operation removeAttributeNode(Attr)]
|
||||
expected: FAIL
|
||||
|
||||
[Element interface: operation query(DOMString)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -120,12 +117,6 @@
|
|||
[Element interface: element must inherit property "hasAttributes" with the proper type (7)]
|
||||
expected: FAIL
|
||||
|
||||
[Element interface: element must inherit property "removeAttributeNode" with the proper type (22)]
|
||||
expected: FAIL
|
||||
|
||||
[Element interface: calling removeAttributeNode(Attr) on element with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Element interface: element must inherit property "query" with the proper type (34)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
[attributes.html]
|
||||
type: testharness
|
||||
[Basic functionality of removeAttributeNode]
|
||||
expected: FAIL
|
||||
|
||||
[Own property names should only include all-lowercase qualified names for an HTML element in an HTML document]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1959,12 +1959,6 @@
|
|||
[Element interface: document.createElement("noscript") must inherit property "hasAttributes" with the proper type (7)]
|
||||
expected: FAIL
|
||||
|
||||
[Element interface: document.createElement("noscript") must inherit property "removeAttributeNode" with the proper type (22)]
|
||||
expected: FAIL
|
||||
|
||||
[Element interface: calling removeAttributeNode(Attr) on document.createElement("noscript") with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Element interface: document.createElement("noscript") must inherit property "query" with the proper type (34)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue