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