| Index: chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java
|
| index b86be3d749f11634b11f65f9eb104b44439cccdc..ab7a16ae32f91fc6099ca51c06e2cda5a2abb1f2 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java
|
| @@ -15,16 +15,14 @@
|
| import org.chromium.chrome.browser.externalnav.ExternalNavigationParams;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.chrome.browser.tab.TabDelegateFactory;
|
| -import org.chromium.content.browser.test.util.Criteria;
|
| -import org.chromium.content.browser.test.util.CriteriaHelper;
|
| -import org.chromium.content.browser.test.util.DOMUtils;
|
| import org.chromium.net.test.EmbeddedTestServer;
|
|
|
| /**
|
| - * Instrumentation tests for external navigation handling of a Custom Tab.
|
| + * Instrumentation test for external navigation handling of a Custom Tab.
|
| */
|
| @RetryOnFailure
|
| public class CustomTabExternalNavigationTest extends CustomTabActivityTestBase {
|
| +
|
| /**
|
| * A dummy activity that claims to handle "customtab://customtabtest".
|
| */
|
| @@ -64,14 +62,30 @@
|
| super.tearDown();
|
| }
|
|
|
| + @Override
|
| + public void startMainActivity() throws InterruptedException {
|
| + super.startMainActivity();
|
| + startCustomTabActivityWithIntent(CustomTabsTestUtils.createMinimalCustomTabIntent(
|
| + getInstrumentation().getTargetContext(), mTestServer.getURL(TEST_PATH)));
|
| + Tab tab = getActivity().getActivityTab();
|
| + TabDelegateFactory delegateFactory = tab.getDelegateFactory();
|
| + assertTrue(delegateFactory instanceof CustomTabDelegateFactory);
|
| + CustomTabDelegateFactory customTabDelegateFactory =
|
| + ((CustomTabDelegateFactory) delegateFactory);
|
| + mUrlHandler = customTabDelegateFactory.getExternalNavigationHandler();
|
| + assertTrue(customTabDelegateFactory.getExternalNavigationDelegate()
|
| + instanceof CustomTabNavigationDelegate);
|
| + mNavigationDelegate = (CustomTabNavigationDelegate) customTabDelegateFactory
|
| + .getExternalNavigationDelegate();
|
| + }
|
| +
|
| /**
|
| * For urls with special schemes and hosts, and there is exactly one activity having a matching
|
| * intent filter, the framework will make that activity the default handler of the special url.
|
| * This test tests whether chrome is able to start the default external handler.
|
| */
|
| @SmallTest
|
| - public void testExternalActivityStartedForDefaultUrl() throws Exception {
|
| - startCustomTabActivity(mTestServer.getURL(TEST_PATH));
|
| + public void testExternalActivityStartedForDefaultUrl() {
|
| final String testUrl = "customtab://customtabtest/intent";
|
| ExternalNavigationParams params = new ExternalNavigationParams.Builder(testUrl, false)
|
| .build();
|
| @@ -86,8 +100,7 @@
|
| * be shown, even if other activities such as {@link DummyActivityForHttp} claim to handle it.
|
| */
|
| @SmallTest
|
| - public void testIntentPickerNotShownForNormalUrl() throws Exception {
|
| - startCustomTabActivity(mTestServer.getURL(TEST_PATH));
|
| + public void testIntentPickerNotShownForNormalUrl() {
|
| final String testUrl = "http://customtabtest.com";
|
| ExternalNavigationParams params = new ExternalNavigationParams.Builder(testUrl, false)
|
| .build();
|
| @@ -96,40 +109,4 @@
|
| assertFalse("External activities should not be started to handle the url",
|
| mNavigationDelegate.hasExternalActivityStarted());
|
| }
|
| -
|
| - /**
|
| - * Launches a Custom Tab, clicks on an external app scheme link, and check that an external
|
| - * activity has been launched.
|
| - */
|
| - @SmallTest
|
| - public void testExternalApplicationLink() throws Exception {
|
| - warmUpAndWait();
|
| - startCustomTabActivity(mTestServer.getURL(TEST_PATH));
|
| -
|
| - Tab tab = getActivity().getActivityTab();
|
| - assertTrue(DOMUtils.clickNode(tab.getContentViewCore(), "customtab-external-link"));
|
| -
|
| - CriteriaHelper.pollUiThread(new Criteria("External Activity not launched.") {
|
| - @Override
|
| - public boolean isSatisfied() {
|
| - return mNavigationDelegate.hasExternalActivityStarted();
|
| - }
|
| - });
|
| - }
|
| -
|
| - private void startCustomTabActivity(String url) throws InterruptedException {
|
| - super.startMainActivity();
|
| - startCustomTabActivityWithIntent(CustomTabsTestUtils.createMinimalCustomTabIntent(
|
| - getInstrumentation().getTargetContext(), url));
|
| - Tab tab = getActivity().getActivityTab();
|
| - TabDelegateFactory delegateFactory = tab.getDelegateFactory();
|
| - assertTrue(delegateFactory instanceof CustomTabDelegateFactory);
|
| - CustomTabDelegateFactory customTabDelegateFactory =
|
| - ((CustomTabDelegateFactory) delegateFactory);
|
| - mUrlHandler = customTabDelegateFactory.getExternalNavigationHandler();
|
| - assertTrue(customTabDelegateFactory.getExternalNavigationDelegate()
|
| - instanceof CustomTabNavigationDelegate);
|
| - mNavigationDelegate = (CustomTabNavigationDelegate)
|
| - customTabDelegateFactory.getExternalNavigationDelegate();
|
| - }
|
| }
|
|
|