| Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
| index 1bfbef6313b1ea72abd98f771805c0f4a5b2f0ba..75e389abe37ce801ecade9a01ac39835fa98c2a5 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
|
| @@ -614,13 +614,18 @@ public class TabPersistentStore extends TabPersister {
|
| // was selected in the other model before the merge should be selected after the merge.
|
| if (setAsActive || (tabToRestore.fromMerge && restoredIndex == 0)) {
|
| boolean wasIncognitoTabModelSelected = mTabModelSelector.isIncognitoSelected();
|
| + int selectedModelTabCount = mTabModelSelector.getCurrentModel().getCount();
|
| +
|
| TabModelUtils.setIndex(model, TabModelUtils.getTabIndexById(model, tabId));
|
| boolean isIncognitoTabModelSelected = mTabModelSelector.isIncognitoSelected();
|
|
|
| // Setting the index will cause the tab's model to be selected. Set it back to the model
|
| - // that was selected before setting the index if the index is being set during a merge.
|
| + // that was selected before setting the index if the index is being set during a merge
|
| + // unless the previously selected model is empty (e.g. showing the empty background
|
| + // view on tablets).
|
| if (tabToRestore.fromMerge
|
| - && wasIncognitoTabModelSelected != isIncognitoTabModelSelected) {
|
| + && wasIncognitoTabModelSelected != isIncognitoTabModelSelected
|
| + && selectedModelTabCount != 0) {
|
| mTabModelSelector.selectModel(wasIncognitoTabModelSelected);
|
| }
|
| }
|
|
|