Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java |
| index 212f0ef590ac27fc24a108704e65a6e4995cdbff..1117a17c47ee93010c85c0f3dc98dce8540d0741 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java |
| @@ -131,6 +131,7 @@ class ClientManager { |
| private KeepAliveServiceConnection mKeepAliveConnection; |
| private String mPredictedUrl; |
| private long mLastMayLaunchUrlTimestamp; |
| + private int mSpeculationMode; |
| public SessionParams(Context context, int uid, DisconnectCallback callback, |
| PostMessageHandler postMessageHandler) { |
| @@ -138,6 +139,7 @@ class ClientManager { |
| packageName = getPackageName(context, uid); |
| disconnectCallback = callback; |
| this.postMessageHandler = postMessageHandler; |
| + this.mSpeculationMode = CustomTabsConnection.SpeculationParams.PRERENDER; |
| } |
| private static String getPackageName(Context context, int uid) { |
| @@ -450,6 +452,21 @@ class ClientManager { |
| if (params != null) params.mShouldPrerenderOnCellular = prerender; |
| } |
| + /** |
| + * Sets the speculation mode to be used by default for given session. |
| + */ |
| + public synchronized void setSpeculationModeForSession( |
| + CustomTabsSessionToken session, int speculationMode) { |
| + SessionParams params = mSessionParams.get(session); |
| + if (params != null) params.mSpeculationMode = speculationMode; |
| + } |
| + |
| + public synchronized int getSpeculationModeForSession(CustomTabsSessionToken session) { |
|
Benoit L
2017/03/27 13:18:14
tiny nit: I'm usually all for not adding javadoc t
ahemery1
2017/03/27 14:47:33
Done.
|
| + SessionParams params = mSessionParams.get(session); |
| + return params == null ? CustomTabsConnection.SpeculationParams.PRERENDER |
| + : params.mSpeculationMode; |
| + } |
| + |
| /** Tries to bind to a client to keep it alive, and returns true for success. */ |
| public synchronized boolean keepAliveForSession(CustomTabsSessionToken session, Intent intent) { |
| // When an application is bound to a service, its priority is raised to |