| Index: Source/core/paint/LayerClipRecorder.cpp
|
| diff --git a/Source/core/paint/LayerClipRecorder.cpp b/Source/core/paint/LayerClipRecorder.cpp
|
| index 8ed407eb3a00945912f0a74413a992922bf1cfe9..899e41bf934cd5a572b6335fef92cb2d26aa0862 100644
|
| --- a/Source/core/paint/LayerClipRecorder.cpp
|
| +++ b/Source/core/paint/LayerClipRecorder.cpp
|
| @@ -24,9 +24,13 @@ LayerClipRecorder::LayerClipRecorder(GraphicsContext& graphicsContext, const Lay
|
| , m_clipType(clipType)
|
| {
|
| IntRect snappedClipRect = pixelSnappedIntRect(clipRect.rect());
|
| - OwnPtr<ClipDisplayItem> clipDisplayItem = ClipDisplayItem::create(layoutObject, clipType, snappedClipRect);
|
| - if (localPaintingInfo && clipRect.hasRadius())
|
| - collectRoundedRectClips(*layoutObject.layer(), *localPaintingInfo, graphicsContext, fragmentOffset, paintFlags, rule, clipDisplayItem->roundedRectClips());
|
| + OwnPtr<Vector<FloatRoundedRect>> roundedRects;
|
| + if (localPaintingInfo && clipRect.hasRadius()) {
|
| + roundedRects = adoptPtr(new Vector<FloatRoundedRect>());
|
| + collectRoundedRectClips(*layoutObject.layer(), *localPaintingInfo, graphicsContext, fragmentOffset, paintFlags, rule, *roundedRects);
|
| + }
|
| +
|
| + OwnPtr<ClipDisplayItem> clipDisplayItem = ClipDisplayItem::create(layoutObject, clipType, snappedClipRect, roundedRects.release());
|
| if (!RuntimeEnabledFeatures::slimmingPaintEnabled()) {
|
| clipDisplayItem->replay(graphicsContext);
|
| } else {
|
|
|