From d17450106c3c55c42cbfc78fe7b13dc5e46c9060 Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Fri, 22 Aug 2014 10:50:33 -0400 Subject: [PATCH] Use AttrValue::tokens() in Element::has_class() --- src/components/script/dom/element.rs | 10 ++++++---- 1 file 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) {