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; |
}; |