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

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

Issue 2037713002: Adjust for composited scrolling when invalidating paint rectangles. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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/LayoutBoxModelObject.cpp
diff --git a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
index cd3587ad63c36c9c01f3a8c43e808791cc8e3b93..fb96668015b0847162c540d1d7ced9d8e0038f7f 100644
--- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
@@ -412,11 +412,6 @@ void LayoutBoxModelObject::invalidateTreeIfNeeded(const PaintInvalidationState&
invalidatePaintOfSubtreesIfNeeded(newPaintInvalidationState);
}
-static bool compositedScrollsWithRespectTo(const LayoutObject* layoutObject, const LayoutBoxModelObject& paintInvalidationContainer)
-{
- return paintInvalidationContainer.usesCompositedScrolling() && layoutObject != &paintInvalidationContainer;
-}
-
void LayoutBoxModelObject::setBackingNeedsPaintInvalidationInRect(const LayoutRect& r, PaintInvalidationReason invalidationReason, const LayoutObject& object) const
{
// TODO(wangxianzhu): Enable the following assert after paint invalidation for spv2 is ready.
@@ -433,7 +428,7 @@ void LayoutBoxModelObject::setBackingNeedsPaintInvalidationInRect(const LayoutRe
// Note: the subpixel accumulation of layer() does not need to be added here. It is already taken into account.
squashingLayer->setNeedsDisplayInRect(enclosingIntRect(paintInvalidationRect), invalidationReason, object);
}
- } else if (compositedScrollsWithRespectTo(&object, *this)) {
+ } else if (object.compositedScrollsWithRespectTo(*this)) {
layer()->compositedLayerMapping()->setScrollingContentsNeedDisplayInRect(r, invalidationReason, object);
} else {
// TODO(chrishtr): we should be able to skip scrolling content layers in this case.
@@ -456,7 +451,7 @@ void LayoutBoxModelObject::invalidateDisplayItemClientOnBacking(const DisplayIte
if (GraphicsLayer* squashingLayer = layer()->groupedMapping()->squashingLayer())
squashingLayer->displayItemClientWasInvalidated(displayItemClient, invalidationReason);
} else if (CompositedLayerMapping* compositedLayerMapping = layer()->compositedLayerMapping()) {
- if (compositedScrollsWithRespectTo(layoutObject, *this))
+ if (layoutObject && layoutObject->compositedScrollsWithRespectTo(*this))
compositedLayerMapping->scrollingDisplayItemClientWasInvalidated(displayItemClient, invalidationReason);
else
compositedLayerMapping->displayItemClientWasInvalidated(displayItemClient, invalidationReason);

Powered by Google App Engine
This is Rietveld 408576698