Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1036)

Unified Diff: android_webview/native/aw_contents.cc

Issue 12697002: [Android WebView] Provide more information about WebView for web debugging (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698