Index: third_party/WebKit/Source/core/dom/Element.cpp |
diff --git a/third_party/WebKit/Source/core/dom/Element.cpp b/third_party/WebKit/Source/core/dom/Element.cpp |
index a464c53c1574e27f6ff9a3b58cc174f5ec4976a9..ef260adf32dc31fb8e8c0d0dfbfbde675c104369 100644 |
--- a/third_party/WebKit/Source/core/dom/Element.cpp |
+++ b/third_party/WebKit/Source/core/dom/Element.cpp |
@@ -1710,13 +1710,12 @@ |
if (hasCustomStyleCallbacks()) |
willRecalcStyle(change); |
- if (change >= IndependentInherit || needsStyleRecalc()) { |
+ if (change >= Inherit || needsStyleRecalc()) { |
if (hasRareData()) { |
ElementRareData* data = elementRareData(); |
- if (change != IndependentInherit) |
- data->clearComputedStyle(); |
- |
- if (change >= IndependentInherit) { |
+ data->clearComputedStyle(); |
+ |
+ if (change >= Inherit) { |
if (ElementAnimations* elementAnimations = data->elementAnimations()) |
elementAnimations->setAnimationStyleChange(false); |
} |
@@ -1760,40 +1759,15 @@ |
reattachWhitespaceSiblingsIfNeeded(nextTextSibling); |
} |
-PassRefPtr<ComputedStyle> Element::propagateInheritedProperties(StyleRecalcChange change) |
-{ |
- if (change != IndependentInherit) |
- return nullptr; |
- if (needsStyleRecalc()) |
- return nullptr; |
- if (hasAnimations()) |
- return nullptr; |
- const ComputedStyle* parentStyle = parentComputedStyle(); |
- DCHECK(parentStyle); |
- const ComputedStyle* style = computedStyle(); |
- if (!style || style->animations() || style->transitions()) |
- return nullptr; |
- RefPtr<ComputedStyle> newStyle = ComputedStyle::clone(*style); |
- newStyle->propagateIndependentInheritedProperties(*parentStyle); |
- INCREMENT_STYLE_STATS_COUNTER(document().styleEngine(), independentInheritedStylesPropagated, 1); |
- return newStyle; |
-} |
- |
StyleRecalcChange Element::recalcOwnStyle(StyleRecalcChange change) |
{ |
DCHECK(document().inStyleRecalc()); |
DCHECK(!parentOrShadowHostNode()->needsStyleRecalc()); |
- DCHECK(change >= IndependentInherit || needsStyleRecalc()); |
+ DCHECK(change >= Inherit || needsStyleRecalc()); |
DCHECK(parentComputedStyle()); |
RefPtr<ComputedStyle> oldStyle = mutableComputedStyle(); |
- |
- // When propagating inherited changes, we don't need to do a full style recalc |
- // if the only changed properties are independent. In this case, we can simply |
- // set these directly on the ComputedStyle object. |
- RefPtr<ComputedStyle> newStyle = propagateInheritedProperties(change); |
- if (!newStyle) |
- newStyle = styleForLayoutObject(); |
+ RefPtr<ComputedStyle> newStyle = styleForLayoutObject(); |
DCHECK(newStyle); |
StyleRecalcChange localChange = ComputedStyle::stylePropagationDiff(oldStyle.get(), newStyle.get()); |
@@ -1833,7 +1807,7 @@ |
if (change > Inherit || localChange > Inherit) |
return max(localChange, change); |
- if (localChange < IndependentInherit) { |
+ if (localChange < Inherit) { |
if (oldStyle->hasChildDependentFlags()) { |
if (childNeedsStyleRecalc()) |
return Inherit; |