| Index: android_webview/native/java_browser_view_renderer_helper.cc
|
| diff --git a/android_webview/native/java_browser_view_renderer_helper.cc b/android_webview/native/java_browser_view_renderer_helper.cc
|
| index 348926d6c3e6dcb0cba85c6be9c6fd0c5c7f0ce0..587511940d135f9d92e46714c66da4dc8f34fd04 100644
|
| --- a/android_webview/native/java_browser_view_renderer_helper.cc
|
| +++ b/android_webview/native/java_browser_view_renderer_helper.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/trace_event/trace_event.h"
|
| #include "jni/JavaBrowserViewRendererHelper_jni.h"
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| +#include "third_party/skia/include/core/SkRefCnt.h"
|
| #include "third_party/skia/include/utils/SkCanvasStateUtils.h"
|
|
|
| using base::android::ScopedJavaLocalRef;
|
| @@ -34,7 +35,7 @@ class JavaCanvasHolder : public SoftwareCanvasHolder {
|
|
|
| private:
|
| AwPixelInfo* pixels_;
|
| - skia::RefPtr<SkCanvas> canvas_;
|
| + sk_sp<SkCanvas> canvas_;
|
| DISALLOW_COPY_AND_ASSIGN(JavaCanvasHolder);
|
| };
|
|
|
| @@ -48,14 +49,14 @@ JavaCanvasHolder::JavaCanvasHolder(JNIEnv* env,
|
| if (!pixels_ || !pixels_->state)
|
| return;
|
|
|
| - canvas_ =
|
| - skia::AdoptRef(SkCanvasStateUtils::CreateFromCanvasState(pixels_->state));
|
| + canvas_ = sk_sp<SkCanvas>(
|
| + SkCanvasStateUtils::CreateFromCanvasState(pixels_->state));
|
| // Workarounds for http://crbug.com/271096: SW draw only supports
|
| // translate & scale transforms, and a simple rectangular clip.
|
| if (canvas_ && (!canvas_->isClipRect() ||
|
| (canvas_->getTotalMatrix().getType() &
|
| ~(SkMatrix::kTranslate_Mask | SkMatrix::kScale_Mask)))) {
|
| - canvas_.clear();
|
| + canvas_.reset();
|
| }
|
| if (canvas_) {
|
| canvas_->translate(scroll.x(), scroll.y());
|
| @@ -63,7 +64,6 @@ JavaCanvasHolder::JavaCanvasHolder(JNIEnv* env,
|
| }
|
|
|
| JavaCanvasHolder::~JavaCanvasHolder() {
|
| - canvas_.clear();
|
| if (pixels_)
|
| g_sw_draw_functions->release_pixels(pixels_);
|
| pixels_ = nullptr;
|
| @@ -88,7 +88,7 @@ class AuxiliaryCanvasHolder : public SoftwareCanvasHolder {
|
| ScopedJavaLocalRef<jobject> jbitmap_;
|
| gfx::Vector2d scroll_;
|
| std::unique_ptr<SkBitmap> bitmap_;
|
| - skia::RefPtr<SkCanvas> canvas_;
|
| + sk_sp<SkCanvas> canvas_;
|
| DISALLOW_COPY_AND_ASSIGN(AuxiliaryCanvasHolder);
|
| };
|
|
|
| @@ -121,11 +121,10 @@ AuxiliaryCanvasHolder::AuxiliaryCanvasHolder(
|
| SkImageInfo::MakeN32Premul(bitmap_info.width, bitmap_info.height);
|
| bitmap_.reset(new SkBitmap);
|
| bitmap_->installPixels(info, pixels, bitmap_info.stride);
|
| - canvas_ = skia::AdoptRef(new SkCanvas(*bitmap_));
|
| + canvas_ = sk_make_sp<SkCanvas>(*bitmap_);
|
| }
|
|
|
| AuxiliaryCanvasHolder::~AuxiliaryCanvasHolder() {
|
| - canvas_.clear();
|
| bitmap_.reset();
|
|
|
| JNIEnv* env = base::android::AttachCurrentThread();
|
|
|