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

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: [Home] Ensure incognito tab model is created when NTP opened 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..3c435a8da4b2c753d8dd67cce9f2ad353ff5ada0 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 mMayAddTab;
/**
* Constructor for IncognitoTabModel.
@@ -72,7 +73,7 @@ public class IncognitoTabModel implements TabModel {
*/
protected void destroyIncognitoIfNecessary() {
ThreadUtils.assertOnUiThread();
- if (!isEmpty() || mDelegateModel instanceof EmptyTabModel || mIsAddingTab) {
+ if (!isEmpty() || mDelegateModel instanceof EmptyTabModel || mIsAddingTab || mMayAddTab) {
return;
}
@@ -212,6 +213,7 @@ public class IncognitoTabModel implements TabModel {
@Override
public void addTab(Tab tab, int index, TabLaunchType type) {
mIsAddingTab = true;
+ mMayAddTab = false;
ensureTabModelImpl();
mDelegateModel.addTab(tab, index, type);
mIsAddingTab = false;
@@ -241,4 +243,13 @@ public class IncognitoTabModel implements TabModel {
public void openMostRecentlyClosedTab() {
}
+ @Override
+ public void setMayAddTab(boolean mayAddTab) {
Ted C 2017/05/23 23:50:17 What happens if you are multi-window, you open two
Theresa 2017/05/24 16:52:08 That path was causing issues (crashes on a segfaul
+ mMayAddTab = mayAddTab;
+ if (mMayAddTab) {
+ ensureTabModelImpl();
+ } else {
+ destroyIncognitoIfNecessary();
+ }
+ }
}

Powered by Google App Engine
This is Rietveld 408576698