| Index: third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.cpp b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| index 9da07a0210cec65d327a9a99ef09cf9b1a8e2c6b..a53c64682040896e7433533b73de6f314ee71f60 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| @@ -1241,14 +1241,14 @@ void LayoutObject::invalidateDisplayItemClient(const DisplayItemClient& displayI
|
| // This is valid because we want to invalidate the client in the display item list of the current backing.
|
| DisableCompositingQueryAsserts disabler;
|
| if (const PaintLayer* paintInvalidationLayer = enclosingLayer->enclosingLayerForPaintInvalidationCrossingFrameBoundaries())
|
| - paintInvalidationLayer->layoutObject()->invalidateDisplayItemClientOnBacking(displayItemClient, PaintInvalidationFull, nullptr);
|
| + paintInvalidationLayer->layoutObject()->invalidateDisplayItemClientOnBacking(displayItemClient, PaintInvalidationFull);
|
| enclosingLayer->setNeedsRepaint();
|
| }
|
| }
|
|
|
| -void LayoutObject::invalidateDisplayItemClients(const LayoutBoxModelObject& paintInvalidationContainer, PaintInvalidationReason invalidationReason, const LayoutRect* paintInvalidationRect) const
|
| +void LayoutObject::invalidateDisplayItemClients(const LayoutBoxModelObject& paintInvalidationContainer, PaintInvalidationReason invalidationReason) const
|
| {
|
| - paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*this, invalidationReason, paintInvalidationRect);
|
| + paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*this, invalidationReason);
|
|
|
| if (PaintLayer* enclosingLayer = this->enclosingLayer())
|
| enclosingLayer->setNeedsRepaint();
|
| @@ -1279,10 +1279,8 @@ const LayoutBoxModelObject* LayoutObject::invalidatePaintRectangleInternal(const
|
| void LayoutObject::invalidatePaintRectangle(const LayoutRect& rect) const
|
| {
|
| const LayoutBoxModelObject* paintInvalidationContainer = invalidatePaintRectangleInternal(rect);
|
| - if (paintInvalidationContainer) {
|
| - // Don't need to change the paint invalidation bounds of the client, so pass nullptr.
|
| - invalidateDisplayItemClients(*paintInvalidationContainer, PaintInvalidationRectangle, nullptr);
|
| - }
|
| + if (paintInvalidationContainer)
|
| + invalidateDisplayItemClients(*paintInvalidationContainer, PaintInvalidationRectangle);
|
| }
|
|
|
| void LayoutObject::invalidatePaintRectangleNotInvalidatingDisplayItemClients(const LayoutRect& r) const
|
| @@ -1375,7 +1373,7 @@ inline void LayoutObject::invalidateSelectionIfNeeded(const LayoutBoxModelObject
|
| setPreviousSelectionRectForPaintInvalidation(newSelectionRect);
|
|
|
| if (shouldInvalidateSelection())
|
| - invalidateDisplayItemClients(paintInvalidationContainer, PaintInvalidationSelection, nullptr);
|
| + invalidateDisplayItemClients(paintInvalidationContainer, PaintInvalidationSelection);
|
|
|
| if (fullInvalidation)
|
| return;
|
| @@ -1433,12 +1431,12 @@ PaintInvalidationReason LayoutObject::invalidatePaintIfNeeded(PaintInvalidationS
|
| // invalidation is issued. See crbug.com/508383 and crbug.com/515977.
|
| // This is a workaround to force display items to update paint offset.
|
| if (!RuntimeEnabledFeatures::slimmingPaintOffsetCachingEnabled() && paintInvalidationState.forcedSubtreeInvalidationWithinContainer())
|
| - invalidateDisplayItemClients(paintInvalidationContainer, invalidationReason, &newBounds);
|
| + invalidateDisplayItemClients(paintInvalidationContainer, invalidationReason);
|
|
|
| return invalidationReason;
|
| }
|
|
|
| - invalidateDisplayItemClients(paintInvalidationContainer, invalidationReason, &newBounds);
|
| + invalidateDisplayItemClients(paintInvalidationContainer, invalidationReason);
|
|
|
| if (invalidationReason == PaintInvalidationIncremental) {
|
| incrementallyInvalidatePaint(paintInvalidationContainer, oldBounds, newBounds, newLocation);
|
| @@ -3390,7 +3388,7 @@ void traverseNonCompositingDescendants(LayoutObject& object, const LayoutObjectT
|
|
|
| } // unnamed namespace
|
|
|
| -void LayoutObject::invalidateDisplayItemClientsIncludingNonCompositingDescendants(const LayoutBoxModelObject* paintInvalidationContainer, PaintInvalidationReason paintInvalidationReason, const LayoutRect* paintInvalidationRect) const
|
| +void LayoutObject::invalidateDisplayItemClientsIncludingNonCompositingDescendants(const LayoutBoxModelObject* paintInvalidationContainer, PaintInvalidationReason paintInvalidationReason) const
|
| {
|
| // This is valid because we want to invalidate the client in the display item list of the current backing.
|
| DisableCompositingQueryAsserts disabler;
|
| @@ -3405,8 +3403,8 @@ void LayoutObject::invalidateDisplayItemClientsIncludingNonCompositingDescendant
|
| paintInvalidationContainer = paintInvalidationLayer->layoutObject();
|
| }
|
|
|
| - traverseNonCompositingDescendants(const_cast<LayoutObject&>(*this), [&paintInvalidationContainer, paintInvalidationReason, paintInvalidationRect](LayoutObject& object) {
|
| - object.invalidateDisplayItemClients(*paintInvalidationContainer, paintInvalidationReason, paintInvalidationRect);
|
| + traverseNonCompositingDescendants(const_cast<LayoutObject&>(*this), [&paintInvalidationContainer, paintInvalidationReason](LayoutObject& object) {
|
| + object.invalidateDisplayItemClients(*paintInvalidationContainer, paintInvalidationReason);
|
| });
|
| }
|
|
|
| @@ -3419,10 +3417,7 @@ void LayoutObject::invalidatePaintOfPreviousPaintInvalidationRect(const LayoutBo
|
| LayoutRect invalidationRect = previousPaintInvalidationRect();
|
| adjustInvalidationRectForCompositedScrolling(invalidationRect, paintInvalidationContainer);
|
| invalidatePaintUsingContainer(paintInvalidationContainer, invalidationRect, PaintInvalidationLayer);
|
| -
|
| - // The PaintController may have changed. Pass the previous paint invalidation rect to the new PaintController.
|
| - // The rect will be updated if it changes during the next paint invalidation.
|
| - invalidateDisplayItemClients(paintInvalidationContainer, PaintInvalidationLayer, &invalidationRect);
|
| + invalidateDisplayItemClients(paintInvalidationContainer, PaintInvalidationLayer);
|
|
|
| // This method may be used to invalidate paint of an object changing paint invalidation container.
|
| // Clear previous paint invalidation rect on the original paint invalidation container to avoid
|
|
|