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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java

Issue 831523005: Remove most native WebContents references from Java (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Kept same error checking behavior for aw_contents.cc Created 5 years, 11 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: chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java
index e604aa4c4800b27618961d787503cce55026621b..6dd8ef87033ca5d9d46983f42b742889597d5220 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/prerender/ExternalPrerenderHandler.java
@@ -8,6 +8,7 @@ import org.chromium.base.JNINamespace;
import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.browser.ContentViewUtil;
import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.content_public.browser.WebContents;
/**
* A handler class for prerender requests coming from other applications.
@@ -28,16 +29,18 @@ public class ExternalPrerenderHandler {
* @param referrer The referrer for the prerender request.
* @param width The width for the content view (render widget host view) for the prerender.
* @param height The height for the content view (render widget host view) for the prerender.
- * @return The native web contents pointer that is linked to this prerender. 0 if unsuccessful.
+ * @return The {@link WebContents} that is linked to this prerender. {@code null} if
+ * unsuccessful.
*/
- public long addPrerender(Profile profile, String url, String referrer, int width, int height) {
- long webContentsPtr = ContentViewUtil.createNativeWebContents(false);
- if (nativeAddPrerender(mNativeExternalPrerenderHandler, profile, webContentsPtr,
+ public WebContents addPrerender(Profile profile, String url, String referrer, int width,
+ int height) {
+ WebContents webContents = ContentViewUtil.createWebContents(false, false);
+ if (nativeAddPrerender(mNativeExternalPrerenderHandler, profile, webContents,
url, referrer, width, height)) {
- return webContentsPtr;
+ return webContents;
}
- ContentViewUtil.destroyNativeWebContents(webContentsPtr);
- return 0;
+ if (webContents != null) webContents.destroy();
+ return null;
}
/**
@@ -52,11 +55,11 @@ public class ExternalPrerenderHandler {
* given web contents.
* @param profile The profile to check for prerendering.
* @param url The url to check for prerender.
- * @param webContentsPtr The native pointer for which to compare the session info.
+ * @param webContents The {@link WebContents} for which to compare the session info.
* @return Whether the given url was prerendered.
*/
- public static boolean hasPrerenderedUrl(Profile profile, String url, long webContentsPtr) {
- return nativeHasPrerenderedUrl(profile, url, webContentsPtr);
+ public static boolean hasPrerenderedUrl(Profile profile, String url, WebContents webContents) {
+ return nativeHasPrerenderedUrl(profile, url, webContents);
}
/**
@@ -73,9 +76,9 @@ public class ExternalPrerenderHandler {
private static native long nativeInit();
private static native boolean nativeAddPrerender(
long nativeExternalPrerenderHandlerAndroid, Profile profile,
- long webContentsPtr, String url, String referrer, int width, int height);
+ WebContents webContents, String url, String referrer, int width, int height);
private static native boolean nativeHasPrerenderedUrl(
- Profile profile, String url, long webContentsPtr);
+ Profile profile, String url, WebContents webContents);
private static native boolean nativeHasCookieStoreLoaded(
Profile profile);
private static native void nativeCancelCurrentPrerender(

Powered by Google App Engine
This is Rietveld 408576698