package org.chromium.chrome.browser.prerender;
import org.chromium.base.JNINamespace;
+import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.browser.ContentViewUtil;
import org.chromium.chrome.browser.profiles.Profile;
mNativeExternalPrerenderHandler = nativeInit();
}
+ /**
+ * Add a prerender for the given url and given content view dimensions.
+ * @param profile The profile to use for the prerender.
+ * @param url The url to prerender.
+ * @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.
+ */
public long addPrerender(Profile profile, String url, String referrer, int width, int height) {
long webContentsPtr = ContentViewUtil.createNativeWebContents(false);
if (nativeAddPrerender(mNativeExternalPrerenderHandler, profile, webContentsPtr,
return 0;
}
+ /**
+ * Cancel the current prerender action on this {@link ExternalPrerenderHandler}.
+ */
public void cancelCurrentPrerender() {
nativeCancelCurrentPrerender(mNativeExternalPrerenderHandler);
}
+ /**
+ * Check whether a given url has been prerendering for the given profile and session id for the
+ * 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.
+ * @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 hasCookieStoreLoaded(Profile profile) {
+ /**
+ * Check whether the cookie store has been loaded. This is needed for prerender manager to allow
+ * to add prerenders and this call is to be used to wait until that happens in tests.
+ * @param profile The profile to be used.
+ * @return Whether the cookie store has been loaded.
+ */
+ @VisibleForTesting
+ public static boolean checkCookieStoreLoadedForTesting(Profile profile) {
return nativeHasCookieStoreLoaded(profile);
}