| Index: Source/core/paint/LayoutObjectDrawingRecorder.h
 | 
| diff --git a/Source/core/paint/LayoutObjectDrawingRecorder.h b/Source/core/paint/LayoutObjectDrawingRecorder.h
 | 
| index 0328359a285a60a194dad495ddea773f5c280f3d..81fba8cc836e2882f4a809e9b7af59a975ff9123 100644
 | 
| --- a/Source/core/paint/LayoutObjectDrawingRecorder.h
 | 
| +++ b/Source/core/paint/LayoutObjectDrawingRecorder.h
 | 
| @@ -53,7 +53,7 @@ public:
 | 
|  
 | 
|      LayoutObjectDrawingRecorder(GraphicsContext& context, const LayoutObject& layoutObject, DisplayItem::Type displayItemType, const FloatRect& clip, const LayoutPoint& paintOffset)
 | 
|      {
 | 
| -        updatePaintOffsetIfNeeded(context.displayItemList(), layoutObject.displayItemClient(), paintOffset);
 | 
| +        updatePaintOffsetIfNeeded(context.displayItemList(), layoutObject, paintOffset);
 | 
|          // We may paint a delayed-invalidation object before it's actually invalidated.
 | 
|          if (layoutObject.fullPaintInvalidationReason() == PaintInvalidationDelayedFull)
 | 
|              m_cacheSkipper.emplace(context);
 | 
| @@ -74,7 +74,7 @@ public:
 | 
|  
 | 
|      LayoutObjectDrawingRecorder(GraphicsContext& context, const InlineBox& inlineBox, DisplayItem::Type displayItemType, const FloatRect& clip, const LayoutPoint& paintOffset)
 | 
|      {
 | 
| -        updatePaintOffsetIfNeeded(context.displayItemList(), inlineBox.displayItemClient(), paintOffset);
 | 
| +        updatePaintOffsetIfNeeded(context.displayItemList(), inlineBox, paintOffset);
 | 
|          m_drawingRecorder.emplace(context, inlineBox, displayItemType, clip);
 | 
|      }
 | 
|  
 | 
| @@ -92,17 +92,17 @@ public:
 | 
|  #endif
 | 
|  
 | 
|  private:
 | 
| -    static void updatePaintOffsetIfNeeded(DisplayItemList* displayItemList, DisplayItemClient displayItemClient, const LayoutPoint& paintOffset)
 | 
| +    static void updatePaintOffsetIfNeeded(DisplayItemList* displayItemList, const DisplayItemClientWrapper& client, const LayoutPoint& paintOffset)
 | 
|      {
 | 
|          if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled())
 | 
|              return;
 | 
|  
 | 
|          // TODO(pdr): The paint offset cache should be stored on LayoutObject but is temporarily on the DisplayItemList.
 | 
| -        if (!displayItemList->paintOffsetIsUnchanged(displayItemClient, paintOffset)) {
 | 
| -            displayItemList->recordPaintOffset(displayItemClient, paintOffset);
 | 
| -            displayItemList->invalidatePaintOffset(displayItemClient);
 | 
| +        if (!displayItemList->paintOffsetIsUnchanged(client.displayItemClient(), paintOffset)) {
 | 
| +            displayItemList->recordPaintOffset(client.displayItemClient(), paintOffset);
 | 
| +            displayItemList->invalidatePaintOffset(client);
 | 
|          } else {
 | 
| -            ASSERT(!displayItemList->paintOffsetWasInvalidated(displayItemClient) || !displayItemList->clientCacheIsValid(displayItemClient));
 | 
| +            ASSERT(!displayItemList->paintOffsetWasInvalidated(client.displayItemClient()) || !displayItemList->clientCacheIsValid(client.displayItemClient()));
 | 
|          }
 | 
|      }
 | 
|  
 | 
| 
 |