diff options
author | Bruno de Oliveira Abinader <bruno.d@partner.samsung.com> | 2014-08-22 10:50:33 -0400 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno.d@partner.samsung.com> | 2014-08-25 13:58:42 -0400 |
commit | d17450106c3c55c42cbfc78fe7b13dc5e46c9060 (patch) | |
tree | 8dc9a76f00fde97d8efc5427b51fba4cd82e39b3 /src/components/script/dom/element.rs | |
parent | e9f9afc32416b6452676ee668c12069afcbd7cd4 (diff) | |
download | servo-d17450106c3c55c42cbfc78fe7b13dc5e46c9060.tar.gz servo-d17450106c3c55c42cbfc78fe7b13dc5e46c9060.zip |
Use AttrValue::tokens() in Element::has_class()
Diffstat (limited to 'src/components/script/dom/element.rs')
-rw-r--r-- | src/components/script/dom/element.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index 425529fe6d4..7cd0fccbc7f 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -35,7 +35,7 @@ use style; use servo_util::atom::Atom; use servo_util::namespace; use servo_util::namespace::{Namespace, Null}; -use servo_util::str::{DOMString, null_str_as_empty_ref, split_html_space_chars}; +use servo_util::str::{DOMString, null_str_as_empty_ref}; use std::ascii::StrAsciiExt; use std::cell::{Cell, RefCell}; @@ -377,9 +377,11 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { } fn has_class(&self, name: &str) -> bool { - let class_names = self.get_string_attribute("class"); - let mut classes = split_html_space_chars(class_names.as_slice()); - classes.any(|class| name == class) + self.get_attribute(Null, "class").root().map(|attr| { + attr.deref().value().tokens().map(|mut tokens| { + tokens.any(|atom| atom.as_slice() == name) + }).unwrap_or(false) + }).unwrap_or(false) } fn set_atomic_attribute(&self, name: &str, value: DOMString) { |