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

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

Issue 2837873002: Finch kill switch feature for background tab. (Closed)
Patch Set: rebase 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.customtabs; 5 package org.chromium.chrome.browser.customtabs;
6 6
7 import static org.chromium.base.test.util.Restriction.RESTRICTION_TYPE_NON_LOW_E ND_DEVICE; 7 import static org.chromium.base.test.util.Restriction.RESTRICTION_TYPE_NON_LOW_E ND_DEVICE;
8 8
9 import android.app.Activity; 9 import android.app.Activity;
10 import android.app.Application; 10 import android.app.Application;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 import org.chromium.base.ThreadUtils; 50 import org.chromium.base.ThreadUtils;
51 import org.chromium.base.library_loader.LibraryLoader; 51 import org.chromium.base.library_loader.LibraryLoader;
52 import org.chromium.base.library_loader.LibraryProcessType; 52 import org.chromium.base.library_loader.LibraryProcessType;
53 import org.chromium.base.test.util.CallbackHelper; 53 import org.chromium.base.test.util.CallbackHelper;
54 import org.chromium.base.test.util.CommandLineFlags; 54 import org.chromium.base.test.util.CommandLineFlags;
55 import org.chromium.base.test.util.DisabledTest; 55 import org.chromium.base.test.util.DisabledTest;
56 import org.chromium.base.test.util.Restriction; 56 import org.chromium.base.test.util.Restriction;
57 import org.chromium.base.test.util.RetryOnFailure; 57 import org.chromium.base.test.util.RetryOnFailure;
58 import org.chromium.chrome.R; 58 import org.chromium.chrome.R;
59 import org.chromium.chrome.browser.ChromeActivity; 59 import org.chromium.chrome.browser.ChromeActivity;
60 import org.chromium.chrome.browser.ChromeFeatureList;
60 import org.chromium.chrome.browser.ChromeSwitches; 61 import org.chromium.chrome.browser.ChromeSwitches;
61 import org.chromium.chrome.browser.ChromeTabbedActivity; 62 import org.chromium.chrome.browser.ChromeTabbedActivity;
62 import org.chromium.chrome.browser.IntentHandler; 63 import org.chromium.chrome.browser.IntentHandler;
63 import org.chromium.chrome.browser.TabsOpenedFromExternalAppTest; 64 import org.chromium.chrome.browser.TabsOpenedFromExternalAppTest;
64 import org.chromium.chrome.browser.WarmupManager; 65 import org.chromium.chrome.browser.WarmupManager;
65 import org.chromium.chrome.browser.appmenu.AppMenuHandler; 66 import org.chromium.chrome.browser.appmenu.AppMenuHandler;
66 import org.chromium.chrome.browser.document.ChromeLauncherActivity; 67 import org.chromium.chrome.browser.document.ChromeLauncherActivity;
67 import org.chromium.chrome.browser.firstrun.FirstRunStatus; 68 import org.chromium.chrome.browser.firstrun.FirstRunStatus;
68 import org.chromium.chrome.browser.metrics.PageLoadMetrics; 69 import org.chromium.chrome.browser.metrics.PageLoadMetrics;
69 import org.chromium.chrome.browser.prerender.ExternalPrerenderHandler; 70 import org.chromium.chrome.browser.prerender.ExternalPrerenderHandler;
(...skipping 1733 matching lines...) Expand 10 before | Expand all | Expand 10 after
1803 * Test whether the url shown on hidden tab gets updated from about:blank wh en it 1804 * Test whether the url shown on hidden tab gets updated from about:blank wh en it
1804 * completes in the background. 1805 * completes in the background.
1805 */ 1806 */
1806 @SmallTest 1807 @SmallTest
1807 @Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE) 1808 @Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
1808 @RetryOnFailure 1809 @RetryOnFailure
1809 public void testHiddenTabCorrectUrl() throws Exception { 1810 public void testHiddenTabCorrectUrl() throws Exception {
1810 testSpeculateCorrectUrl(CustomTabsConnection.SpeculationParams.HIDDEN_TA B); 1811 testSpeculateCorrectUrl(CustomTabsConnection.SpeculationParams.HIDDEN_TA B);
1811 } 1812 }
1812 1813
1814 /**
1815 * Test that a hidden tab speculation is executed as a prerender if the |CCT _BACKGROUND_TAB|
1816 * feature is disabled.
1817 **/
1818 @SmallTest
1819 @Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
1820 @RetryOnFailure
1821 @CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
1822 "disable-features=" + ChromeFeatureList.CCT_BACKGROUND_TAB})
1823 public void testHiddenTabDisabled() throws Exception {
1824 testSpeculateCorrectUrl(CustomTabsConnection.SpeculationParams.HIDDEN_TA B,
1825 CustomTabsConnection.SpeculationParams.PRERENDER);
1826 }
1827
1813 private void testSpeculateCorrectUrl(int speculationMode) throws Exception { 1828 private void testSpeculateCorrectUrl(int speculationMode) throws Exception {
1829 testSpeculateCorrectUrl(speculationMode, speculationMode);
1830 }
1831
1832 private void testSpeculateCorrectUrl(int requestedSpeculationMode, int usedS peculationMode)
1833 throws Exception {
1814 Context context = getInstrumentation().getTargetContext().getApplication Context(); 1834 Context context = getInstrumentation().getTargetContext().getApplication Context();
1815 final CustomTabsConnection connection = warmUpAndWait(); 1835 final CustomTabsConnection connection = warmUpAndWait();
1816 CustomTabsSessionToken token = CustomTabsSessionToken.createDummySession TokenForTesting(); 1836 CustomTabsSessionToken token = CustomTabsSessionToken.createDummySession TokenForTesting();
1817 connection.newSession(token); 1837 connection.newSession(token);
1818 connection.setSpeculationModeForSession(token, speculationMode); 1838 connection.setSpeculationModeForSession(token, requestedSpeculationMode) ;
1819 assertTrue(connection.mayLaunchUrl(token, Uri.parse(mTestPage), null, nu ll)); 1839 assertTrue(connection.mayLaunchUrl(token, Uri.parse(mTestPage), null, nu ll));
1820 ensureCompletedSpeculationForUrl(connection, mTestPage, speculationMode) ; 1840 ensureCompletedSpeculationForUrl(connection, mTestPage, usedSpeculationM ode);
1821 1841
1822 try { 1842 try {
1823 startCustomTabActivityWithIntent(CustomTabsTestUtils.createMinimalCu stomTabIntent( 1843 startCustomTabActivityWithIntent(CustomTabsTestUtils.createMinimalCu stomTabIntent(
1824 context, mTestPage)); 1844 context, mTestPage));
1825 } catch (InterruptedException e) { 1845 } catch (InterruptedException e) {
1826 fail(); 1846 fail();
1827 } 1847 }
1828 assertEquals(Uri.parse(mTestPage).getHost() + ":" + Uri.parse(mTestPage) .getPort(), 1848 assertEquals(Uri.parse(mTestPage).getHost() + ":" + Uri.parse(mTestPage) .getPort(),
1829 ((EditText) mActivity.findViewById(R.id.url_bar)).getText() 1849 ((EditText) mActivity.findViewById(R.id.url_bar)).getText()
1830 .toString()); 1850 .toString());
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after
2496 switch (speculationMode) { 2516 switch (speculationMode) {
2497 case CustomTabsConnection.SpeculationParams.PRERENDER: 2517 case CustomTabsConnection.SpeculationParams.PRERENDER:
2498 return "prerender"; 2518 return "prerender";
2499 case CustomTabsConnection.SpeculationParams.HIDDEN_TAB: 2519 case CustomTabsConnection.SpeculationParams.HIDDEN_TAB:
2500 return "hidden"; 2520 return "hidden";
2501 default: 2521 default:
2502 return "visible"; 2522 return "visible";
2503 } 2523 }
2504 } 2524 }
2505 } 2525 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698