Chromium Code Reviews| 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..3854efec875ac1dd5ad728a115302c257e6c6bf8 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) { |
| + public static boolean peek(int tabId) { |
|
Ted C
2016/02/25 20:05:22
i like the previous name personally
unless you wa
Yusuf
2016/02/25 23:05:00
Tempting....
Done.
|
| 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; |
| + } |
| + |
| + /** |
| * @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; |
| } |