Use AttrValue::tokens() in Element::has_class()

This commit is contained in:
Bruno de Oliveira Abinader 2014-08-22 10:50:33 -04:00
parent e9f9afc324
commit d17450106c

View file

@ -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) {