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

Unified Diff: Source/core/dom/Node.h

Issue 129633003: Add a first pass of a class descendant invalidator, and a containing RuleSetAnalyzer (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Implement tree walk for descendant class invalidation. Created 6 years, 11 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
« no previous file with comments | « Source/core/dom/Element.cpp ('k') | Source/core/dom/Node.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/Node.h
diff --git a/Source/core/dom/Node.h b/Source/core/dom/Node.h
index f0bff39e630c691a9a116fbbe0be649a91f07f27..eecb76ba4c7568ae4d12c53860cd986065970aa0 100644
--- a/Source/core/dom/Node.h
+++ b/Source/core/dom/Node.h
@@ -372,6 +372,13 @@ public:
void clearChildNeedsDistributionRecalc() { clearFlag(ChildNeedsDistributionRecalc); }
void markAncestorsWithChildNeedsDistributionRecalc();
+ bool childNeedsInvalidation() const { return getFlag(ChildNeedsInvalidation); }
+ void setChildNeedsInvalidation() { setFlag(ChildNeedsInvalidation); }
+ void clearChildNeedsInvalidation() { clearFlag(ChildNeedsInvalidation); }
+ void markAncestorsWithChildNeedsInvalidation();
+ void setNeedsInvalidation();
+ virtual bool needsInvalidation() const;
+
void recalcDistribution();
bool shouldNotifyRendererWithIdenticalStyles() const { return getFlag(NotifyRendererWithIdenticalStyles); }
@@ -725,10 +732,12 @@ private:
CustomElement = 1 << 27,
CustomElementUpgraded = 1 << 28,
+ ChildNeedsInvalidation = 1 << 29,
+
DefaultNodeFlags = IsParsingChildrenFinishedFlag | ChildNeedsStyleRecalcFlag | NeedsReattachStyleChange
};
- // 4 bits remaining.
+ // 2 bits remaining.
bool getFlag(NodeFlags mask) const { return m_nodeFlags & mask; }
void setFlag(bool f, NodeFlags mask) const { m_nodeFlags = (m_nodeFlags & ~mask) | (-(int32_t)f & mask); }
« no previous file with comments | « Source/core/dom/Element.cpp ('k') | Source/core/dom/Node.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698