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

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

Issue 219193004: Custom pseudo element types as an invalidation set feature. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 9 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/css/invalidation/StyleInvalidator.h
diff --git a/Source/core/css/invalidation/StyleInvalidator.h b/Source/core/css/invalidation/StyleInvalidator.h
index 77e60719b3d37201208b2128844faecb6e3e3a89..4d5171dc659ec8e9cb181e08be5e05856a5d242f 100644
--- a/Source/core/css/invalidation/StyleInvalidator.h
+++ b/Source/core/css/invalidation/StyleInvalidator.h
@@ -23,7 +23,10 @@ private:
bool checkInvalidationSetsAgainstElement(Element&);
struct RecursionData {
- RecursionData() : m_foundInvalidationSet(false) { }
+ RecursionData()
+ : m_foundInvalidationSet(false)
+ , m_invalidateCustomPseudo(false)
+ { }
void pushInvalidationSet(const DescendantInvalidationSet&);
bool matchesCurrentInvalidationSets(Element&);
bool foundInvalidationSet() { return m_foundInvalidationSet; }
@@ -31,6 +34,7 @@ private:
Vector<AtomicString> m_invalidationClasses;
Vector<AtomicString> m_invalidationAttributes;
bool m_foundInvalidationSet;
+ bool m_invalidateCustomPseudo;
};
class RecursionCheckpoint {
@@ -39,6 +43,7 @@ private:
: m_prevClassLength(data->m_invalidationClasses.size()),
m_prevAttributeLength(data->m_invalidationAttributes.size()),
m_prevFoundInvalidationSet(data->m_foundInvalidationSet),
+ m_prevInvalidateCustomPseudo(data->m_invalidateCustomPseudo),
m_data(data)
{ }
~RecursionCheckpoint()
@@ -46,12 +51,14 @@ private:
m_data->m_invalidationClasses.remove(m_prevClassLength, m_data->m_invalidationClasses.size() - m_prevClassLength);
m_data->m_invalidationAttributes.remove(m_prevAttributeLength, m_data->m_invalidationAttributes.size() - m_prevAttributeLength);
m_data->m_foundInvalidationSet = m_prevFoundInvalidationSet;
+ m_data->m_invalidateCustomPseudo = m_prevInvalidateCustomPseudo;
}
private:
int m_prevClassLength;
int m_prevAttributeLength;
bool m_prevFoundInvalidationSet;
+ bool m_prevInvalidateCustomPseudo;
RecursionData* m_data;
};

Powered by Google App Engine
This is Rietveld 408576698