Chromium Code Reviews| Index: android_webview/native/aw_contents.cc |
| diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc |
| index f740291f25fc9e02c4696e9d8e8d5d359bd86b99..a7b7c9681ae4de507b9a30d7e794194516e23de8 100644 |
| --- a/android_webview/native/aw_contents.cc |
| +++ b/android_webview/native/aw_contents.cc |
| @@ -21,6 +21,7 @@ |
| #include "base/android/jni_android.h" |
| #include "base/android/jni_array.h" |
| #include "base/android/jni_string.h" |
| +#include "base/android/scoped_java_ref.h" |
| #include "base/bind.h" |
| #include "base/callback.h" |
| #include "base/message_loop.h" |
| @@ -110,6 +111,13 @@ AwContents* AwContents::FromID(int render_process_id, int render_view_id) { |
| return FromWebContents(web_contents); |
| } |
| +// static |
| +BrowserViewRenderer* BrowserViewRenderer::FromWebContents( |
|
joth
2013/03/08 23:23:46
this is really weird here!
BrowserViewRenderer is
mnaganov (inactive)
2013/03/11 14:39:20
I would be using AwContents directly (because I'm
|
| + content::WebContents* web_contents) { |
| + AwContents* aw_contents = AwContents::FromWebContents(web_contents); |
| + return aw_contents ? aw_contents->browser_view_renderer() : NULL; |
| +} |
| + |
| AwContents::AwContents(JNIEnv* env, |
| jobject obj, |
| jobject web_contents_delegate, |
| @@ -672,6 +680,26 @@ jint AwContents::ReleasePopupWebContents(JNIEnv* env, jobject obj) { |
| return reinterpret_cast<jint>(pending_contents_.release()); |
| } |
| +bool AwContents::isAttachedToViewHierarchy() { |
| + JNIEnv* env = AttachCurrentThread(); |
| + ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| + if (!obj.is_null()) |
| + return Java_AwContents_isAttachedToViewHierarchy(env, obj.obj()); |
| + return false; |
| +} |
| + |
| +gfx::Point AwContents::getLocationOnScreen() { |
| + JNIEnv* env = AttachCurrentThread(); |
| + ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| + if (obj.is_null()) return gfx::Point(); |
| + std::vector<int> location; |
| + base::android::JavaIntArrayToIntVector( |
| + env, |
| + Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), |
| + &location); |
| + return gfx::Point(location[0], location[1]); |
| +} |
| + |
| ScopedJavaLocalRef<jobject> AwContents::CapturePicture(JNIEnv* env, |
| jobject obj) { |
| return browser_view_renderer_->CapturePicture(); |