| Index: third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
 | 
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
 | 
| index 74fefefb6a647bfc054f3798ad8fa35ded663260..4924cabbcbb2d952c72968a385f311dcbb1463a6 100644
 | 
| --- a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
 | 
| +++ b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
 | 
| @@ -807,8 +807,11 @@ PaintResult PaintLayerPainter::paintFragmentByApplyingTransform(
 | 
|    // matrix with the origin baked in.
 | 
|    FloatPoint3D transformOrigin;
 | 
|    Transform3DRecorder transform3DRecorder(
 | 
| -      context, *m_paintLayer.layoutObject(),
 | 
| -      DisplayItem::kTransform3DElementTransform, transform, transformOrigin);
 | 
| +      context, DisplayItem::kTransform3DElementTransform, transform,
 | 
| +      transformOrigin, m_paintLayer.layoutObject()->visualRect(),
 | 
| +      m_paintLayer.layoutObject()->debugName(),
 | 
| +      m_paintLayer.layoutObject()
 | 
| +          ->paintedOutputOfObjectHasNoEffectRegardlessOfSize());
 | 
|  
 | 
|    // Now do a paint with the root layer shifted to be us.
 | 
|    PaintLayerPaintingInfo transformedPaintingInfo(
 | 
| @@ -919,9 +922,13 @@ void PaintLayerPainter::paintOverflowControlsForFragments(
 | 
|      if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled() &&
 | 
|          !localPaintingInfo.scrollOffsetAccumulation.isZero()) {
 | 
|        cullRect.move(localPaintingInfo.scrollOffsetAccumulation);
 | 
| -      scrollRecorder.emplace(context, *m_paintLayer.layoutObject(),
 | 
| -                             DisplayItem::kScrollOverflowControls,
 | 
| -                             localPaintingInfo.scrollOffsetAccumulation);
 | 
| +      scrollRecorder.emplace(
 | 
| +          context, DisplayItem::kScrollOverflowControls,
 | 
| +          localPaintingInfo.scrollOffsetAccumulation,
 | 
| +          m_paintLayer.layoutObject()->visualRect(),
 | 
| +          m_paintLayer.layoutObject()->debugName(),
 | 
| +          m_paintLayer.layoutObject()
 | 
| +              ->paintedOutputOfObjectHasNoEffectRegardlessOfSize());
 | 
|      }
 | 
|  
 | 
|      // We pass IntPoint() as the paint offset here, because
 | 
| @@ -1000,8 +1007,12 @@ void PaintLayerPainter::paintFragmentWithPhase(
 | 
|        paintOffset += paintingInfo.scrollOffsetAccumulation;
 | 
|  
 | 
|        newCullRect.move(paintingInfo.scrollOffsetAccumulation);
 | 
| -      scrollRecorder.emplace(context, *m_paintLayer.layoutObject(), phase,
 | 
| -                             paintingInfo.scrollOffsetAccumulation);
 | 
| +      scrollRecorder.emplace(
 | 
| +          context, phase, paintingInfo.scrollOffsetAccumulation,
 | 
| +          m_paintLayer.layoutObject()->visualRect(),
 | 
| +          m_paintLayer.layoutObject()->debugName(),
 | 
| +          m_paintLayer.layoutObject()
 | 
| +              ->paintedOutputOfObjectHasNoEffectRegardlessOfSize());
 | 
|      }
 | 
|    }
 | 
|    PaintInfo paintInfo(context, pixelSnappedIntRect(newCullRect), phase,
 | 
| 
 |