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

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

Issue 2143203002: 🎨 Tidy up of TabPersistentStore's clean-up logic (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix incognito tabs persisting when cct service is active Created 4 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/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 bfe39840be6743eb5f37229df0ece08ce3e4698d..66e42207d2b4c0c07a7f30b08f6ee3574cc5cdd2 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
@@ -153,6 +153,26 @@ public class TabWindowManager implements ActivityStateListener {
return count;
}
+ /**
+ * @param tabId The ID of the tab in question.
+ * @return Whether the given tab exists in any currently loaded selector.
+ */
+ public boolean tabExistsInAnySelector(int tabId) {
+ for (int i = 0; i < mSelectors.size(); i++) {
+ TabModelSelector selector = mSelectors.get(i);
+ if (selector != null) {
+ if (TabModelUtils.getTabById(selector.getModel(false), tabId) != null
+ || TabModelUtils.getTabById(selector.getModel(true), tabId) != null) {
+ return true;
+ }
+ }
+ }
+
+ // Account for tabs that were recently reparented and haven't been attached to new
+ // activities yet.
+ return AsyncTabParamsManager.hasParamsForTabId(tabId);
+ }
+
@Override
public void onActivityStateChange(Activity activity, int newState) {
if (newState == ActivityState.DESTROYED && mAssignments.containsKey(activity)) {

Powered by Google App Engine
This is Rietveld 408576698