| Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java
|
| index 6e335747cf499238449c29497abb19af9f6028e1..b6d91af77f9f66e7444e9f26206dc38c924e560a 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java
|
| @@ -16,6 +16,7 @@ import android.os.Build;
|
| import android.text.TextUtils;
|
|
|
| import org.chromium.base.ApplicationStatus;
|
| +import org.chromium.chrome.browser.ChromeActivity;
|
| import org.chromium.chrome.browser.Tab;
|
| import org.chromium.chrome.browser.UrlConstants;
|
| import org.chromium.chrome.browser.document.DocumentActivity;
|
| @@ -204,4 +205,19 @@ public class ActivityDelegate {
|
| }
|
| return false;
|
| }
|
| -}
|
| +
|
| + /** @return Running Activity that owns the given Tab, null if the Activity couldn't be found. */
|
| + public static Activity getActivityForTabId(int id) {
|
| + if (id == Tab.INVALID_TAB_ID) return null;
|
| +
|
| + for (WeakReference<Activity> ref : ApplicationStatus.getRunningActivities()) {
|
| + if (!(ref.get() instanceof ChromeActivity)) continue;
|
| +
|
| + ChromeActivity activity = (ChromeActivity) ref.get();
|
| + if (activity == null) continue;
|
| +
|
| + if (activity.getTabModelSelector().getTabById(id) != null) return activity;
|
| + }
|
| + return null;
|
| + }
|
| +}
|
|
|