[graphite] Remove ref counting from Recorder.

Bug: skia:12794
Change-Id: Iefdc2d84991a542533d13c227051c372459564db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/494241
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index 2b207ac..6eda694 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -2164,7 +2164,7 @@
         precompile(context.get());
     }
 
-    sk_sp<skgpu::Recorder> recorder = context->createRecorder();
+    std::unique_ptr<skgpu::Recorder> recorder = context->makeRecorder();
     if (!recorder) {
         return Result::Fatal("Could not create a recorder.");
     }
diff --git a/experimental/graphite/include/Context.h b/experimental/graphite/include/Context.h
index 58168f3..921c006 100644
--- a/experimental/graphite/include/Context.h
+++ b/experimental/graphite/include/Context.h
@@ -63,7 +63,7 @@
 
     BackendApi backend() const { return fBackend; }
 
-    sk_sp<Recorder> createRecorder();
+    std::unique_ptr<Recorder> makeRecorder();
 
     void insertRecording(std::unique_ptr<Recording>);
     void submit(SyncToCpu = SyncToCpu::kNo);
diff --git a/experimental/graphite/include/Recorder.h b/experimental/graphite/include/Recorder.h
index 496d9e9..5438a07 100644
--- a/experimental/graphite/include/Recorder.h
+++ b/experimental/graphite/include/Recorder.h
@@ -19,9 +19,9 @@
 class Recording;
 class UniformCache;
 
-class Recorder final : public SkRefCnt {
+class Recorder final {
 public:
-    ~Recorder() override;
+    ~Recorder();
 
     void add(sk_sp<Task>);
 
diff --git a/experimental/graphite/src/Context.cpp b/experimental/graphite/src/Context.cpp
index 74cf936..58abcb8 100644
--- a/experimental/graphite/src/Context.cpp
+++ b/experimental/graphite/src/Context.cpp
@@ -45,8 +45,8 @@
 }
 #endif
 
-sk_sp<Recorder> Context::createRecorder() {
-    return sk_sp<Recorder>(new Recorder(sk_ref_sp(this)));
+std::unique_ptr<Recorder> Context::makeRecorder() {
+    return std::unique_ptr<Recorder>(new Recorder(sk_ref_sp(this)));
 }
 
 void Context::insertRecording(std::unique_ptr<Recording> recording) {
diff --git a/tests/graphite/BackendTextureTest.cpp b/tests/graphite/BackendTextureTest.cpp
index c8a4344..ca1b2f6 100644
--- a/tests/graphite/BackendTextureTest.cpp
+++ b/tests/graphite/BackendTextureTest.cpp
@@ -73,7 +73,7 @@
     // formats, color types, etc.
 
     auto caps = context->priv().gpu()->caps();
-    sk_sp<Recorder> recorder = context->createRecorder();
+    std::unique_ptr<Recorder> recorder = context->makeRecorder();
 
     TextureInfo info = caps->getDefaultSampledTextureInfo(kRGBA_8888_SkColorType,
                                                           /*levelCount=*/1,
diff --git a/tests/graphite/RecorderTest.cpp b/tests/graphite/RecorderTest.cpp
index 552be3c..5f66a75 100644
--- a/tests/graphite/RecorderTest.cpp
+++ b/tests/graphite/RecorderTest.cpp
@@ -15,7 +15,7 @@
 
 // Tests to make sure the managing of back pointers between Recorder and Device all work properly.
 DEF_GRAPHITE_TEST_FOR_CONTEXTS(RecorderDevicePtrTest, reporter, context) {
-    sk_sp<Recorder> recorder = context->createRecorder();
+    std::unique_ptr<Recorder> recorder = context->makeRecorder();
 
     SkImageInfo info = SkImageInfo::Make({16, 16}, kRGBA_8888_SkColorType, kPremul_SkAlphaType);
 
diff --git a/tests/graphite/UniformCacheTest.cpp b/tests/graphite/UniformCacheTest.cpp
index f101b59..20ecaeb 100644
--- a/tests/graphite/UniformCacheTest.cpp
+++ b/tests/graphite/UniformCacheTest.cpp
@@ -41,7 +41,7 @@
 } // anonymous namespace
 
 DEF_GRAPHITE_TEST_FOR_CONTEXTS(UniformCacheTest, reporter, context) {
-    sk_sp<Recorder> recorder = context->createRecorder();
+    std::unique_ptr<Recorder> recorder = context->makeRecorder();
 
     auto cache = recorder->uniformCache();