Skip to content

Commit

Permalink
Implement DOMTokenList.add
Browse files Browse the repository at this point in the history
  • Loading branch information
brunoabinader committed Dec 26, 2014
1 parent 08e7cf2 commit aa29dc1
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
14 changes: 14 additions & 0 deletions components/script/dom/domtokenlist.rs
Expand Up @@ -100,4 +100,18 @@ impl<'a> DOMTokenListMethods for JSRef<'a, DOMTokenList> {
}).unwrap_or(false)
})
}

// https://dom.spec.whatwg.org/#dom-domtokenlist-add
fn Add(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()));
if !atoms.iter().any(|atom| *atom == token) {
atoms.push(token);
}
}
element.set_atomic_tokenlist_attribute(&self.local_name, atoms);
Ok(())
}
}
3 changes: 2 additions & 1 deletion components/script/dom/webidls/DOMTokenList.webidl
Expand Up @@ -10,8 +10,9 @@ interface DOMTokenList {

[Throws]
boolean contains(DOMString token);
[Throws]
void add(DOMString... tokens);

//void add(DOMString... tokens);
//void remove(DOMString... tokens);
//boolean toggle(DOMString token, optional boolean force);
//stringifier;
Expand Down

0 comments on commit aa29dc1

Please sign in to comment.