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..69b184e162435b8319dd7b8abd69aa69e82f7976 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,13 +22,14 @@ 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 are any saved {@link AsyncTabParams} with a tab to reparent. |
*/ |
- public static boolean hasParamsForTabId(int tabId) { |
- return sAsyncTabParams.get(tabId) != null; |
+ public static boolean hasParamsWithTabToReparent() { |
+ return sNumOfParamsWithTabToReparent > 0; |
} |
/** |
@@ -35,6 +37,7 @@ public class AsyncTabParamsManager { |
*/ |
public static AsyncTabParams remove(int tabId) { |
AsyncTabParams data = sAsyncTabParams.get(tabId); |
+ if (data != null && data.getTabToReparent() != null) sNumOfParamsWithTabToReparent--; |
sAsyncTabParams.remove(tabId); |
return data; |
} |