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