Fixing Chromium Android build's reliance on old SkPicture recording API

Skia is moving to an API where SkPicture can no longer invoke beginRecording/endRecording on itself. This functionality is deferred to a separate SkPictureRecorder object to clarify when SkPictures are complete (and make them immutable). This CL updates webview to the new interface.

torne for OWNER review
fmalita for skia-side review

Review URL: https://codereview.chromium.org/251843005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267210 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/android_webview/browser/browser_view_renderer.cc b/android_webview/browser/browser_view_renderer.cc
index 937ed132..9e9711d 100644
--- a/android_webview/browser/browser_view_renderer.cc
+++ b/android_webview/browser/browser_view_renderer.cc
@@ -17,6 +17,7 @@
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkPicture.h"
+#include "third_party/skia/include/core/SkPictureRecorder.h"
 #include "ui/gfx/vector2d_conversions.h"
 
 using base::android::AttachCurrentThread;
@@ -146,9 +147,8 @@
   TRACE_EVENT0("android_webview", "BrowserViewRenderer::CapturePicture");
 
   // Return empty Picture objects for empty SkPictures.
-  skia::RefPtr<SkPicture> picture = skia::AdoptRef(new SkPicture);
   if (width <= 0 || height <= 0) {
-    return picture;
+    return skia::AdoptRef(new SkPicture);
   }
 
   // Reset scroll back to the origin, will go back to the old
@@ -156,11 +156,11 @@
   AutoResetWithLock scroll_reset(
       &scroll_offset_dip_, gfx::Vector2dF(), scroll_offset_dip_lock_);
 
-  SkCanvas* rec_canvas = picture->beginRecording(width, height, 0);
+  SkPictureRecorder recorder;
+  SkCanvas* rec_canvas = recorder.beginRecording(width, height, NULL, 0);
   if (has_compositor_)
     CompositeSW(rec_canvas);
-  picture->endRecording();
-  return picture;
+  return skia::AdoptRef(recorder.endRecording());
 }
 
 void BrowserViewRenderer::EnableOnNewPicture(bool enabled) {