Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / android / java / src / org / chromium / chrome / browser / prerender / ExternalPrerenderHandler.java
index b96062e..e604aa4 100644 (file)
@@ -5,6 +5,7 @@
 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;
 
@@ -20,6 +21,15 @@ public class ExternalPrerenderHandler {
         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,
@@ -30,15 +40,33 @@ public class ExternalPrerenderHandler {
         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);
     }