void HTMLNamedAttrMapImpl::parseClassAttribute(const DOMString& classStr) { m_classList.clear(); if (!element->hasClass()) return; DOMString classAttr = element->getDocument()->inCompatMode() ? (classStr.implementation()->isLower() ? classStr : DOMString(classStr.implementation()->lower())) : classStr; if (classAttr.find(' ') == -1) m_classList.setString(AtomicString(classAttr)); else { QString val = classAttr.string(); QStringList list = QStringList::split(' ', val); AtomicStringList* curr = 0; for (QStringList::Iterator it = list.begin(); it != list.end(); ++it) { const QString& singleClass = *it; if (!singleClass.isEmpty()) { if (curr) { curr->setNext(new AtomicStringList(AtomicString(singleClass))); curr = curr->next(); } else { m_classList.setString(AtomicString(singleClass)); curr = &m_classList; } } } } }