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

Unified Diff: Source/core/css/invalidation/StyleInvalidator.h

Issue 233243003: Avoid looking at invalidation sets in a SubtreeStyleChange subtree (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Add ASSERT Created 6 years, 8 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 | « no previous file | Source/core/css/invalidation/StyleInvalidator.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/css/invalidation/StyleInvalidator.h
diff --git a/Source/core/css/invalidation/StyleInvalidator.h b/Source/core/css/invalidation/StyleInvalidator.h
index 1e7b824ebef67d68e5e5943c5b7ba39fc9314a80..1f10266383a7fde093e2d3eed82820c5c6ff7676 100644
--- a/Source/core/css/invalidation/StyleInvalidator.h
+++ b/Source/core/css/invalidation/StyleInvalidator.h
@@ -33,38 +33,39 @@ private:
struct RecursionData {
RecursionData()
- : m_foundInvalidationSet(false)
- , m_invalidateCustomPseudo(false)
+ : m_invalidateCustomPseudo(false)
+ , m_wholeSubtreeInvalid(false)
{ }
void pushInvalidationSet(const DescendantInvalidationSet&);
bool matchesCurrentInvalidationSets(Element&);
- bool foundInvalidationSet() { return m_foundInvalidationSet; }
+ bool hasInvalidationSets() const { return m_invalidationSets.size(); }
+ bool wholeSubtreeInvalid() const { return m_wholeSubtreeInvalid; }
typedef Vector<const DescendantInvalidationSet*, 16> InvalidationSets;
InvalidationSets m_invalidationSets;
- bool m_foundInvalidationSet;
bool m_invalidateCustomPseudo;
+ bool m_wholeSubtreeInvalid;
};
class RecursionCheckpoint {
public:
RecursionCheckpoint(RecursionData* data)
: m_prevInvalidationSetsSize(data->m_invalidationSets.size())
- , m_prevFoundInvalidationSet(data->m_foundInvalidationSet)
, m_prevInvalidateCustomPseudo(data->m_invalidateCustomPseudo)
+ , m_prevWholeSubtreeInvalid(data->m_wholeSubtreeInvalid)
, m_data(data)
{ }
~RecursionCheckpoint()
{
m_data->m_invalidationSets.remove(m_prevInvalidationSetsSize, m_data->m_invalidationSets.size() - m_prevInvalidationSetsSize);
- m_data->m_foundInvalidationSet = m_prevFoundInvalidationSet;
m_data->m_invalidateCustomPseudo = m_prevInvalidateCustomPseudo;
+ m_data->m_wholeSubtreeInvalid = m_prevWholeSubtreeInvalid;
}
private:
int m_prevInvalidationSetsSize;
- bool m_prevFoundInvalidationSet;
bool m_prevInvalidateCustomPseudo;
+ bool m_prevWholeSubtreeInvalid;
RecursionData* m_data;
};
« no previous file with comments | « no previous file | Source/core/css/invalidation/StyleInvalidator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698