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; |