| 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 fd76c7b52d0c516de43f840a80d25c4a60cfcec9..0c3af3981485bb9900415ac8955d9ffe08246593 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
|
| @@ -252,7 +252,7 @@
|
| bool newStyleIsFixedPosition = style()->position() == FixedPosition;
|
| bool oldStyleIsFixedPosition = oldStyle->position() == FixedPosition;
|
| if (newStyleIsFixedPosition != oldStyleIsFixedPosition)
|
| - invalidateDisplayItemClientsIncludingNonCompositingDescendants(PaintInvalidationStyleChange);
|
| + invalidateDisplayItemClientsIncludingNonCompositingDescendants(nullptr, PaintInvalidationStyleChange);
|
| }
|
|
|
| // The used style for body background may change due to computed style change
|
| @@ -436,6 +436,28 @@
|
| } else {
|
| // Otherwise invalidate everything.
|
| layer()->compositedLayerMapping()->setContentsNeedDisplayInRect(r, invalidationReason, object);
|
| + }
|
| +}
|
| +
|
| +void LayoutBoxModelObject::invalidateDisplayItemClientOnBacking(const DisplayItemClient& displayItemClient, PaintInvalidationReason invalidationReason, const LayoutObject* layoutObject) const
|
| +{
|
| + displayItemClient.setDisplayItemsUncached();
|
| +
|
| + // We need to inform the GraphicsLayer about this paint invalidation only when we are tracking
|
| + // paint invalidation or ENABLE(ASSERT).
|
| +#if !ENABLE(ASSERT)
|
| + if (!frameView()->isTrackingPaintInvalidations())
|
| + return;
|
| +#endif
|
| +
|
| + if (layer()->groupedMapping()) {
|
| + if (GraphicsLayer* squashingLayer = layer()->groupedMapping()->squashingLayer())
|
| + squashingLayer->displayItemClientWasInvalidated(displayItemClient, invalidationReason);
|
| + } else if (CompositedLayerMapping* compositedLayerMapping = layer()->compositedLayerMapping()) {
|
| + if (layoutObject && layoutObject->compositedScrollsWithRespectTo(*this))
|
| + compositedLayerMapping->scrollingDisplayItemClientWasInvalidated(displayItemClient, invalidationReason);
|
| + else
|
| + compositedLayerMapping->displayItemClientWasInvalidated(displayItemClient, invalidationReason);
|
| }
|
| }
|
|
|
|
|