| 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()
|
|
|