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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/prerender/PrerenderServiceTest.java

Issue 1242323003: Remove PrerenderService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/prerender/PrerenderAPITestActivity.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/prerender/PrerenderServiceTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/PrerenderServiceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/PrerenderServiceTest.java
deleted file mode 100644
index 602ee654c1219564dc5b504566726dd1ba95d4c7..0000000000000000000000000000000000000000
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/prerender/PrerenderServiceTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.prerender;
-
-import android.test.suitebuilder.annotation.SmallTest;
-import android.widget.EditText;
-
-import org.chromium.base.SysUtils;
-import org.chromium.base.ThreadUtils;
-import org.chromium.base.test.BaseActivityInstrumentationTestCase;
-import org.chromium.base.test.util.CommandLineFlags;
-import org.chromium.base.test.util.Feature;
-import org.chromium.chrome.R;
-import org.chromium.chrome.browser.ChromeActivity;
-import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.ChromeTabbedActivity;
-import org.chromium.chrome.browser.WarmupManager;
-import org.chromium.chrome.browser.document.DocumentActivity;
-import org.chromium.chrome.browser.util.FeatureUtilities;
-import org.chromium.chrome.test.util.ActivityUtils;
-import org.chromium.chrome.test.util.TestHttpServerClient;
-import org.chromium.content.browser.test.util.Criteria;
-import org.chromium.content.browser.test.util.CriteriaHelper;
-import org.chromium.content.browser.test.util.TouchCommon;
-
-import java.util.concurrent.Callable;
-
-/**
- * A test suite for the ChromeBowserPrerenderService. This makes sure the service initializes the
- * browser process and the UI and also can carry out prerendering related operations without causing
- * any issues with Chrome launching from external intents afterwards.
- */
-@CommandLineFlags.Add(ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE)
-public class PrerenderServiceTest extends
- BaseActivityInstrumentationTestCase<PrerenderAPITestActivity> {
-
- public PrerenderServiceTest() {
- super(PrerenderAPITestActivity.class);
- }
-
- private static final String GOOGLE_URL =
- TestHttpServerClient.getUrl("chrome/test/data/android/prerender/google.html");
- private static final String YOUTUBE_URL =
- TestHttpServerClient.getUrl("chrome/test/data/android/prerender/youtube.html");
- private static final String REDIRECT_GOOGLE_URL =
- TestHttpServerClient.getUrl("chrome/test/data/android/prerender/google_redirect.html");
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- setActivityInitialTouchMode(true);
- TestHttpServerClient.checkServerIsUp();
- }
-
- /**
- * Test that binding and initializing the UI works and Chrome can be launched
- * without issues afterwards.
- * @throws InterruptedException
- */
- @SmallTest
- @Feature({"PrerenderService"})
- public void testBindingAndInitializing() throws InterruptedException {
- if (SysUtils.isLowEndDevice()) return;
- ensureBindingAndInitializingUI();
- loadChromeWithUrl(GOOGLE_URL);
- }
-
- /**
- * Test that a prerender request can be sent via the service and Chrome can be launched
- * from that same url without any issues. This doesn't test whether the url has actually
- * finished prerendering.
- * @throws InterruptedException
- */
- /*
- * @Feature({"PrerenderService"})
- * @SmallTest
- */
- public void testPrerenderingSameUrl() throws InterruptedException {
- if (SysUtils.isLowEndDevice()) return;
- ensureBindingAndInitializingUI();
- ensurePrerendering(GOOGLE_URL);
- loadChromeWithUrl(GOOGLE_URL);
- }
-
- /**
- * Test that a prerender request can be sent via the service and Chrome can be launched
- * from that different url without any issues. This doesn't test whether the url has actually
- * finished prerendering.
- * @throws InterruptedException
- */
- @SmallTest
- @Feature({"PrerenderService"})
- public void testPrerenderingDifferentUrl() throws InterruptedException {
- if (SysUtils.isLowEndDevice()) return;
- ensureBindingAndInitializingUI();
- ensurePrerendering(GOOGLE_URL);
- loadChromeWithUrl(YOUTUBE_URL);
- }
-
- /**
- * Test that a prerender request with a redirect can be sent via the service and the final
- * target url can still be used to fetch that prerendered page.
- * @throws Exception
- */
- @SmallTest
- @Feature({"PrerenderService"})
- public void testPrerenderingRedirectUrl() throws Exception {
- if (SysUtils.isLowEndDevice()) return;
- ensureBindingAndInitializingUI();
- ensurePrerendering(REDIRECT_GOOGLE_URL);
- assertServiceHasPrerenderedUrl(GOOGLE_URL);
- }
-
- private void ensureBindingAndInitializingUI() {
- assertNotNull(getActivity());
- // TODO(yusufo): Add a check for native library loaded notification being received.
-
- // TODO(dtrainor): Reenable this once ChromeNotificationCenter can handle non-Activity
- // contexts.
- /*
- assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
- @Override
- public boolean isSatisfied() {
- return WarmupManager.getInstance().hasBuiltViewHierarchy();
- }
- }));
- */
- }
-
- private void ensurePrerendering(final String url) throws InterruptedException {
- ensureBindingAndInitializingUI();
- getInstrumentation().runOnMainSync(new Runnable() {
- @Override
- public void run() {
- ((EditText) getActivity().findViewById(R.id.url_to_load)).setText(url);
- }
- });
- TouchCommon.singleClickView(getActivity().findViewById(R.id.preload_button));
- assertServiceHasPrerenderedUrl(url);
- }
-
- private void loadChromeWithUrl(final String url) throws InterruptedException {
- assertNotNull(getActivity());
- ThreadUtils.runOnUiThreadBlocking(new Runnable(){
- public void run() {
- ((EditText) getActivity().findViewById(R.id.url_to_load)).setText(url);
- }
- });
- // TODO(dtrainor): Make this assertTrue once ChromeNotificationCenter can handle
- // non-Activity contexts.
- ThreadUtils.runOnUiThreadBlocking(new Runnable(){
- public void run() {
- assertFalse(WarmupManager.getInstance().hasBuiltViewHierarchy());
- }
- });
- final ChromeActivity chromeActivity = ActivityUtils.waitForActivity(
- getInstrumentation(),
- FeatureUtilities.isDocumentMode(getActivity())
- ? DocumentActivity.class : ChromeTabbedActivity.class, new Runnable() {
- @Override
- public void run() {
- TouchCommon.singleClickView(getActivity().findViewById(
- R.id.load_button));
- }
- });
- ThreadUtils.runOnUiThreadBlocking(new Runnable(){
- public void run() {
- assertFalse(WarmupManager.getInstance().hasBuiltViewHierarchy());
- }
- });
- // TODO(yusufo): We should be using the NotificationCenter for checking the page loading.
- assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
- @Override
- public boolean isSatisfied() {
- return chromeActivity.getActivityTab() != null
- && chromeActivity.getActivityTab().isLoadingAndRenderingDone();
- }
- }));
- assertTrue(chromeActivity.getActivityTab().getUrl().equals(url));
- ThreadUtils.runOnUiThreadBlocking(new Runnable(){
- public void run() {
- assertFalse(WarmupManager.getInstance().hasAnyPrerenderedUrl());
- }
- });
- }
-
- private void assertServiceHasPrerenderedUrl(final String url) throws InterruptedException {
- final Callable<Boolean> callable = new Callable<Boolean>() {
- @Override
- public Boolean call() throws Exception {
- return WarmupManager.getInstance().hasPrerenderedUrl(url);
- }
- };
-
- assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
- @Override
- public boolean isSatisfied() {
- return ThreadUtils.runOnUiThreadBlockingNoException(callable);
- }
- }));
- }
-}
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/prerender/PrerenderAPITestActivity.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698