| 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 5a57a75ceb356a93ecb2875899136dc3935f0c48..7c48d6902da741d84f633bea4406dfd1ad86f557 100644
|
| --- a/third_party/WebKit/Source/core/css/invalidation/StyleInvalidator.cpp
|
| +++ b/third_party/WebKit/Source/core/css/invalidation/StyleInvalidator.cpp
|
| @@ -132,6 +132,25 @@ void StyleInvalidator::scheduleSiblingInvalidationsAsDescendants(
|
| }
|
| }
|
|
|
| +void StyleInvalidator::rescheduleSiblingInvalidationsAsDescendants(
|
| + Element& element) {
|
| + DCHECK(element.parentNode());
|
| + PendingInvalidations* pendingInvalidations =
|
| + m_pendingInvalidationMap.get(&element);
|
| + if (!pendingInvalidations || pendingInvalidations->siblings().isEmpty())
|
| + return;
|
| +
|
| + InvalidationLists invalidationLists;
|
| + for (const auto& invalidationSet : pendingInvalidations->siblings()) {
|
| + invalidationLists.descendants.push_back(invalidationSet);
|
| + if (DescendantInvalidationSet* descendants =
|
| + toSiblingInvalidationSet(*invalidationSet).siblingDescendants()) {
|
| + invalidationLists.descendants.push_back(descendants);
|
| + }
|
| + }
|
| + scheduleInvalidationSetsForNode(invalidationLists, *element.parentNode());
|
| +}
|
| +
|
| void StyleInvalidator::clearInvalidation(ContainerNode& node) {
|
| if (!node.needsStyleInvalidation())
|
| return;
|
|
|