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

Unified Diff: content/browser/web_contents/web_contents_android.cc

Issue 2681933002: Add Java wrapper for RenderFrameHost (Closed)
Patch Set: Fix potential dtor problem Created 3 years, 10 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: content/browser/web_contents/web_contents_android.cc
diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc
index c373a2060f6f4e442b9338f7d189acc35f3e9c48..bdfaca542d1e444aff14bf210007eccd3cabdbd2 100644
--- a/content/browser/web_contents/web_contents_android.cc
+++ b/content/browser/web_contents/web_contents_android.cc
@@ -232,6 +232,23 @@ static void DestroyWebContents(JNIEnv* env,
}
// static
+ScopedJavaLocalRef<jobject> FromRenderFrameHost(
boliu 2017/02/16 01:00:58 this is a really convoluted way to implement this.
rwlbuis 2017/03/01 21:53:57 Ok I added RenderFrameHostDelegate.
+ JNIEnv* env,
+ const JavaParamRef<jclass>& clazz,
+ const JavaParamRef<jobject>& jrender_frame_host_android) {
+ RenderFrameHost* rfh =
+ RenderFrameHost::FromJavaRenderFrameHost(jrender_frame_host_android);
+ if (!rfh)
+ return ScopedJavaLocalRef<jobject>();
+
+ WebContents* webContents = WebContents::FromRenderFrameHost(rfh);
+ if (!webContents)
+ return ScopedJavaLocalRef<jobject>();
+
+ return webContents->GetJavaWebContents();
+}
+
+// static
ScopedJavaLocalRef<jobject> FromNativePtr(JNIEnv* env,
const JavaParamRef<jclass>& clazz,
jlong web_contents_ptr) {
@@ -285,6 +302,12 @@ WebContentsAndroid::GetJavaObject() {
return base::android::ScopedJavaLocalRef<jobject>(obj_);
}
+ScopedJavaLocalRef<jobject> WebContentsAndroid::GetMainFrame(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& obj) const {
+ return web_contents_->GetMainFrame()->GetJavaRenderFrameHost();
+}
+
ScopedJavaLocalRef<jstring> WebContentsAndroid::GetTitle(
JNIEnv* env,
const JavaParamRef<jobject>& obj) const {

Powered by Google App Engine
This is Rietveld 408576698