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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java

Issue 2837873002: Finch kill switch feature for background tab. (Closed)
Patch Set: Created 3 years, 8 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
Index: chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
index 3b1ca31eea53835ed2dff211df11657603b48ac8..50535774e9cd267930d84b67c84ff9fe489b4823 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
@@ -57,6 +57,7 @@ import org.chromium.base.test.util.Restriction;
import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity;
+import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.IntentHandler;
@@ -93,6 +94,8 @@ import org.chromium.net.test.util.TestWebServer;
import org.chromium.ui.mojom.WindowOpenDisposition;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -1810,14 +1813,37 @@ public class CustomTabActivityTest extends CustomTabActivityTestBase {
testSpeculateCorrectUrl(CustomTabsConnection.SpeculationParams.HIDDEN_TAB);
}
+ /**
+ * Test that a hidden tab speculation is executed as a prerender if the |CCT_BACKGROUND_TAB|
+ * feature is disabled.
+ **/
+ @SmallTest
+ @Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
+ @RetryOnFailure
+ public void testHiddenTabDisabled() throws Exception {
+ // One should be able to use @Features instead of calling
+ // ChromeFeatureList.setTestFeatures, but it doesn't appear to be effective.
+ // (perhaps a restriction due to running on Android?)
+ Map<String, Boolean> features = new HashMap<>();
+ features.put(ChromeFeatureList.CCT_BACKGROUND_TAB, false);
+ ChromeFeatureList.setTestFeatures(features);
Benoit L 2017/04/24 16:18:00 Should this be reset in a finally block? Seems th
+ testSpeculateCorrectUrl(CustomTabsConnection.SpeculationParams.HIDDEN_TAB,
+ CustomTabsConnection.SpeculationParams.PRERENDER);
+ }
+
private void testSpeculateCorrectUrl(int speculationMode) throws Exception {
+ testSpeculateCorrectUrl(speculationMode, speculationMode);
+ }
+
+ private void testSpeculateCorrectUrl(int requestedSpeculationMode, int usedSpeculationMode)
+ throws Exception {
Context context = getInstrumentation().getTargetContext().getApplicationContext();
final CustomTabsConnection connection = warmUpAndWait();
CustomTabsSessionToken token = CustomTabsSessionToken.createDummySessionTokenForTesting();
connection.newSession(token);
- connection.setSpeculationModeForSession(token, speculationMode);
+ connection.setSpeculationModeForSession(token, requestedSpeculationMode);
assertTrue(connection.mayLaunchUrl(token, Uri.parse(mTestPage), null, null));
- ensureCompletedSpeculationForUrl(connection, mTestPage, speculationMode);
+ ensureCompletedSpeculationForUrl(connection, mTestPage, usedSpeculationMode);
try {
startCustomTabActivityWithIntent(CustomTabsTestUtils.createMinimalCustomTabIntent(

Powered by Google App Engine
This is Rietveld 408576698