Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(737)

Unified Diff: Source/core/dom/Element.cpp

Issue 547823002: Track reasons for |Node::SetNeedsStyleRecalc| (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/dom/Element.cpp
diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp
index ad0db7a8218ae9d8e894a1e1eb4798ff47a6de0a..baa712f98269edfe9e94aec3661e9540a062d228 100644
--- a/Source/core/dom/Element.cpp
+++ b/Source/core/dom/Element.cpp
@@ -958,7 +958,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(StyleRecalcDueToAttribute, LocalStyleChange);
}
if (isIdAttributeName(name)) {
@@ -979,7 +979,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(StyleRecalcDueToAttribute, SubtreeStyleChange);
if (AXObjectCache* cache = document().existingAXObjectCache())
cache->handleAttributeChanged(name, this);
@@ -1638,7 +1638,7 @@ ElementShadow& Element::ensureShadow()
void Element::didAffectSelector(AffectedSelectorMask mask)
{
- setNeedsStyleRecalc(SubtreeStyleChange);
+ setNeedsStyleRecalc(StyleRecalcDueToSelector, SubtreeStyleChange);
if (ElementShadow* elementShadow = shadowWhereNodeCanBeDistributed(*this))
elementShadow->didAffectSelector(mask);
}
@@ -1656,7 +1656,7 @@ void Element::setNeedsAnimationStyleRecalc()
if (styleChangeType() != NoStyleChange)
return;
- setNeedsStyleRecalc(LocalStyleChange);
+ setNeedsStyleRecalc(StyleRecalcDueToAnimation, LocalStyleChange);
setAnimationStyleChange(true);
}
@@ -1758,7 +1758,7 @@ void Element::checkForEmptyStyleChange()
return;
if (!style || (styleAffectedByEmpty() && (!style->emptyState() || hasChildren())))
- setNeedsStyleRecalc(SubtreeStyleChange);
+ setNeedsStyleRecalc(StyleRecalcDueToEmptyPseudoClass, SubtreeStyleChange);
}
void Element::childrenChanged(const ChildrenChange& change)
@@ -2676,7 +2676,7 @@ void Element::setFloatingPointAttribute(const QualifiedName& attributeName, doub
void Element::setContainsFullScreenElement(bool flag)
{
setElementFlag(ContainsFullScreenElement, flag);
- setNeedsStyleRecalc(SubtreeStyleChange);
+ setNeedsStyleRecalc(StyleRecalcDueToFullScreen, SubtreeStyleChange);
}
static Element* parentCrossingFrameBoundaries(Element* element)
@@ -3141,14 +3141,14 @@ void Element::styleAttributeChanged(const AtomicString& newStyleString, Attribut
elementData()->m_styleAttributeIsDirty = false;
- setNeedsStyleRecalc(LocalStyleChange);
+ setNeedsStyleRecalc(StyleRecalcDueToStyleSheetChange, LocalStyleChange);
InspectorInstrumentation::didInvalidateStyleAttr(this);
}
void Element::inlineStyleChanged()
{
ASSERT(isStyledElement());
- setNeedsStyleRecalc(LocalStyleChange);
+ setNeedsStyleRecalc(StyleRecalcDueToInline, LocalStyleChange);
ASSERT(elementData());
elementData()->m_styleAttributeIsDirty = true;
InspectorInstrumentation::didInvalidateStyleAttr(this);

Powered by Google App Engine
This is Rietveld 408576698