| Index: chrome/android/javatests/src/org/chromium/chrome/browser/TabsTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/TabsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/TabsTest.java
|
| index 929aa28032a3a852062f8ee1ad1412d4fb13f9ad..5087cf6b254bb1a3c6b43853aa042590b0677d0b 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/TabsTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/TabsTest.java
|
| @@ -51,8 +51,10 @@ import org.chromium.chrome.browser.tabmodel.TabModelObserver;
|
| import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
| import org.chromium.chrome.browser.tabmodel.TabModelSelectorImpl;
|
| import org.chromium.chrome.browser.tabmodel.TabModelUtils;
|
| +import org.chromium.chrome.browser.tabmodel.TabPersistentStore;
|
| import org.chromium.chrome.browser.toolbar.ToolbarPhone;
|
| import org.chromium.chrome.test.ChromeTabbedActivityTestBase;
|
| +import org.chromium.chrome.test.util.ApplicationTestUtils;
|
| import org.chromium.chrome.test.util.ChromeRestriction;
|
| import org.chromium.chrome.test.util.ChromeTabUtils;
|
| import org.chromium.chrome.test.util.MenuUtils;
|
| @@ -69,6 +71,7 @@ import org.chromium.content_public.browser.WebContents;
|
| import org.chromium.content_public.browser.WebContentsObserver;
|
| import org.chromium.net.test.EmbeddedTestServer;
|
|
|
| +import java.io.File;
|
| import java.util.Locale;
|
| import java.util.concurrent.Callable;
|
| import java.util.concurrent.TimeUnit;
|
| @@ -1652,6 +1655,33 @@ public class TabsTest extends ChromeTabbedActivityTestBase {
|
| assertTrue("WebContentsObserver was never destroyed", webContentsDestroyCalled.get());
|
| }
|
|
|
| + @MediumTest
|
| + @Feature({"Android-TabSwitcher"})
|
| + public void testIncognitoTabsNotRestoredAfterSwipe() throws Exception {
|
| + newIncognitoTabFromMenu();
|
| +
|
| + File tabStateDir = TabPersistentStore.getOrCreateStateDirectory();
|
| + TabModel normalModel = getActivity().getTabModelSelector().getModel(false);
|
| + TabModel incognitoModel = getActivity().getTabModelSelector().getModel(true);
|
| + File normalTabFile = new File(tabStateDir,
|
| + TabState.getTabStateFilename(
|
| + normalModel.getTabAt(normalModel.getCount() - 1).getId(), false));
|
| + File incognitoTabFile = new File(tabStateDir,
|
| + TabState.getTabStateFilename(incognitoModel.getTabAt(0).getId(), true));
|
| +
|
| + assertTrue(normalTabFile.getAbsolutePath(), normalTabFile.exists());
|
| + assertTrue(incognitoTabFile.getAbsolutePath(), incognitoTabFile.exists());
|
| +
|
| + // Although we're destroying the activity, the Application will still live on since its in
|
| + // the same process as this test.
|
| + ApplicationTestUtils.finishActivity(getActivity());
|
| +
|
| + // Activity will be started without a savedInstanceState.
|
| + startMainActivityOnBlankPage();
|
| + assertTrue(normalTabFile.exists());
|
| + assertFalse(incognitoTabFile.exists());
|
| + }
|
| +
|
| @Override
|
| public void startMainActivity() throws InterruptedException {
|
| float dpToPx = getInstrumentation().getContext().getResources().getDisplayMetrics().density;
|
|
|