aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/element.rs
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno.d@partner.samsung.com>2014-08-22 10:50:33 -0400
committerBruno de Oliveira Abinader <bruno.d@partner.samsung.com>2014-08-25 13:58:42 -0400
commitd17450106c3c55c42cbfc78fe7b13dc5e46c9060 (patch)
tree8dc9a76f00fde97d8efc5427b51fba4cd82e39b3 /src/components/script/dom/element.rs
parente9f9afc32416b6452676ee668c12069afcbd7cd4 (diff)
downloadservo-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.rs10
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) {