| Index: Source/core/rendering/RenderObject.cpp
|
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
|
| index b56705cb905111631a6d7759d8b73d7e0b5d2cda..db3a2524bf9aebbae145ec491b2f80fc7a4652ea 100644
|
| --- a/Source/core/rendering/RenderObject.cpp
|
| +++ b/Source/core/rendering/RenderObject.cpp
|
| @@ -85,6 +85,7 @@
|
| #include "platform/TracedValue.h"
|
| #include "platform/geometry/TransformState.h"
|
| #include "platform/graphics/GraphicsContext.h"
|
| +#include "platform/graphics/paint/DisplayItemList.h"
|
| #include "wtf/RefCountedLeakCounter.h"
|
| #include "wtf/text/StringBuilder.h"
|
| #include "wtf/text/WTFString.h"
|
| @@ -1121,8 +1122,10 @@ LayoutRect RenderObject::computePaintInvalidationRect(const RenderLayerModelObje
|
|
|
| void RenderObject::invalidatePaintUsingContainer(const RenderLayerModelObject* paintInvalidationContainer, const LayoutRect& r, PaintInvalidationReason invalidationReason) const
|
| {
|
| - if (RuntimeEnabledFeatures::slimmingPaintEnabled())
|
| - view()->viewDisplayList().invalidate(this);
|
| + if (RuntimeEnabledFeatures::slimmingPaintEnabled()) {
|
| + if (RenderLayer* container = enclosingLayer()->enclosingLayerForPaintInvalidationCrossingFrameBoundaries())
|
| + container->graphicsLayerBacking()->displayItemList().invalidate(displayItemClient());
|
| + }
|
|
|
| if (r.isEmpty())
|
| return;
|
|
|