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

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

Issue 2277603002: Extract tabbed mode specific logic from the TabPersistenceStore. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix findbugs Created 4 years, 4 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
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabObserverTest.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1047dfb5e20f576cc2eb87a1c0160d4ff5a6314f..e8b690019b83eded91a7ac89903bd4078321d268 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
@@ -143,11 +143,20 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
private final MockTabCreatorManager mTabCreatorManager;
private final TabModelOrderController mTabModelOrderController;
- public TestTabModelSelector(Context context) throws Exception {
+ public TestTabModelSelector(final Context context) throws Exception {
mTabCreatorManager = new MockTabCreatorManager(this);
mTabPersistentStoreObserver = new MockTabPersistentStoreObserver();
- mTabPersistentStore = new TabPersistentStore(
- this, 0, context, mTabCreatorManager, mTabPersistentStoreObserver, true);
+ mTabPersistentStore = ThreadUtils.runOnUiThreadBlocking(
+ new Callable<TabPersistentStore>() {
+ @Override
+ public TabPersistentStore call() {
+ TabPersistencePolicy persistencePolicy =
+ new TabbedModeTabPersistencePolicy(context, 0);
+ return new TabPersistentStore(
+ persistencePolicy, TestTabModelSelector.this, context,
+ mTabCreatorManager, mTabPersistentStoreObserver, true);
+ }
+ });
mTabModelOrderController = new TabModelOrderController(this);
Callable<TabModelImpl> callable = new Callable<TabModelImpl>() {
@@ -292,6 +301,18 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
super.tearDown();
}
+ private TabPersistentStore buildTabPersistentStore(final TabPersistencePolicy persistencePolicy,
+ final TabModelSelector modelSelector, final TabCreatorManager creatorManager,
+ final TabPersistentStoreObserver observer) {
+ return ThreadUtils.runOnUiThreadBlockingNoException(new Callable<TabPersistentStore>() {
+ @Override
+ public TabPersistentStore call() throws Exception {
+ return new TabPersistentStore(persistencePolicy, modelSelector, mAppContext,
+ creatorManager, observer, false);
+ }
+ });
+ }
+
@SmallTest
@Feature({"TabPersistentStore"})
public void testBasic() throws Exception {
@@ -305,9 +326,9 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
MockTabCreatorManager mockManager = new MockTabCreatorManager(mockSelector);
MockTabCreator regularCreator = mockManager.getTabCreator(false);
MockTabPersistentStoreObserver mockObserver = new MockTabPersistentStoreObserver();
- TabPersistentStore store =
- new TabPersistentStore(mockSelector, 0, mAppContext, mockManager, mockObserver,
- false);
+ TabPersistencePolicy persistencePolicy = new TabbedModeTabPersistencePolicy(mAppContext, 0);
+ TabPersistentStore store = buildTabPersistentStore(
+ persistencePolicy, mockSelector, mockManager, mockObserver);
// Should not prefetch with no prior active tab preference stored.
assertNull(store.mPrefetchActiveTabTask);
@@ -354,8 +375,10 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
MockTabModelSelector firstSelector = new MockTabModelSelector(0, 0, null);
MockTabCreatorManager firstManager = new MockTabCreatorManager(firstSelector);
MockTabPersistentStoreObserver firstObserver = new MockTabPersistentStoreObserver();
- final TabPersistentStore firstStore = new TabPersistentStore(
- firstSelector, 0, mAppContext, firstManager, firstObserver, false);
+ TabPersistencePolicy firstPersistencePolicy = new TabbedModeTabPersistencePolicy(
+ mAppContext, 0);
+ final TabPersistentStore firstStore = buildTabPersistentStore(
+ firstPersistencePolicy, firstSelector, firstManager, firstObserver);
firstStore.loadState(false /* ignoreIncognitoFiles */);
firstObserver.initializedCallback.waitForCallback(0, 1);
assertEquals(numExpectedTabs, firstObserver.mTabCountAtStartup);
@@ -373,8 +396,11 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
MockTabCreatorManager secondManager = new MockTabCreatorManager(secondSelector);
MockTabCreator secondCreator = secondManager.getTabCreator(false);
MockTabPersistentStoreObserver secondObserver = new MockTabPersistentStoreObserver();
- TabPersistentStore secondStore = new TabPersistentStore(
- secondSelector, 0, mAppContext, secondManager, secondObserver, false);
+ TabPersistencePolicy secondPersistencePolicy = new TabbedModeTabPersistencePolicy(
+ mAppContext, 0);
+
+ TabPersistentStore secondStore = buildTabPersistentStore(
+ secondPersistencePolicy, secondSelector, secondManager, secondObserver);
// The second TabPersistentStore reads the file written by the first TabPersistentStore.
// Make sure that all of the Tabs appear in the new one -- even though the new file was
@@ -431,8 +457,9 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
MockTabModelSelector mockSelector = new MockTabModelSelector(0, 0, null);
MockTabCreatorManager mockManager = new MockTabCreatorManager(mockSelector);
MockTabPersistentStoreObserver mockObserver = new MockTabPersistentStoreObserver();
- TabPersistentStore store = new TabPersistentStore(
- mockSelector, 0, mAppContext, mockManager, mockObserver, false);
+ TabPersistencePolicy persistencePolicy = new TabbedModeTabPersistencePolicy(mAppContext, 0);
+ TabPersistentStore store = buildTabPersistentStore(
+ persistencePolicy, mockSelector, mockManager, mockObserver);
// Make sure the metadata file loads properly and in order.
store.loadState(false /* ignoreIncognitoFiles */);
@@ -474,8 +501,9 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
MockTabModelSelector mockSelector = new MockTabModelSelector(0, 0, null);
MockTabCreatorManager mockManager = new MockTabCreatorManager(mockSelector);
MockTabPersistentStoreObserver mockObserver = new MockTabPersistentStoreObserver();
- TabPersistentStore store = new TabPersistentStore(
- mockSelector, 0, mAppContext, mockManager, mockObserver, false);
+ TabPersistencePolicy persistencePolicy = new TabbedModeTabPersistencePolicy(mAppContext, 0);
+ TabPersistentStore store = buildTabPersistentStore(
+ persistencePolicy, mockSelector, mockManager, mockObserver);
// Load the TabModel metadata.
store.loadState(false /* ignoreIncognitoFiles */);
@@ -508,8 +536,10 @@ public class TabPersistentStoreTest extends NativeLibraryTestBase {
MockTabModelSelector mockSelector = new MockTabModelSelector(0, 0, null);
MockTabCreatorManager mockManager = new MockTabCreatorManager(mockSelector);
MockTabPersistentStoreObserver mockObserver = new MockTabPersistentStoreObserver();
- final TabPersistentStore store = new TabPersistentStore(
- mockSelector, 0, mAppContext, mockManager, mockObserver, false);
+ TabPersistencePolicy persistencePolicy = new TabbedModeTabPersistencePolicy(mAppContext, 0);
+ final TabPersistentStore store = buildTabPersistentStore(
+ persistencePolicy, mockSelector, mockManager, mockObserver);
+ store.waitForMigrationToFinish();
assertNotNull(store.mPrefetchActiveTabTask);
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabObserverTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698