| 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 4358804f03091c0ab685ea5a1a58f08bb5f221a9..1b1acce4d991d181fcd91d0852948991115913a6 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
|
| @@ -46,7 +46,10 @@
|
| import org.chromium.base.ApplicationStatus;
|
| import org.chromium.base.ApplicationStatus.ActivityStateListener;
|
| import org.chromium.base.ObserverList.RewindableIterator;
|
| +import org.chromium.base.PathUtils;
|
| import org.chromium.base.ThreadUtils;
|
| +import org.chromium.base.library_loader.LibraryLoader;
|
| +import org.chromium.base.library_loader.LibraryProcessType;
|
| import org.chromium.base.test.util.CallbackHelper;
|
| import org.chromium.base.test.util.CommandLineFlags;
|
| import org.chromium.base.test.util.DisabledTest;
|
| @@ -61,6 +64,7 @@
|
| import org.chromium.chrome.browser.WarmupManager;
|
| import org.chromium.chrome.browser.appmenu.AppMenuHandler;
|
| import org.chromium.chrome.browser.document.ChromeLauncherActivity;
|
| +import org.chromium.chrome.browser.firstrun.FirstRunStatus;
|
| import org.chromium.chrome.browser.metrics.PageLoadMetrics;
|
| import org.chromium.chrome.browser.prerender.ExternalPrerenderHandler;
|
| import org.chromium.chrome.browser.profiles.Profile;
|
| @@ -76,6 +80,8 @@
|
| import org.chromium.chrome.test.util.ChromeRestriction;
|
| import org.chromium.chrome.test.util.browser.LocationSettingsTestUtil;
|
| import org.chromium.chrome.test.util.browser.contextmenu.ContextMenuUtils;
|
| +import org.chromium.content.browser.BrowserStartupController;
|
| +import org.chromium.content.browser.BrowserStartupController.StartupCallback;
|
| import org.chromium.content.browser.test.util.Criteria;
|
| import org.chromium.content.browser.test.util.CriteriaHelper;
|
| import org.chromium.content.browser.test.util.DOMUtils;
|
| @@ -144,10 +150,19 @@
|
| protected void setUp() throws Exception {
|
| super.setUp();
|
|
|
| + ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + FirstRunStatus.setFirstRunFlowComplete(true);
|
| + }
|
| + });
|
| +
|
| Context appContext = getInstrumentation().getTargetContext().getApplicationContext();
|
| mTestServer = EmbeddedTestServer.createAndStartServer(appContext);
|
| mTestPage = mTestServer.getURL(TEST_PAGE);
|
| mTestPage2 = mTestServer.getURL(TEST_PAGE_2);
|
| + PathUtils.setPrivateDataDirectorySuffix(PRIVATE_DATA_DIRECTORY_SUFFIX);
|
| + LibraryLoader.get(LibraryProcessType.PROCESS_BROWSER).ensureInitialized();
|
| mWebServer = TestWebServer.start();
|
|
|
| CustomTabsConnection connection =
|
| @@ -161,6 +176,13 @@
|
| CustomTabsConnection connection =
|
| CustomTabsConnection.getInstance((Application) appContext);
|
| connection.setForcePrerender(false);
|
| +
|
| + ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + FirstRunStatus.setFirstRunFlowComplete(false);
|
| + }
|
| + });
|
|
|
| mTestServer.stopAndDestroyServer();
|
|
|
| @@ -2259,6 +2281,38 @@
|
| assertEquals(mTestPage, tab.getUrl());
|
| }
|
|
|
| + private CustomTabsConnection warmUpAndWait() {
|
| + final Context context = getInstrumentation().getTargetContext().getApplicationContext();
|
| + CustomTabsConnection connection =
|
| + CustomTabsTestUtils.setUpConnection((Application) context);
|
| + final CallbackHelper startupCallbackHelper = new CallbackHelper();
|
| + assertTrue(connection.warmup(0));
|
| + ThreadUtils.runOnUiThread(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER)
|
| + .addStartupCompletedObserver(new StartupCallback() {
|
| + @Override
|
| + public void onSuccess(boolean alreadyStarted) {
|
| + startupCallbackHelper.notifyCalled();
|
| + }
|
| +
|
| + @Override
|
| + public void onFailure() {
|
| + fail();
|
| + }
|
| + });
|
| + }
|
| + });
|
| +
|
| + try {
|
| + startupCallbackHelper.waitForCallback(0);
|
| + } catch (TimeoutException | InterruptedException e) {
|
| + fail();
|
| + }
|
| + return connection;
|
| + }
|
| +
|
| private ChromeActivity reparentAndVerifyTab() throws InterruptedException {
|
| ActivityResult result = null;
|
| final ActivityMonitor monitor = getInstrumentation().addMonitor(
|
|
|