Index: third_party/WebKit/Source/core/css/invalidation/StyleInvalidator.cpp |
diff --git a/third_party/WebKit/Source/core/css/invalidation/StyleInvalidator.cpp b/third_party/WebKit/Source/core/css/invalidation/StyleInvalidator.cpp |
index c5ac9ea098c3af67161eeb86b1aa5df1ac5c13a1..962a8ae9cd6b96c465481addd67e98256f9fa8a3 100644 |
--- a/third_party/WebKit/Source/core/css/invalidation/StyleInvalidator.cpp |
+++ b/third_party/WebKit/Source/core/css/invalidation/StyleInvalidator.cpp |
@@ -60,15 +60,18 @@ void StyleInvalidator::scheduleInvalidationSetsForElement(const InvalidationList |
requiresDescendantInvalidation = true; |
} |
- if (invalidationLists.siblings.isEmpty() && !requiresDescendantInvalidation) |
+ if (!requiresDescendantInvalidation && (invalidationLists.siblings.isEmpty() || !element.nextSibling())) |
return; |
element.setNeedsStyleInvalidation(); |
+ |
PendingInvalidations& pendingInvalidations = ensurePendingInvalidations(element); |
- for (auto& invalidationSet : invalidationLists.siblings) { |
- if (pendingInvalidations.siblings().contains(invalidationSet)) |
- continue; |
- pendingInvalidations.siblings().append(invalidationSet); |
+ if (element.nextSibling()) { |
+ for (auto& invalidationSet : invalidationLists.siblings) { |
+ if (pendingInvalidations.siblings().contains(invalidationSet)) |
+ continue; |
+ pendingInvalidations.siblings().append(invalidationSet); |
+ } |
} |
if (!requiresDescendantInvalidation) |