mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +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);
|
||||
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);
|
||||
[Throws]
|
||||
void add(DOMString... tokens);
|
||||
[Throws]
|
||||
void remove(DOMString... tokens);
|
||||
|
||||
//void remove(DOMString... tokens);
|
||||
//boolean toggle(DOMString token, optional boolean force);
|
||||
//stringifier;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue