Make sure the class attribute works when newlines are present in the attribute.
[WebKit-https.git] / WebCore / khtml / html / html_elementimpl.cpp
index e1bdd197982f90d55ee1842a85c03c8b25787328..ab0ca2c40d9c023e8fb1f89e2ac664f45268ec1d 100644 (file)
@@ -179,15 +179,15 @@ void HTMLNamedAttrMapImpl::parseClassAttribute(const DOMString& classStr)
         (classStr.implementation()->isLower() ? classStr : DOMString(classStr.implementation()->lower())) :
         classStr;
     
         (classStr.implementation()->isLower() ? classStr : DOMString(classStr.implementation()->lower())) :
         classStr;
     
-    if (classAttr.find(' ') == -1)
+    if (classAttr.find(' ') == -1 && classAttr.find('\n') == -1)
         m_classList.setString(AtomicString(classAttr));
     else {
         QString val = classAttr.string();
         m_classList.setString(AtomicString(classAttr));
     else {
         QString val = classAttr.string();
+        val.replace('\n', ' ');
         QStringList list = QStringList::split(' ', val);
         
         AtomicStringList* curr = 0;
         QStringList list = QStringList::split(' ', val);
         
         AtomicStringList* curr = 0;
-        for (QStringList::Iterator it = list.begin(); it != list.end(); ++it)
-        {
+        for (QStringList::Iterator it = list.begin(); it != list.end(); ++it) {
             const QString& singleClass = *it;
             if (!singleClass.isEmpty()) {
                 if (curr) {
             const QString& singleClass = *it;
             if (!singleClass.isEmpty()) {
                 if (curr) {