| Index: Source/core/layout/LayoutObject.cpp | 
| diff --git a/Source/core/layout/LayoutObject.cpp b/Source/core/layout/LayoutObject.cpp | 
| index f5e859a4720a8f87dce35e4a1bd908f6355e92dc..851c2d6e4325eee2440de67675f96bf7430d962b 100644 | 
| --- a/Source/core/layout/LayoutObject.cpp | 
| +++ b/Source/core/layout/LayoutObject.cpp | 
| @@ -1203,8 +1203,12 @@ void LayoutObject::invalidateTreeIfNeeded(const PaintInvalidationState& paintInv | 
| if (!shouldCheckForPaintInvalidation(paintInvalidationState)) | 
| return; | 
|  | 
| -    invalidatePaintIfNeeded(paintInvalidationState, paintInvalidationState.paintInvalidationContainer()); | 
| +    PaintInvalidationReason reason = invalidatePaintIfNeeded(paintInvalidationState, paintInvalidationState.paintInvalidationContainer()); | 
| clearPaintInvalidationState(paintInvalidationState); | 
| + | 
| +    if (reason == PaintInvalidationDelayedFull) | 
| +        view()->pushDelayedPaintInvalidationTarget(*this); | 
| + | 
| invalidatePaintOfSubtreesIfNeeded(paintInvalidationState); | 
| } | 
|  | 
|  |