| Index: Source/core/paint/SVGMaskPainter.cpp
|
| diff --git a/Source/core/paint/SVGMaskPainter.cpp b/Source/core/paint/SVGMaskPainter.cpp
|
| index d1c326f1571c434d4f592f285ca049d17f201bc1..16bc9d1fc75253fcb47015d472b595f8809584e3 100644
|
| --- a/Source/core/paint/SVGMaskPainter.cpp
|
| +++ b/Source/core/paint/SVGMaskPainter.cpp
|
| @@ -74,10 +74,15 @@ void SVGMaskPainter::drawMaskForLayoutObject(GraphicsContext* context, const Lay
|
| RefPtr<const SkPicture> maskContentPicture = m_mask.createContentPicture(contentTransformation, targetBoundingBox);
|
|
|
| TransformRecorder recorder(*context, layoutObject, contentTransformation);
|
| -
|
| - LayoutObjectDrawingRecorder drawingRecorder(*context, layoutObject, DisplayItem::SVGMask, LayoutRect::infiniteIntRect());
|
| - if (!drawingRecorder.canUseCachedDrawing())
|
| - context->drawPicture(maskContentPicture.get());
|
| + if (RuntimeEnabledFeatures::slimmingPaintEnabled()) {
|
| + ASSERT(context->displayItemList());
|
| + if (context->displayItemList()->displayItemConstructionIsDisabled())
|
| + return;
|
| + context->displayItemList()->add(DrawingDisplayItem::create(layoutObject, DisplayItem::SVGMask, maskContentPicture));
|
| + } else {
|
| + DrawingDisplayItem maskPicture(layoutObject, DisplayItem::SVGClip, maskContentPicture);
|
| + maskPicture.replay(*context);
|
| + }
|
| }
|
|
|
| }
|
|
|