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

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

Issue 2166123002: Ignore tabs with duplicate IDs when merging tab models on cold start (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 5 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/javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java
index 9335954ac6f2058c84e441814b4bd2f0964edfae..31a57f0d76c1a744bc4a7cbe79599a9c32a78569 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java
@@ -13,7 +13,9 @@ import android.util.SparseArray;
import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.AdvancedMockContext;
+import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
+import org.chromium.base.test.util.MinAndroidSdkLevel;
import org.chromium.chrome.browser.TabState;
import org.chromium.chrome.browser.compositor.overlays.strip.StripLayoutHelper;
import org.chromium.chrome.browser.snackbar.undo.UndoBarController;
@@ -23,6 +25,7 @@ import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType;
import org.chromium.chrome.browser.tabmodel.TabPersistentStore.TabPersistentStoreObserver;
import org.chromium.chrome.browser.tabmodel.TestTabModelDirectory.TabModelMetaDataInfo;
+import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.browser.widget.OverviewListLayout;
import org.chromium.chrome.test.util.browser.tabmodel.MockTabModelSelector;
import org.chromium.content.browser.test.NativeLibraryTestBase;
@@ -143,7 +146,7 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
mTabCreatorManager = new MockTabCreatorManager(this);
mTabPersistentStoreObserver = new MockTabPersistentStoreObserver();
mTabPersistentStore = new TabPersistentStore(
- this, 0, context, mTabCreatorManager, mTabPersistentStoreObserver, false);
+ this, 0, context, mTabCreatorManager, mTabPersistentStoreObserver, true);
mTabModelOrderController = new TabModelOrderController(this);
Callable<TabModelImpl> callable = new Callable<TabModelImpl>() {
@@ -569,6 +572,21 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
}
}
+ @SmallTest
+ @Feature({"TabPersistentStore", "MultiWindow"})
+ @MinAndroidSdkLevel(24)
+ @CommandLineFlags.Add(FeatureUtilities.MERGE_TABS_FLAG)
+ public void testDuplicateTabIdsOnColdStart() throws Exception {
+ final TabModelMetaDataInfo info = TestTabModelDirectory.TAB_MODEL_METADATA_V5_NO_M18;
+
+ // Write the same data to tab_state0 and tab_state1.
+ mMockDirectory.writeTabModelFiles(info, true, 0);
+ mMockDirectory.writeTabModelFiles(info, true, 1);
+
+ // This method will check that the correct number of tabs are created.
+ createAndRestoreRealTabModelImpls(info);
+ }
+
private TestTabModelSelector createAndRestoreRealTabModelImpls(TabModelMetaDataInfo info)
throws Exception {
TestTabModelSelector selector = new TestTabModelSelector(mAppContext);

Powered by Google App Engine
This is Rietveld 408576698