| Index: Source/core/paint/SVGClipPainter.cpp
|
| diff --git a/Source/core/paint/SVGClipPainter.cpp b/Source/core/paint/SVGClipPainter.cpp
|
| index 4d49205577d979988048f3af89f665e6d7e61980..410153c8aa63076998804d8ec01f4e90b3bf5b2a 100644
|
| --- a/Source/core/paint/SVGClipPainter.cpp
|
| +++ b/Source/core/paint/SVGClipPainter.cpp
|
| @@ -97,17 +97,18 @@ bool SVGClipPainter::applyClippingToContext(const LayoutObject& target, const Fl
|
| void SVGClipPainter::postApplyStatefulResource(const LayoutObject& target, GraphicsContext* context, ClipperState& clipperState)
|
| {
|
| switch (clipperState) {
|
| - case ClipperAppliedPath:
|
| + case ClipperAppliedPath: {
|
| // Path-only clipping, no layers to restore but we need to emit an end to the clip path display item.
|
| + EndClipPathDisplayItem endClipPathDisplayItem(target);
|
| if (RuntimeEnabledFeatures::slimmingPaintEnabled()) {
|
| if (context->displayItemList()->displayItemConstructionIsDisabled())
|
| return;
|
| - context->displayItemList()->add(EndClipPathDisplayItem::create(target));
|
| + context->displayItemList()->add(endClipPathDisplayItem);
|
| } else {
|
| - EndClipPathDisplayItem endClipPathDisplayItem(target);
|
| endClipPathDisplayItem.replay(*context);
|
| }
|
| break;
|
| + }
|
| case ClipperAppliedMask:
|
| // Transfer content -> clip mask (SrcIn)
|
| CompositingRecorder::endCompositing(*context, target);
|
| @@ -128,13 +129,13 @@ void SVGClipPainter::drawClipMaskContent(GraphicsContext* context, const LayoutO
|
| RefPtr<const SkPicture> clipContentPicture = m_clip.createContentPicture(contentTransformation, targetBoundingBox, context);
|
|
|
| TransformRecorder recorder(*context, layoutObject, contentTransformation);
|
| + DrawingDisplayItem clipPicture(layoutObject, DisplayItem::SVGClip, clipContentPicture);
|
| if (RuntimeEnabledFeatures::slimmingPaintEnabled()) {
|
| ASSERT(context->displayItemList());
|
| if (context->displayItemList()->displayItemConstructionIsDisabled())
|
| return;
|
| - context->displayItemList()->add(DrawingDisplayItem::create(layoutObject, DisplayItem::SVGClip, clipContentPicture));
|
| + context->displayItemList()->add(clipPicture);
|
| } else {
|
| - DrawingDisplayItem clipPicture(layoutObject, DisplayItem::SVGClip, clipContentPicture);
|
| clipPicture.replay(*context);
|
| }
|
| }
|
|
|