Index: third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
diff --git a/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp b/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
index f566ad8fc0254dd67929948c13d1a8cbbf0fbe04..9958f6c7449effab5d4fdd18c9637d1947c477bc 100644 |
--- a/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
+++ b/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
@@ -286,16 +286,17 @@ void SVGImage::drawPatternForContainer(GraphicsContext& context, const FloatSize |
SkPaint paint; |
drawForContainer(patternPicture.context().canvas(), paint, containerSize, zoom, tile, srcRect, url); |
} |
- RefPtr<const SkPicture> tilePicture = patternPicture.endRecording(); |
+ // TODO(fmalita): convert SkPictureBuilder to return sk_sp<SkPicture> |
+ sk_sp<const SkPicture> tilePicture(patternPicture.endRecording().leakRef()); |
SkMatrix patternTransform; |
patternTransform.setTranslate(phase.x() + spacedTile.x(), phase.y() + spacedTile.y()); |
- RefPtr<SkShader> patternShader = adoptRef(SkShader::CreatePictureShader( |
- tilePicture.get(), SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode, |
- &patternTransform, nullptr)); |
+ auto patternShader = SkShader::MakePictureShader( |
+ std::move(tilePicture), SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode, |
+ &patternTransform, nullptr); |
SkPaint paint; |
- paint.setShader(patternShader.get()); |
+ paint.setShader(std::move(patternShader)); |
paint.setXfermodeMode(compositeOp); |
paint.setColorFilter(context.colorFilter()); |
context.drawRect(dstRect, paint); |