diff options
author | dtrainor <dtrainor@chromium.org> | 2015-01-27 12:15:53 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-27 20:16:50 +0000 |
commit | 25ee0c3fad8d124fa66174fdeedf028482015346 (patch) | |
tree | 6b39404025d83b1e0d34f74bb80a7ec964f2e83e /components/web_contents_delegate_android | |
parent | 334fb87a04c0a86aa4063c79ae5ae17eeb4ba875 (diff) | |
download | chromium_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')
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) { |