Index: chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreatorTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreatorTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreatorTest.java |
index 44052aeaa47901dd0bb3ff3c0839ecb552989b8a..9b25e40834b17ed3710e9d7b81f1227c7650c057 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreatorTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreatorTest.java |
@@ -8,11 +8,13 @@ import static org.chromium.base.test.util.Restriction.RESTRICTION_TYPE_LOW_END_D |
import static org.chromium.base.test.util.Restriction.RESTRICTION_TYPE_NON_LOW_END_DEVICE; |
import android.os.Environment; |
+import android.test.UiThreadTest; |
import android.test.suitebuilder.annotation.MediumTest; |
import org.chromium.base.ThreadUtils; |
import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.Restriction; |
+import org.chromium.chrome.browser.WarmupManager; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
import org.chromium.chrome.test.ChromeTabbedActivityTestBase; |
@@ -104,6 +106,26 @@ public class ChromeTabCreatorTest extends ChromeTabbedActivityTestBase { |
} |
/** |
+ * Verify that the spare WebContents is used. |
+ * |
+ * Spare WebContents are not created on low-devices, so don't run the test. |
+ */ |
+ @Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE) |
+ @MediumTest |
+ @Feature({"Browser"}) |
+ @UiThreadTest |
+ public void testCreateNewTabTakesSpareWebContents() |
+ throws ExecutionException, InterruptedException { |
+ Tab currentTab = getActivity().getActivityTab(); |
+ WarmupManager.getInstance().createSpareWebContents(); |
+ assertTrue(WarmupManager.getInstance().hasSpareWebContents()); |
+ getActivity().getCurrentTabCreator().createNewTab( |
+ new LoadUrlParams(mTestServer.getURL(TEST_PATH)), TabLaunchType.FROM_EXTERNAL_APP, |
+ currentTab); |
+ assertFalse(WarmupManager.getInstance().hasSpareWebContents()); |
+ } |
+ |
+ /** |
* @return the index of the given tab in the current tab model |
*/ |
private int indexOf(Tab tab) { |