Index: Source/core/paint/SVGClipPainter.cpp |
diff --git a/Source/core/paint/SVGClipPainter.cpp b/Source/core/paint/SVGClipPainter.cpp |
index 2ad91ba5e6cad7fd7fc54aed54877b3d0313aa6d..22e61e5291dfe3d1ad416687eddfdd05c413ec90 100644 |
--- a/Source/core/paint/SVGClipPainter.cpp |
+++ b/Source/core/paint/SVGClipPainter.cpp |
@@ -60,8 +60,16 @@ bool SVGClipPainter::applyClippingToContext(const LayoutObject& target, const Fl |
} |
// First, try to apply the clip as a clipPath. |
- if (m_clip.tryPathOnlyClipping(target, context, animatedLocalTransform, targetBoundingBox)) { |
+ Path clipPath; |
+ if (m_clip.asPath(animatedLocalTransform, targetBoundingBox, clipPath)) { |
clipperState = ClipperAppliedPath; |
+ if (RuntimeEnabledFeatures::slimmingPaintEnabled()) { |
+ if (!context->displayItemList()->displayItemConstructionIsDisabled()) |
+ context->displayItemList()->createAndAppend<BeginClipPathDisplayItem>(target, clipPath); |
+ } else { |
+ BeginClipPathDisplayItem clipPathDisplayItem(target, clipPath); |
+ clipPathDisplayItem.replay(*context); |
+ } |
return true; |
} |