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(); |