Index: third_party/WebKit/Source/core/dom/StyleEngine.cpp |
diff --git a/third_party/WebKit/Source/core/dom/StyleEngine.cpp b/third_party/WebKit/Source/core/dom/StyleEngine.cpp |
index 779ffa005a34ed750ddd852fd2447eb0b28b1620..0de4d370c2af5743d772ebe7c7caf3c472557be8 100644 |
--- a/third_party/WebKit/Source/core/dom/StyleEngine.cpp |
+++ b/third_party/WebKit/Source/core/dom/StyleEngine.cpp |
@@ -1084,11 +1084,15 @@ void StyleEngine::applyRuleSetChanges( |
if (changedRuleFlags & KeyframesRules) |
ScopedStyleResolver::keyframesRulesAdded(treeScope); |
+ Node& invalidationRoot = |
+ ScopedStyleResolver::invalidationRootForTreeScope(treeScope); |
+ if (invalidationRoot.getStyleChangeType() >= SubtreeStyleChange) |
+ return; |
+ |
if (fontsChanged || (changedRuleFlags & FullRecalcRules)) { |
- ScopedStyleResolver::invalidationRootForTreeScope(treeScope) |
- .setNeedsStyleRecalc(SubtreeStyleChange, |
- StyleChangeReasonForTracing::create( |
- StyleChangeReason::ActiveStylesheetsUpdate)); |
+ invalidationRoot.setNeedsStyleRecalc( |
+ SubtreeStyleChange, StyleChangeReasonForTracing::create( |
+ StyleChangeReason::ActiveStylesheetsUpdate)); |
return; |
} |