Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Unified Diff: third_party/WebKit/Source/core/layout/LayoutObject.cpp

Issue 1588543004: Remove paintInvalidationRect from display item client invalidation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutObject.h ('k') | third_party/WebKit/Source/core/layout/LayoutScrollbar.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698