| Index: Source/core/dom/Element.cpp
 | 
| diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp
 | 
| index fb5d802631a24f1c3b686e84e814f12330c37ab6..adfe9c223bb189957ce3793da1b36c2430b76077 100644
 | 
| --- a/Source/core/dom/Element.cpp
 | 
| +++ b/Source/core/dom/Element.cpp
 | 
| @@ -992,7 +992,7 @@ void Element::attributeChanged(const QualifiedName& name, const AtomicString& ne
 | 
|          AtomicString newId = makeIdForStyleResolution(newValue, document().inQuirksMode());
 | 
|          if (newId != oldId) {
 | 
|              elementData()->setIdForStyleResolution(newId);
 | 
| -            shouldInvalidateStyle = testShouldInvalidateStyle && checkNeedsStyleInvalidationForIdChange(oldId, newId, styleResolver->ruleFeatureSet());
 | 
| +            shouldInvalidateStyle = testShouldInvalidateStyle && checkNeedsStyleInvalidationForIdChange(oldId, newId, styleResolver->ensureRuleFeatureSet());
 | 
|          }
 | 
|      } else if (name == classAttr) {
 | 
|          classAttributeChanged(newValue);
 | 
| @@ -1107,10 +1107,10 @@ void Element::classAttributeChanged(const AtomicString& newClassString)
 | 
|          const SpaceSplitString oldClasses = elementData()->classNames();
 | 
|          elementData()->setClass(newClassString, shouldFoldCase);
 | 
|          const SpaceSplitString& newClasses = elementData()->classNames();
 | 
| -        shouldInvalidateStyle = testShouldInvalidateStyle && checkSelectorForClassChange(oldClasses, newClasses, styleResolver->ruleFeatureSet());
 | 
| +        shouldInvalidateStyle = testShouldInvalidateStyle && checkSelectorForClassChange(oldClasses, newClasses, styleResolver->ensureRuleFeatureSet());
 | 
|      } else {
 | 
|          const SpaceSplitString& oldClasses = elementData()->classNames();
 | 
| -        shouldInvalidateStyle = testShouldInvalidateStyle && checkSelectorForClassChange(oldClasses, styleResolver->ruleFeatureSet());
 | 
| +        shouldInvalidateStyle = testShouldInvalidateStyle && checkSelectorForClassChange(oldClasses, styleResolver->ensureRuleFeatureSet());
 | 
|          elementData()->clearClass();
 | 
|      }
 | 
|  
 | 
| @@ -2996,7 +2996,7 @@ void Element::updateLabel(TreeScope& scope, const AtomicString& oldForAttributeV
 | 
|  
 | 
|  static bool hasSelectorForAttribute(Document* document, const AtomicString& localName)
 | 
|  {
 | 
| -    return document->styleResolver() && document->styleResolver()->ruleFeatureSet().hasSelectorForAttribute(localName);
 | 
| +    return document->styleResolver() && document->styleResolver()->ensureRuleFeatureSet().hasSelectorForAttribute(localName);
 | 
|  }
 | 
|  
 | 
|  void Element::willModifyAttribute(const QualifiedName& name, const AtomicString& oldValue, const AtomicString& newValue)
 | 
| 
 |