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

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

Issue 2899053004: [Home] Ensure incognito tab model is created when NTP opened (Closed)
Patch Set: Close bottom sheet after loading URL/opening new tab Created 3 years, 7 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/IncognitoTabModel.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/IncognitoTabModel.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/IncognitoTabModel.java
index 6ce844fcf5c4c4c90433cf73e2a93ab3895ca534..e836d0ecb4e1aa2f204f431fd266e14c11ef9825 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/IncognitoTabModel.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/IncognitoTabModel.java
@@ -36,6 +36,7 @@ public class IncognitoTabModel implements TabModel {
private final ObserverList<TabModelObserver> mObservers = new ObserverList<TabModelObserver>();
private TabModel mDelegateModel;
private boolean mIsAddingTab;
+ private boolean mIsPendingTabAdd;
/**
* Constructor for IncognitoTabModel.
@@ -72,7 +73,8 @@ public class IncognitoTabModel implements TabModel {
*/
protected void destroyIncognitoIfNecessary() {
ThreadUtils.assertOnUiThread();
- if (!isEmpty() || mDelegateModel instanceof EmptyTabModel || mIsAddingTab) {
+ if (!isEmpty() || mDelegateModel instanceof EmptyTabModel || mIsAddingTab
+ || mIsPendingTabAdd) {
return;
}
@@ -212,6 +214,7 @@ public class IncognitoTabModel implements TabModel {
@Override
public void addTab(Tab tab, int index, TabLaunchType type) {
mIsAddingTab = true;
+ mIsPendingTabAdd = false;
ensureTabModelImpl();
mDelegateModel.addTab(tab, index, type);
mIsAddingTab = false;
@@ -241,4 +244,18 @@ public class IncognitoTabModel implements TabModel {
public void openMostRecentlyClosedTab() {
}
+ @Override
+ public void setIsPendingTabAdd(boolean isPendingTabAdd) {
+ mIsPendingTabAdd = isPendingTabAdd;
+ if (mIsPendingTabAdd) {
+ ensureTabModelImpl();
+ } else {
+ destroyIncognitoIfNecessary();
+ }
+ }
+
+ @Override
+ public boolean isPendingTabAdd() {
+ return mIsPendingTabAdd;
+ }
}

Powered by Google App Engine
This is Rietveld 408576698