mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Implement DOMTokenList.remove
This commit is contained in:
parent
aa29dc195d
commit
2cfb4648ce
2 changed files with 16 additions and 1 deletions
|
@ -114,4 +114,18 @@ impl<'a> DOMTokenListMethods for JSRef<'a, DOMTokenList> {
|
||||||
element.set_atomic_tokenlist_attribute(&self.local_name, atoms);
|
element.set_atomic_tokenlist_attribute(&self.local_name, atoms);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://dom.spec.whatwg.org/#dom-domtokenlist-remove
|
||||||
|
fn Remove(self, tokens: Vec<DOMString>) -> ErrorResult {
|
||||||
|
let element = self.element.root();
|
||||||
|
let mut atoms = element.get_tokenlist_attribute(&self.local_name);
|
||||||
|
for token in tokens.iter() {
|
||||||
|
let token = try!(self.check_token_exceptions(token.as_slice()));
|
||||||
|
atoms.iter().position(|atom| *atom == token).and_then(|index| {
|
||||||
|
atoms.remove(index)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
element.set_atomic_tokenlist_attribute(&self.local_name, atoms);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,8 +12,9 @@ interface DOMTokenList {
|
||||||
boolean contains(DOMString token);
|
boolean contains(DOMString token);
|
||||||
[Throws]
|
[Throws]
|
||||||
void add(DOMString... tokens);
|
void add(DOMString... tokens);
|
||||||
|
[Throws]
|
||||||
|
void remove(DOMString... tokens);
|
||||||
|
|
||||||
//void remove(DOMString... tokens);
|
|
||||||
//boolean toggle(DOMString token, optional boolean force);
|
//boolean toggle(DOMString token, optional boolean force);
|
||||||
//stringifier;
|
//stringifier;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue