diff options
author | Bruno de Oliveira Abinader <bruno.d@partner.samsung.com> | 2014-12-12 12:55:55 -0400 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno.d@partner.samsung.com> | 2014-12-26 14:55:27 -0400 |
commit | aa29dc195d04f7d586a6eee5db80bfc575924c86 (patch) | |
tree | 014e8412917b33da131e75e303341314fce739af /components/script | |
parent | 08e7cf24cd0cdb2f1c0d95718e388b7ab0f4e8ed (diff) | |
download | servo-aa29dc195d04f7d586a6eee5db80bfc575924c86.tar.gz servo-aa29dc195d04f7d586a6eee5db80bfc575924c86.zip |
Implement DOMTokenList.add
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/domtokenlist.rs | 14 | ||||
-rw-r--r-- | components/script/dom/webidls/DOMTokenList.webidl | 3 |
2 files changed, 16 insertions, 1 deletions
diff --git a/components/script/dom/domtokenlist.rs b/components/script/dom/domtokenlist.rs index 4169e87487f..6f7fbf369ca 100644 --- a/components/script/dom/domtokenlist.rs +++ b/components/script/dom/domtokenlist.rs @@ -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(()) + } } diff --git a/components/script/dom/webidls/DOMTokenList.webidl b/components/script/dom/webidls/DOMTokenList.webidl index bc32f4bf256..67faa24b587 100644 --- a/components/script/dom/webidls/DOMTokenList.webidl +++ b/components/script/dom/webidls/DOMTokenList.webidl @@ -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; |