Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java |
index 66e42207d2b4c0c07a7f30b08f6ee3574cc5cdd2..f587a7c2b2ea6ba25f125909ca7e96ad35e62e83 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java |
@@ -173,6 +173,26 @@ public class TabWindowManager implements ActivityStateListener { |
return AsyncTabParamsManager.hasParamsForTabId(tabId); |
} |
+ /** |
+ * @param tabId The ID of the tab in question. |
+ * @return Specified {@link Tab} or {@code null} if the {@link Tab} is not found. |
+ */ |
+ public Tab getTabById(int tabId) { |
+ for (int i = 0; i < mSelectors.size(); i++) { |
+ TabModelSelector selector = mSelectors.get(i); |
+ if (selector != null) { |
+ final Tab tab = selector.getTabById(tabId); |
+ if (tab != null) return tab; |
+ } |
+ } |
+ |
+ if (AsyncTabParamsManager.hasParamsForTabId(tabId)) { |
+ return AsyncTabParamsManager.getAsyncTabParams().get(tabId).getTabToReparent(); |
+ } |
+ |
+ return null; |
+ } |
+ |
@Override |
public void onActivityStateChange(Activity activity, int newState) { |
if (newState == ActivityState.DESTROYED && mAssignments.containsKey(activity)) { |