Index: third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp |
diff --git a/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp |
index cc06d4a84ffa768d2562263632f4bc878371f461..c2c295b6ab1a9783e891d3c22089932994c0b186 100644 |
--- a/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp |
+++ b/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp |
@@ -224,7 +224,7 @@ void ObjectPaintInvalidator::setBackingNeedsPaintInvalidationInRect(const Layout |
} |
} else if (m_object.compositedScrollsWithRespectTo(paintInvalidationContainer)) { |
layer.compositedLayerMapping()->setScrollingContentsNeedDisplayInRect(rect, reason, m_object); |
- } else if (paintInvalidationContainer.usesCompositedScrolling()) { |
+ } else if (paintInvalidationContainer.usesCompositedScrolling() && reason != PaintInvalidationRectangle) { |
if (layer.compositedLayerMapping()->shouldPaintBackgroundOntoScrollingContentsLayer()) { |
// TODO(flackr): Get a correct rect in the context of the scrolling contents layer to update |
// rather than updating the entire rect. |
@@ -274,7 +274,7 @@ void ObjectPaintInvalidator::invalidatePaintUsingContainer(const LayoutBoxModelO |
setBackingNeedsPaintInvalidationInRect(paintInvalidationContainer, dirtyRect, invalidationReason); |
} |
-void ObjectPaintInvalidator::invalidatePaintRectangle(const LayoutRect& dirtyRect) |
+void ObjectPaintInvalidator::invalidatePaintRectangle(const LayoutRect& dirtyRect, DisplayItemClient* displayItemClient) |
{ |
CHECK(m_object.isRooted()); |
@@ -292,7 +292,10 @@ void ObjectPaintInvalidator::invalidatePaintRectangle(const LayoutRect& dirtyRec |
invalidatePaintUsingContainer(paintInvalidationContainer, dirtyRectOnBacking, PaintInvalidationRectangle); |
slowSetPaintingLayerNeedsRepaint(); |
- m_object.invalidateDisplayItemClients(PaintInvalidationRectangle); |
+ if (displayItemClient) |
+ invalidateDisplayItemClient(*displayItemClient, PaintInvalidationRectangle); |
+ else |
+ m_object.invalidateDisplayItemClients(PaintInvalidationRectangle); |
} |
void ObjectPaintInvalidator::slowSetPaintingLayerNeedsRepaint() |