Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3172)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java

Issue 1229853006: [Document mode] Allow multiple popup windows to appear. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Uploading for realz Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698