Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/AsyncTabParamsManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/AsyncTabParamsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/AsyncTabParamsManager.java |
index e5f91d690bf390801b4228411fd356ab1590078e..4f3b1f95a03c8208ebb0afb2ef535a5a300dfb3b 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/AsyncTabParamsManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/AsyncTabParamsManager.java |
@@ -13,6 +13,7 @@ import android.util.SparseArray; |
public class AsyncTabParamsManager { |
/** A map of tab IDs to AsyncTabParams consumed by Activities started asynchronously. */ |
private static final SparseArray<AsyncTabParams> sAsyncTabParams = new SparseArray<>(); |
+ private static int sNumOfParamsWithTabToReparent; |
/** |
* Stores AsyncTabParams used when the tab with the given ID is launched via intent. |
@@ -21,20 +22,31 @@ public class AsyncTabParamsManager { |
*/ |
public static void add(int tabId, AsyncTabParams params) { |
sAsyncTabParams.put(tabId, params); |
+ if (params != null && params.getTabToReparent() != null) sNumOfParamsWithTabToReparent++; |
} |
/** |
- * @return Whether there are any saved {@link AsyncTabParams} with the given tab id. |
+ * @return Whether there is already an {@link AsyncTabParams} added for the given ID. |
*/ |
public static boolean hasParamsForTabId(int tabId) { |
return sAsyncTabParams.get(tabId) != null; |
} |
/** |
+ * @return Whether there are any saved {@link AsyncTabParams} with a tab to reparent. All |
+ * implementations of this are keyed off of a user gesture so the likelihood of having |
+ * more than one is zero. |
+ */ |
+ public static boolean hasParamsWithTabToReparent() { |
+ return sNumOfParamsWithTabToReparent > 0; |
Ted C
2016/02/26 18:46:29
if you think the number of pending tabs will be at
Yusuf
2016/02/26 19:39:52
Done.
|
+ } |
+ |
+ /** |
* @return Retrieves and removes AsyncTabCreationParams for a particular tab id. |
*/ |
public static AsyncTabParams remove(int tabId) { |
AsyncTabParams data = sAsyncTabParams.get(tabId); |
+ if (data != null && data.getTabToReparent() != null) sNumOfParamsWithTabToReparent--; |
sAsyncTabParams.remove(tabId); |
return data; |
} |