split SkPictureRecorder out of SkPicture

https://codereview.chromium.org/214953003/



git-svn-id: http://skia.googlecode.com/svn/trunk@14171 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/debugger/SkDebugger.cpp b/debugger/SkDebugger.cpp
index 82b26a1..5bdc8a9 100644
--- a/debugger/SkDebugger.cpp
+++ b/debugger/SkDebugger.cpp
@@ -41,8 +41,8 @@
 SkPicture* SkDebugger::copyPicture() {
     // We can't just call clone here since we want to removed the "deleted"
     // commands. Playing back will strip those out.
-    SkPicture* newPicture = new SkPicture;
-    SkCanvas* canvas = newPicture->beginRecording(fPictureWidth, fPictureHeight);
+    SkPictureRecorder recorder;
+    SkCanvas* canvas = recorder.beginRecording(fPictureWidth, fPictureHeight);
 
     bool vizMode = fDebugCanvas->getMegaVizMode();
     fDebugCanvas->setMegaVizMode(false);
@@ -62,8 +62,7 @@
     fDebugCanvas->setOverdrawViz(overDraw);
     fDebugCanvas->setOutstandingSaveCount(saveCount);
 
-    newPicture->endRecording();
-    return newPicture;
+    return recorder.endRecording();
 }
 
 void SkDebugger::getOverviewText(const SkTDArray<double>* typeTimes,