Index: Source/core/dom/Element.cpp |
diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp |
index d963fbf0af9f21159517c29bcf63032a5871c944..09f6c2a9672e4e518fca47d4db8858860d714ab6 100644 |
--- a/Source/core/dom/Element.cpp |
+++ b/Source/core/dom/Element.cpp |
@@ -959,7 +959,7 @@ void Element::attributeChanged(const QualifiedName& name, const AtomicString& ne |
styleAttributeChanged(newValue, reason); |
} else if (isStyledElement() && isPresentationAttribute(name)) { |
elementData()->m_presentationAttributeStyleIsDirty = true; |
- setNeedsStyleRecalc(LocalStyleChange); |
+ setNeedsStyleRecalc(StyleChangeReasonForTracing::fromAttribute(name), LocalStyleChange); |
} |
if (isIdAttributeName(name)) { |
@@ -980,7 +980,7 @@ void Element::attributeChanged(const QualifiedName& name, const AtomicString& ne |
// If there is currently no StyleResolver, we can't be sure that this attribute change won't affect style. |
if (!styleResolver) |
- setNeedsStyleRecalc(SubtreeStyleChange); |
+ setNeedsStyleRecalc(StyleChangeReasonForTracing::fromAttribute(name), SubtreeStyleChange); |
if (AXObjectCache* cache = document().existingAXObjectCache()) |
cache->handleAttributeChanged(name, this); |
@@ -1598,9 +1598,9 @@ ElementShadow& Element::ensureShadow() |
return ensureElementRareData().ensureShadow(); |
} |
-void Element::didAffectSelector(AffectedSelectorMask mask) |
+void Element::didAffectSelector(const StyleChangeReasonForTracing& reason, AffectedSelectorMask mask) |
{ |
- setNeedsStyleRecalc(SubtreeStyleChange); |
+ setNeedsStyleRecalc(reason, SubtreeStyleChange); |
if (ElementShadow* elementShadow = shadowWhereNodeCanBeDistributed(*this)) |
elementShadow->didAffectSelector(mask); |
} |
@@ -1618,7 +1618,7 @@ void Element::setNeedsAnimationStyleRecalc() |
if (styleChangeType() != NoStyleChange) |
return; |
- setNeedsStyleRecalc(LocalStyleChange); |
+ setNeedsStyleRecalc(StyleChangeReasonForTracing::create(StyleChangeReason::Animation), LocalStyleChange); |
setAnimationStyleChange(true); |
} |
@@ -2631,7 +2631,7 @@ void Element::setFloatingPointAttribute(const QualifiedName& attributeName, doub |
void Element::setContainsFullScreenElement(bool flag) |
{ |
setElementFlag(ContainsFullScreenElement, flag); |
- setNeedsStyleRecalc(SubtreeStyleChange); |
+ setNeedsStyleRecalc(StyleChangeReasonForTracing::create(StyleChangeReason::FullScreen), SubtreeStyleChange); |
} |
static Element* parentCrossingFrameBoundaries(Element* element) |
@@ -3096,14 +3096,14 @@ void Element::styleAttributeChanged(const AtomicString& newStyleString, Attribut |
elementData()->m_styleAttributeIsDirty = false; |
- setNeedsStyleRecalc(LocalStyleChange); |
+ setNeedsStyleRecalc(StyleChangeReasonForTracing::create(StyleChangeReason::StyleSheetChange), LocalStyleChange); |
InspectorInstrumentation::didInvalidateStyleAttr(this); |
} |
void Element::inlineStyleChanged() |
{ |
ASSERT(isStyledElement()); |
- setNeedsStyleRecalc(LocalStyleChange); |
+ setNeedsStyleRecalc(StyleChangeReasonForTracing::create(StyleChangeReason::Inline), LocalStyleChange); |
ASSERT(elementData()); |
elementData()->m_styleAttributeIsDirty = true; |
InspectorInstrumentation::didInvalidateStyleAttr(this); |