OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "android_webview/native/java_browser_view_renderer_helper.h" | 5 #include "android_webview/native/java_browser_view_renderer_helper.h" |
6 | 6 |
7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.h" |
8 #include "jni/JavaBrowserViewRendererHelper_jni.h" | 8 #include "jni/JavaBrowserViewRendererHelper_jni.h" |
9 | 9 |
10 using base::android::JavaRef; | 10 using base::android::JavaRef; |
11 using base::android::ScopedJavaLocalRef; | 11 using base::android::ScopedJavaLocalRef; |
12 | 12 |
13 namespace android_webview { | 13 namespace android_webview { |
14 | 14 |
15 JavaBrowserViewRendererHelper::JavaBrowserViewRendererHelper() { | 15 JavaBrowserViewRendererHelper::JavaBrowserViewRendererHelper() { |
16 } | 16 } |
17 | 17 |
18 JavaBrowserViewRendererHelper::~JavaBrowserViewRendererHelper() { | 18 JavaBrowserViewRendererHelper::~JavaBrowserViewRendererHelper() { |
19 } | 19 } |
20 | 20 |
21 ScopedJavaLocalRef<jobject> JavaBrowserViewRendererHelper::CreateBitmap( | 21 ScopedJavaLocalRef<jobject> JavaBrowserViewRendererHelper::CreateBitmap( |
22 JNIEnv* env, | 22 JNIEnv* env, |
23 int width, | 23 int width, |
24 int height) { | 24 int height, |
| 25 const base::android::JavaRef<jobject>& jcanvas) { |
25 TRACE_EVENT0("android_webview", "RendererHelper::CreateBitmap"); | 26 TRACE_EVENT0("android_webview", "RendererHelper::CreateBitmap"); |
26 return width <= 0 || height <= 0 ? ScopedJavaLocalRef<jobject>() : | 27 return width <= 0 || height <= 0 ? ScopedJavaLocalRef<jobject>() : |
27 Java_JavaBrowserViewRendererHelper_createBitmap(env, width, height); | 28 Java_JavaBrowserViewRendererHelper_createBitmap(env, width, height, |
| 29 jcanvas.obj()); |
28 } | 30 } |
29 | 31 |
30 void JavaBrowserViewRendererHelper::DrawBitmapIntoCanvas( | 32 void JavaBrowserViewRendererHelper::DrawBitmapIntoCanvas( |
31 JNIEnv* env, | 33 JNIEnv* env, |
32 const JavaRef<jobject>& jbitmap, | 34 const JavaRef<jobject>& jbitmap, |
33 const JavaRef<jobject>& jcanvas, | 35 const JavaRef<jobject>& jcanvas, |
34 int x, | 36 int x, |
35 int y) { | 37 int y) { |
36 TRACE_EVENT0("android_webview", "RendererHelper::DrawBitmapIntoCanvas"); | 38 TRACE_EVENT0("android_webview", "RendererHelper::DrawBitmapIntoCanvas"); |
37 Java_JavaBrowserViewRendererHelper_drawBitmapIntoCanvas( | 39 Java_JavaBrowserViewRendererHelper_drawBitmapIntoCanvas( |
38 env, jbitmap.obj(), jcanvas.obj(), x, y); | 40 env, jbitmap.obj(), jcanvas.obj(), x, y); |
39 } | 41 } |
40 | 42 |
41 ScopedJavaLocalRef<jobject> | 43 ScopedJavaLocalRef<jobject> |
42 JavaBrowserViewRendererHelper::RecordBitmapIntoPicture( | 44 JavaBrowserViewRendererHelper::RecordBitmapIntoPicture( |
43 JNIEnv* env, | 45 JNIEnv* env, |
44 const JavaRef<jobject>& jbitmap) { | 46 const JavaRef<jobject>& jbitmap) { |
45 TRACE_EVENT0("android_webview", "RendererHelper::RecordBitmapIntoPicture"); | 47 TRACE_EVENT0("android_webview", "RendererHelper::RecordBitmapIntoPicture"); |
46 return Java_JavaBrowserViewRendererHelper_recordBitmapIntoPicture( | 48 return Java_JavaBrowserViewRendererHelper_recordBitmapIntoPicture( |
47 env, jbitmap.obj()); | 49 env, jbitmap.obj()); |
48 } | 50 } |
49 | 51 |
50 bool RegisterJavaBrowserViewRendererHelper(JNIEnv* env) { | 52 bool RegisterJavaBrowserViewRendererHelper(JNIEnv* env) { |
51 return RegisterNativesImpl(env) >= 0; | 53 return RegisterNativesImpl(env) >= 0; |
52 } | 54 } |
53 | 55 |
54 } // namespace android_webview | 56 } // namespace android_webview |
OLD | NEW |