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 3a2ec0289b06ffc94de3e8c874d1514db098db50..99d42accf1eee7ca581ce05e07ff77b1f4b1b52b 100644 |
--- a/android_webview/native/java_browser_view_renderer_helper.cc |
+++ b/android_webview/native/java_browser_view_renderer_helper.cc |
@@ -14,6 +14,7 @@ |
#include "third_party/skia/include/utils/SkCanvasStateUtils.h" |
using base::android::ScopedJavaLocalRef; |
+using base::android::JavaRef; |
namespace android_webview { |
@@ -26,7 +27,7 @@ AwDrawSWFunctionTable* g_sw_draw_functions = NULL; |
class JavaCanvasHolder : public SoftwareCanvasHolder { |
public: |
JavaCanvasHolder(JNIEnv* env, |
- jobject java_canvas, |
+ const JavaRef<jobject>& java_canvas, |
const gfx::Vector2d& scroll_correction); |
~JavaCanvasHolder() override; |
@@ -39,12 +40,12 @@ class JavaCanvasHolder : public SoftwareCanvasHolder { |
}; |
JavaCanvasHolder::JavaCanvasHolder(JNIEnv* env, |
- jobject java_canvas, |
+ const JavaRef<jobject>& java_canvas, |
const gfx::Vector2d& scroll) |
: pixels_(nullptr) { |
if (!g_sw_draw_functions) |
return; |
- pixels_ = g_sw_draw_functions->access_pixels(env, java_canvas); |
+ pixels_ = g_sw_draw_functions->access_pixels(env, java_canvas.obj()); |
if (!pixels_ || !pixels_->state) |
return; |
@@ -76,7 +77,7 @@ SkCanvas* JavaCanvasHolder::GetCanvas() { |
class AuxiliaryCanvasHolder : public SoftwareCanvasHolder { |
public: |
AuxiliaryCanvasHolder(JNIEnv* env, |
- jobject java_canvas, |
+ const JavaRef<jobject>& java_canvas, |
const gfx::Vector2d& scroll_correction, |
const gfx::Size size); |
~AuxiliaryCanvasHolder() override; |
@@ -94,10 +95,10 @@ class AuxiliaryCanvasHolder : public SoftwareCanvasHolder { |
AuxiliaryCanvasHolder::AuxiliaryCanvasHolder( |
JNIEnv* env, |
- jobject java_canvas, |
+ const JavaRef<jobject>& java_canvas, |
const gfx::Vector2d& scroll_correction, |
const gfx::Size size) |
- : jcanvas_(env, java_canvas), scroll_(scroll_correction) { |
+ : jcanvas_(java_canvas), scroll_(scroll_correction) { |
DCHECK(size.width() > 0); |
DCHECK(size.height() > 0); |
jbitmap_ = Java_JavaBrowserViewRendererHelper_createBitmap( |
@@ -150,7 +151,7 @@ void RasterHelperSetAwDrawSWFunctionTable(AwDrawSWFunctionTable* table) { |
// static |
scoped_ptr<SoftwareCanvasHolder> SoftwareCanvasHolder::Create( |
- jobject java_canvas, |
+ const JavaRef<jobject>& java_canvas, |
const gfx::Vector2d& scroll_correction, |
const gfx::Size& auxiliary_bitmap_size, |
bool force_auxiliary_bitmap) { |