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 3de1af13e9a5f4466040c87b7bac98d7ed2af67c..fb40160723e975ef54dfe3cae48bfde4a37f87cb 100644 |
--- a/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
+++ b/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
@@ -286,15 +286,16 @@ |
SkPaint paint; |
drawForContainer(patternPicture.context().canvas(), paint, containerSize, zoom, tile, srcRect, url); |
} |
- // TODO(fmalita): convert SkPictureBuilder to return sk_sp<SkPicture> |
- sk_sp<SkPicture> tilePicture(const_cast<SkPicture*>(patternPicture.endRecording().leakRef())); |
+ RefPtr<const SkPicture> tilePicture = patternPicture.endRecording(); |
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)); |
SkPaint paint; |
- paint.setShader(SkShader::MakePictureShader(std::move(tilePicture), |
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode, &patternTransform, nullptr)); |
+ paint.setShader(patternShader.get()); |
paint.setXfermodeMode(compositeOp); |
paint.setColorFilter(context.colorFilter()); |
context.drawRect(dstRect, paint); |