aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/element.rs
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno.d@partner.samsung.com>2014-12-20 16:56:45 -0400
committerBruno de Oliveira Abinader <bruno.d@partner.samsung.com>2014-12-26 14:55:26 -0400
commit51fac3d2cc69c6d4c47ed4ad3f0ee2b1248f8b30 (patch)
tree8c8dfc93e3869e404a461f95c2b7de49fa7b0019 /components/script/dom/element.rs
parent8859286a99f31ca25e516eb23db79a5fedbef980 (diff)
downloadservo-51fac3d2cc69c6d4c47ed4ad3f0ee2b1248f8b30.tar.gz
servo-51fac3d2cc69c6d4c47ed4ad3f0ee2b1248f8b30.zip
Added Element::get_tokenlist_attribute
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r--components/script/dom/element.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 8c858c2d3b6..60c12399160 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -655,6 +655,7 @@ pub trait AttributeHandlers {
fn set_url_attribute(self, name: &Atom, value: DOMString);
fn get_string_attribute(self, name: &Atom) -> DOMString;
fn set_string_attribute(self, name: &Atom, value: DOMString);
+ fn get_tokenlist_attribute(self, name: &Atom) -> Vec<Atom>;
fn set_tokenlist_attribute(self, name: &Atom, value: DOMString);
fn set_atomic_tokenlist_attribute(self, name: &Atom, tokens: Vec<Atom>);
fn get_uint_attribute(self, name: &Atom) -> u32;
@@ -847,6 +848,15 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
self.set_attribute(name, AttrValue::String(value));
}
+ fn get_tokenlist_attribute(self, name: &Atom) -> Vec<Atom> {
+ self.get_attribute(ns!(""), name).root().map(|attr| {
+ attr.value()
+ .tokens()
+ .expect("Expected a TokenListAttrValue")
+ .to_vec()
+ }).unwrap_or(vec!())
+ }
+
fn set_tokenlist_attribute(self, name: &Atom, value: DOMString) {
assert!(name.as_slice() == name.as_slice().to_ascii_lower().as_slice());
self.set_attribute(name, AttrValue::from_serialized_tokenlist(value));