| 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;
|
| + }
|
| }
|
|
|