Refactor SkLiteDL to no longer extend SkDrawable.

Change-Id: Ieaa849bceba0e98e4c99491c721fe945a0694e68
Reviewed-on: https://skia-review.googlesource.com/9111
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
diff --git a/bench/PictureOverheadBench.cpp b/bench/PictureOverheadBench.cpp
index 27424a2..1fea9e9 100644
--- a/bench/PictureOverheadBench.cpp
+++ b/bench/PictureOverheadBench.cpp
@@ -25,14 +25,15 @@
     void onDraw(int loops, SkCanvas*) override {
         SkLiteRecorder lite;
         SkPictureRecorder rec;
-        for (int i = 0; i < loops; i++) {
-            SkRect bounds{0,0, 2000,3000};
 
-            sk_sp<SkLiteDL> liteDL;
+        SkIRect iBounds = {0,0, 2000,3000};
+        SkRect bounds = SkRect::Make(iBounds);
+
+        for (int i = 0; i < loops; i++) {
+            SkLiteDL liteDL;
             SkCanvas* canvas;
             if (kLite) {
-                liteDL = SkLiteDL::New(bounds);
-                lite.reset(liteDL.get());
+                lite.reset(&liteDL, iBounds);
                 canvas = &lite;
             } else {
                 rec.beginRecording(bounds);
diff --git a/bench/RecordingBench.cpp b/bench/RecordingBench.cpp
index 69be911..aa31052 100644
--- a/bench/RecordingBench.cpp
+++ b/bench/RecordingBench.cpp
@@ -40,9 +40,9 @@
 {
     // If we're recording into an SkLiteDL, also record _from_ one.
     if (lite) {
-        fDL = SkLiteDL::New(fSrc->cullRect());
+        fDL.reset(new SkLiteDL());
         SkLiteRecorder r;
-        r.reset(fDL.get());
+        r.reset(fDL.get(), fSrc->cullRect().roundOut());
         fSrc->playback(&r);
     }
 }
@@ -51,10 +51,10 @@
     if (fDL) {
         SkLiteRecorder rec;
         while (loops --> 0) {
-            sk_sp<SkLiteDL> dl = SkLiteDL::New(fSrc->cullRect());
-            rec.reset(dl.get());
+            SkLiteDL dl;
+            rec.reset(&dl, fSrc->cullRect().roundOut());
             fDL->draw(&rec);
-            dl->makeThreadsafe();
+            dl.makeThreadsafe();
         }
 
     } else {
diff --git a/bench/RecordingBench.h b/bench/RecordingBench.h
index 4e34276..beaea3e 100644
--- a/bench/RecordingBench.h
+++ b/bench/RecordingBench.h
@@ -36,7 +36,7 @@
     void onDraw(int loops, SkCanvas*) override;
 
 private:
-    sk_sp<SkLiteDL> fDL;
+    std::unique_ptr<SkLiteDL> fDL;
     bool fUseBBH;
 
     typedef PictureCentricBench INHERITED;