Index: Source/core/css/invalidation/StyleInvalidator.cpp |
diff --git a/Source/core/css/invalidation/StyleInvalidator.cpp b/Source/core/css/invalidation/StyleInvalidator.cpp |
index 947c135156bd2cc4601741e175feffb229897688..f7654f15b847ad3069ccafce94d5db7862f87901 100644 |
--- a/Source/core/css/invalidation/StyleInvalidator.cpp |
+++ b/Source/core/css/invalidation/StyleInvalidator.cpp |
@@ -59,6 +59,7 @@ void StyleInvalidator::RecursionData::pushInvalidationSet(const DescendantInvali |
{ |
invalidationSet.getClasses(m_invalidationClasses); |
invalidationSet.getAttributes(m_invalidationAttributes); |
+ invalidationSet.getIds(m_invalidationIds); |
m_invalidateCustomPseudo = invalidationSet.customPseudoInvalid(); |
m_foundInvalidationSet = true; |
} |
@@ -78,6 +79,11 @@ bool StyleInvalidator::RecursionData::matchesCurrentInvalidationSets(Element& el |
return true; |
} |
} |
+ if (element.hasID()) { |
+ const AtomicString& id = element.idForStyleResolution(); |
+ if (m_invalidationIds.contains(id)) |
+ return true; |
+ } |
if (m_invalidateCustomPseudo && element.shadowPseudoId() != nullAtom) |
return true; |