Take sk_sp<SkDevice> instead of SkDevice*
Change-Id: I0b296bf5b80adc19758a3dc99160be9d2ed05680
Reviewed-on: https://skia-review.googlesource.com/125160
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Herb Derby <herb@google.com>
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index bab344b..e6db22b 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -32,6 +32,7 @@
#include "SkImageInfoPriv.h"
#include "SkLiteDL.h"
#include "SkLiteRecorder.h"
+#include "SkMakeUnique.h"
#include "SkMallocPixelRef.h"
#include "SkMultiPictureDocumentPriv.h"
#include "SkMultiPictureDraw.h"
@@ -1800,9 +1801,9 @@
Error ThreadedSink::draw(const Src& src, SkBitmap* dst, SkWStream* stream, SkString* str) const {
this->allocPixels(src, dst);
- std::unique_ptr<SkThreadedBMPDevice> device(new SkThreadedBMPDevice(
- *dst, FLAGS_backendTiles, FLAGS_backendThreads, fExecutor.get()));
- std::unique_ptr<SkCanvas> canvas(new SkCanvas(device.get()));
+ auto canvas = skstd::make_unique<SkCanvas>(
+ sk_make_sp<SkThreadedBMPDevice>(
+ *dst, FLAGS_backendTiles, FLAGS_backendThreads, fExecutor.get()));
Error result = src.draw(canvas.get());
canvas->flush();
return result;