summaryrefslogtreecommitdiffstats
path: root/components/web_contents_delegate_android
diff options
context:
space:
mode:
authordtrainor <dtrainor@chromium.org>2015-01-27 12:15:53 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-27 20:16:50 +0000
commit25ee0c3fad8d124fa66174fdeedf028482015346 (patch)
tree6b39404025d83b1e0d34f74bb80a7ec964f2e83e /components/web_contents_delegate_android
parent334fb87a04c0a86aa4063c79ae5ae17eeb4ba875 (diff)
downloadchromium_src-25ee0c3fad8d124fa66174fdeedf028482015346.zip
chromium_src-25ee0c3fad8d124fa66174fdeedf028482015346.tar.gz
chromium_src-25ee0c3fad8d124fa66174fdeedf028482015346.tar.bz2
Remove most native WebContents references from Java
- Make all Tab#initialize(0 methods take a WebContents instead of a native WebContents pointer or a ContentViewCore. - Make ContentViewCore#initialize() take a java WebContents - Update methods in ContentViewUtil to no longer expose native WebContents. - Add WebContents#destroy() to handle deleting a native WebContents and Java WebContents object. - Remove many other references that cascade from these changes. Review URL: https://codereview.chromium.org/831523005 Cr-Commit-Position: refs/heads/master@{#313338}
Diffstat (limited to 'components/web_contents_delegate_android')
-rw-r--r--components/web_contents_delegate_android/android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java5
-rw-r--r--components/web_contents_delegate_android/web_contents_delegate_android.cc16
2 files changed, 16 insertions, 5 deletions
diff --git a/components/web_contents_delegate_android/android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java b/components/web_contents_delegate_android/android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java
index 5e56253..d04e16a 100644
--- a/components/web_contents_delegate_android/android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java
+++ b/components/web_contents_delegate_android/android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java
@@ -8,6 +8,7 @@ import android.view.KeyEvent;
import org.chromium.base.CalledByNative;
import org.chromium.base.JNINamespace;
+import org.chromium.content_public.browser.WebContents;
/**
* Java peer of the native class of the same name.
@@ -110,8 +111,8 @@ public class WebContentsDelegateAndroid {
}
@CalledByNative
- public void webContentsCreated(long sourceWebContents, long openerRenderFrameId,
- String frameName, String targetUrl, long newWebContents) {
+ public void webContentsCreated(WebContents sourceWebContents, long openerRenderFrameId,
+ String frameName, String targetUrl, WebContents newWebContents) {
}
@CalledByNative
diff --git a/components/web_contents_delegate_android/web_contents_delegate_android.cc b/components/web_contents_delegate_android/web_contents_delegate_android.cc
index 5c1b676..63b83a5 100644
--- a/components/web_contents_delegate_android/web_contents_delegate_android.cc
+++ b/components/web_contents_delegate_android/web_contents_delegate_android.cc
@@ -261,12 +261,22 @@ void WebContentsDelegateAndroid::WebContentsCreated(
ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
if (obj.is_null())
return;
- Java_WebContentsDelegateAndroid_webContentsCreated(env, obj.obj(),
- reinterpret_cast<intptr_t>(source_contents),
+
+ ScopedJavaLocalRef<jobject> jsource_contents;
+ if (source_contents)
+ jsource_contents = source_contents->GetJavaWebContents();
+ ScopedJavaLocalRef<jobject> jnew_contents;
+ if (new_contents)
+ jnew_contents = new_contents->GetJavaWebContents();
+
+ Java_WebContentsDelegateAndroid_webContentsCreated(
+ env,
+ obj.obj(),
+ jsource_contents.obj(),
opener_render_frame_id,
base::android::ConvertUTF16ToJavaString(env, frame_name).Release(),
base::android::ConvertUTF8ToJavaString(env, target_url.spec()).Release(),
- reinterpret_cast<intptr_t>(new_contents));
+ jnew_contents.obj());
}
void WebContentsDelegateAndroid::CloseContents(WebContents* source) {