| Index: Source/core/dom/Element.cpp
|
| diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp
|
| index 00fa98a94b1c7bcffd26d2de4feeffdce37223cd..879a7316ff662daae797414d5237f3ca795ffa63 100644
|
| --- a/Source/core/dom/Element.cpp
|
| +++ b/Source/core/dom/Element.cpp
|
| @@ -1100,11 +1100,11 @@ void Element::classAttributeChanged(const AtomicString& newClassString)
|
|
|
| if (classStringHasClassName(newClassString)) {
|
| const bool shouldFoldCase = document().inQuirksMode();
|
| - const SpaceSplitString oldClasses = elementData()->classNames();
|
| + const SpaceSplitString oldClasses = ensureUniqueElementData()->classNames();
|
| elementData()->setClass(newClassString, shouldFoldCase);
|
| const SpaceSplitString& newClasses = elementData()->classNames();
|
| shouldInvalidateStyle = testShouldInvalidateStyle && checkSelectorForClassChange(oldClasses, newClasses, styleResolver->ensureRuleFeatureSet());
|
| - } else {
|
| + } else if (elementData()) {
|
| const SpaceSplitString& oldClasses = elementData()->classNames();
|
| shouldInvalidateStyle = testShouldInvalidateStyle && checkSelectorForClassChange(oldClasses, styleResolver->ensureRuleFeatureSet());
|
| elementData()->clearClass();
|
|
|