Commit 51812767 authored by Colin Blundell's avatar Colin Blundell Committed by Commit Bot

[Android] s/OverrideUrlLoadingResult/OverrideUrlLoadingResultType/g

This CL renames the OverrideUrlLoadingResult enum to
OverrideUrlLoadingResultType in preparation for introducing an
OverrideUrlLoadingResult object that will package this enum together
with other state about the result of an invocation of
ExternalNavigationHandler.shouldOverrideUrlLoading().

Bug: 1145983
Change-Id: Ife1effecdf44dde5bb6fb3f9afe840d280e9c2a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2556960Reviewed-by: default avatarMichael Thiessen <mthiesse@chromium.org>
Commit-Queue: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#830580}
parent 3baef451
......@@ -52,7 +52,7 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator;
import org.chromium.components.external_intents.ExternalNavigationHandler;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType;
import org.chromium.components.external_intents.ExternalNavigationParams;
import org.chromium.components.external_intents.RedirectHandler;
import org.chromium.components.navigation_interception.NavigationParams;
......@@ -1098,7 +1098,7 @@ public class ContextualSearchManager
.setIsMainFrame(navigationParams.isMainFrame)
.build();
if (externalNavHandler.shouldOverrideUrlLoading(params)
!= OverrideUrlLoadingResult.NO_OVERRIDE) {
!= OverrideUrlLoadingResultType.NO_OVERRIDE) {
return false;
}
return !navigationParams.isExternalProtocol;
......
......@@ -35,7 +35,7 @@ import org.chromium.chrome.browser.tab.TabUtils;
import org.chromium.components.external_intents.ExternalNavigationDelegate;
import org.chromium.components.external_intents.ExternalNavigationDelegate.StartActivityIfNeededResult;
import org.chromium.components.external_intents.ExternalNavigationHandler;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType;
import org.chromium.components.external_intents.ExternalNavigationParams;
import org.chromium.components.external_intents.RedirectHandler;
import org.chromium.content_public.browser.LoadUrlParams;
......@@ -149,13 +149,14 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
}
@Override
public @OverrideUrlLoadingResult int handleIncognitoIntentTargetingSelf(
public @OverrideUrlLoadingResultType int handleIncognitoIntentTargetingSelf(
final Intent intent, final String referrerUrl, final String fallbackUrl) {
String primaryUrl = intent.getDataString();
boolean isUrlLoadedInTheSameTab = ExternalNavigationHandler.loadUrlFromIntent(
referrerUrl, primaryUrl, fallbackUrl, this, false, true);
return (isUrlLoadedInTheSameTab) ? OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB
: OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
return (isUrlLoadedInTheSameTab)
? OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB
: OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
}
@Override
......
......@@ -27,7 +27,7 @@ import org.chromium.chrome.browser.tab.TabDelegateFactory;
import org.chromium.chrome.browser.tab.TabTestUtils;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.components.external_intents.ExternalNavigationHandler;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType;
import org.chromium.components.external_intents.ExternalNavigationParams;
import org.chromium.net.test.EmbeddedTestServer;
......@@ -107,9 +107,9 @@ public class CustomTabExternalNavigationTest {
final String testUrl = "customtab://customtabtest/intent";
ExternalNavigationParams params = new ExternalNavigationParams.Builder(testUrl, false)
.build();
@OverrideUrlLoadingResult
@OverrideUrlLoadingResultType
int result = mUrlHandler.shouldOverrideUrlLoading(params);
Assert.assertEquals(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, result);
Assert.assertEquals(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, result);
Assert.assertTrue("A dummy activity should have been started to handle the special url.",
mNavigationDelegate.hasExternalActivityStarted());
}
......@@ -124,9 +124,9 @@ public class CustomTabExternalNavigationTest {
final String testUrl = "http://customtabtest.com";
ExternalNavigationParams params = new ExternalNavigationParams.Builder(testUrl, false)
.build();
@OverrideUrlLoadingResult
@OverrideUrlLoadingResultType
int result = mUrlHandler.shouldOverrideUrlLoading(params);
Assert.assertEquals(OverrideUrlLoadingResult.NO_OVERRIDE, result);
Assert.assertEquals(OverrideUrlLoadingResultType.NO_OVERRIDE, result);
Assert.assertFalse("External activities should not be started to handle the url",
mNavigationDelegate.hasExternalActivityStarted());
}
......
......@@ -37,7 +37,7 @@ import org.chromium.chrome.browser.tab.TabDelegateFactory;
import org.chromium.chrome.browser.tab.TabTestUtils;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType;
import org.chromium.components.external_intents.InterceptNavigationDelegateImpl;
import org.chromium.content_public.browser.test.util.DOMUtils;
import org.chromium.content_public.browser.test.util.TestThreadUtils;
......@@ -143,8 +143,9 @@ public class CustomTabFromChromeExternalNavigationTest {
}, "Navigation delegate never initialized.");
CriteriaHelper.pollUiThread(() -> {
Criteria.checkThat(navigationDelegate.get().getLastOverrideUrlLoadingResultForTests(),
Matchers.is(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT));
Criteria.checkThat(
navigationDelegate.get().getLastOverrideUrlLoadingResultTypeForTests(),
Matchers.is(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT));
});
CriteriaHelper.pollUiThread(() -> {
......
......@@ -41,7 +41,7 @@ import org.chromium.chrome.browser.tab.TabCreationState;
import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType;
import org.chromium.components.external_intents.InterceptNavigationDelegateImpl;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.NavigationHandle;
......@@ -267,11 +267,11 @@ public class UrlOverridingTest {
Tab latestTab = latestTabHolder[0];
InterceptNavigationDelegateImpl delegate = latestDelegateHolder[0];
if (shouldLaunchExternalIntent) {
Criteria.checkThat(delegate.getLastOverrideUrlLoadingResultForTests(),
Matchers.is(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT));
Criteria.checkThat(delegate.getLastOverrideUrlLoadingResultTypeForTests(),
Matchers.is(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT));
} else {
Criteria.checkThat(delegate.getLastOverrideUrlLoadingResultForTests(),
Matchers.not(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT));
Criteria.checkThat(delegate.getLastOverrideUrlLoadingResultTypeForTests(),
Matchers.not(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT));
}
if (expectedFinalUrl == null) return;
Criteria.checkThat(latestTab.getUrlString(), Matchers.is(expectedFinalUrl));
......
......@@ -76,10 +76,10 @@ public class InterceptNavigationDelegateTest {
}
@Override
public @OverrideUrlLoadingResult int shouldOverrideUrlLoading(
public @OverrideUrlLoadingResultType int shouldOverrideUrlLoading(
ExternalNavigationParams params) {
mExternalNavParamHistory.add(params);
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
}
......
......@@ -11,7 +11,7 @@ import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.WindowAndroid;
......@@ -100,9 +100,9 @@ public interface ExternalNavigationDelegate {
* @param intent The intent to be handled by the embedder.
* @param referrerUrl The referrer for the current navigation.
* @param fallbackUrl The fallback URL to load if the intent cannot be handled by the embedder.
* @return The OverrideUrlLoadingResult for the action taken by the embedder.
* @return The OverrideUrlLoadingResultType for the action taken by the embedder.
*/
@OverrideUrlLoadingResult
@OverrideUrlLoadingResultType
int handleIncognitoIntentTargetingSelf(Intent intent, String referrerUrl, String fallbackUrl);
/**
......
......@@ -184,12 +184,12 @@ public class ExternalNavigationHandler {
* NOTE: this enum is used in UMA, do not reorder values. Changes should be append only.
* Values should be numerated from 0 and can't have gaps.
*/
@IntDef({OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB,
OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION,
OverrideUrlLoadingResult.NO_OVERRIDE})
@IntDef({OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB,
OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION,
OverrideUrlLoadingResultType.NO_OVERRIDE})
@Retention(RetentionPolicy.SOURCE)
public @interface OverrideUrlLoadingResult {
public @interface OverrideUrlLoadingResultType {
/* We should override the URL loading and launch an intent. */
int OVERRIDE_WITH_EXTERNAL_INTENT = 0;
/* We should override the URL loading and clobber the current tab. */
......@@ -217,7 +217,8 @@ public class ExternalNavigationHandler {
* @return Whether the URL generated an intent, caused a navigation in
* current tab, or wasn't handled at all.
*/
public @OverrideUrlLoadingResult int shouldOverrideUrlLoading(ExternalNavigationParams params) {
public @OverrideUrlLoadingResultType int shouldOverrideUrlLoading(
ExternalNavigationParams params) {
if (DEBUG) Log.i(TAG, "shouldOverrideUrlLoading called on " + params.getUrl());
Intent targetIntent;
// Perform generic parsing of the URI to turn it into an Intent.
......@@ -225,7 +226,7 @@ public class ExternalNavigationHandler {
targetIntent = Intent.parseUri(params.getUrl(), Intent.URI_INTENT_SCHEME);
} catch (Exception ex) {
Log.w(TAG, "Bad URI %s", params.getUrl(), ex);
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
String browserFallbackUrl =
......@@ -240,14 +241,14 @@ public class ExternalNavigationHandler {
MutableBoolean canLaunchExternalFallbackResult = new MutableBoolean();
long time = SystemClock.elapsedRealtime();
@OverrideUrlLoadingResult
@OverrideUrlLoadingResultType
int result = shouldOverrideUrlLoadingInternal(
params, targetIntent, browserFallbackUrl, canLaunchExternalFallbackResult);
assert canLaunchExternalFallbackResult.get() != null;
RecordHistogram.recordTimesHistogram(
"Android.StrictMode.OverrideUrlLoadingTime", SystemClock.elapsedRealtime() - time);
if (result != OverrideUrlLoadingResult.NO_OVERRIDE) {
if (result != OverrideUrlLoadingResultType.NO_OVERRIDE) {
int pageTransitionCore = params.getPageTransition() & PageTransition.CORE_MASK;
boolean isFormSubmit = pageTransitionCore == PageTransition.FORM_SUBMIT;
boolean isRedirectFromFormSubmit = isFormSubmit && params.isRedirect();
......@@ -256,18 +257,18 @@ public class ExternalNavigationHandler {
"Android.Intent.LaunchExternalAppFormSubmitHasUserGesture",
params.hasUserGesture());
}
} else if (result == OverrideUrlLoadingResult.NO_OVERRIDE && browserFallbackUrl != null
} else if (result == OverrideUrlLoadingResultType.NO_OVERRIDE && browserFallbackUrl != null
&& (params.getRedirectHandler() == null
// For instance, if this is a chained fallback URL, we ignore it.
|| !params.getRedirectHandler().shouldNotOverrideUrlLoading())) {
result = handleFallbackUrl(params, targetIntent, browserFallbackUrl,
canLaunchExternalFallbackResult.get());
}
if (DEBUG) printDebugShouldOverrideUrlLoadingResult(result);
if (DEBUG) printDebugShouldOverrideUrlLoadingResultType(result);
return result;
}
private @OverrideUrlLoadingResult int handleFallbackUrl(ExternalNavigationParams params,
private @OverrideUrlLoadingResultType int handleFallbackUrl(ExternalNavigationParams params,
Intent targetIntent, String browserFallbackUrl, boolean canLaunchExternalFallback) {
if (mDelegate.isIntentToInstantApp(targetIntent)) {
RecordHistogram.recordEnumeratedHistogram("Android.InstantApps.DirectInstantAppsIntent",
......@@ -285,7 +286,7 @@ public class ExternalNavigationHandler {
List<ResolveInfo> resolvingInfos = queryIntentActivities(intent);
if (!isAlreadyInTargetWebApk(resolvingInfos, params)
&& launchWebApkIfSoleIntentHandler(resolvingInfos, intent)) {
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
}
} catch (Exception e) {
if (DEBUG) Log.i(TAG, "Could not parse fallback url as intent");
......@@ -306,7 +307,7 @@ public class ExternalNavigationHandler {
// http://crbug.com/364522.
if (!params.isMainFrame()) {
if (DEBUG) Log.i(TAG, "Don't support fallback url in subframes");
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
// NOTE: any further redirection from fall-back URL should not override URL loading.
......@@ -320,19 +321,19 @@ public class ExternalNavigationHandler {
return clobberCurrentTab(browserFallbackUrl, params.getReferrerUrl());
}
private void printDebugShouldOverrideUrlLoadingResult(int result) {
private void printDebugShouldOverrideUrlLoadingResultType(int result) {
String resultString;
switch (result) {
case OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT:
case OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT:
resultString = "OVERRIDE_WITH_EXTERNAL_INTENT";
break;
case OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB:
case OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB:
resultString = "OVERRIDE_WITH_CLOBBERING_TAB";
break;
case OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION:
case OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION:
resultString = "OVERRIDE_WITH_ASYNC_ACTION";
break;
case OverrideUrlLoadingResult.NO_OVERRIDE: // Fall through.
case OverrideUrlLoadingResultType.NO_OVERRIDE: // Fall through.
default:
resultString = "NO_OVERRIDE";
break;
......@@ -466,11 +467,11 @@ public class ExternalNavigationHandler {
*
* @param url The new URL after clobbering the current tab.
* @param referrerUrl The HTTP referrer URL.
* @return OverrideUrlLoadingResult (if the tab has been clobbered, or we're launching an
* @return OverrideUrlLoadingResultType (if the tab has been clobbered, or we're launching an
* intent.)
*/
@VisibleForTesting
protected @OverrideUrlLoadingResult int clobberCurrentTab(String url, String referrerUrl) {
protected @OverrideUrlLoadingResultType int clobberCurrentTab(String url, String referrerUrl) {
int transitionType = PageTransition.LINK;
final LoadUrlParams loadUrlParams = new LoadUrlParams(url, transitionType);
if (!TextUtils.isEmpty(referrerUrl)) {
......@@ -487,7 +488,7 @@ public class ExternalNavigationHandler {
mDelegate.loadUrlIfPossible(loadUrlParams);
}
});
return OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB;
} else {
assert false : "clobberCurrentTab was called with an empty tab.";
Uri uri = Uri.parse(url);
......@@ -497,7 +498,7 @@ public class ExternalNavigationHandler {
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setPackage(packageName);
startActivity(intent, false, mDelegate);
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
}
}
......@@ -781,14 +782,14 @@ public class ExternalNavigationHandler {
private int handleUnresolvableIntent(
ExternalNavigationParams params, Intent targetIntent, String browserFallbackUrl) {
// Fallback URL will be handled by the caller of shouldOverrideUrlLoadingInternal.
if (browserFallbackUrl != null) return OverrideUrlLoadingResult.NO_OVERRIDE;
if (browserFallbackUrl != null) return OverrideUrlLoadingResultType.NO_OVERRIDE;
if (targetIntent.getPackage() != null) return handleWithMarketIntent(params, targetIntent);
if (DEBUG) Log.i(TAG, "Could not find an external activity to use");
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
private @OverrideUrlLoadingResult int handleWithMarketIntent(
private @OverrideUrlLoadingResultType int handleWithMarketIntent(
ExternalNavigationParams params, Intent intent) {
String marketReferrer = IntentUtils.safeGetStringExtra(intent, EXTRA_MARKET_REFERRER);
if (TextUtils.isEmpty(marketReferrer)) {
......@@ -850,9 +851,9 @@ public class ExternalNavigationHandler {
* This is the catch-all path for any intent that the app can handle that doesn't have a
* specialized external app handling it.
*/
private @OverrideUrlLoadingResult int fallBackToHandlingInApp() {
private @OverrideUrlLoadingResultType int fallBackToHandlingInApp() {
if (DEBUG) Log.i(TAG, "No specialized handler for URL");
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
/**
......@@ -949,7 +950,7 @@ public class ExternalNavigationHandler {
params.isRendererInitiated(), params.getInitiatorOrigin());
}
private @OverrideUrlLoadingResult int handleExternalIncognitoIntent(Intent targetIntent,
private @OverrideUrlLoadingResultType int handleExternalIncognitoIntent(Intent targetIntent,
ExternalNavigationParams params, String browserFallbackUrl,
boolean shouldProxyForInstantApps) {
// This intent may leave this app. Warn the user that incognito does not carry over
......@@ -958,10 +959,10 @@ public class ExternalNavigationHandler {
params.shouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent(),
shouldProxyForInstantApps)) {
if (DEBUG) Log.i(TAG, "Incognito navigation out");
return OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION;
}
if (DEBUG) Log.i(TAG, "Failed to show incognito alert dialog.");
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
/**
......@@ -1128,35 +1129,37 @@ public class ExternalNavigationHandler {
|| blockExternalNavFromBackgroundTab(params) || ignoreBackForwardNav(params);
}
private @OverrideUrlLoadingResult int shouldOverrideUrlLoadingInternal(
private @OverrideUrlLoadingResultType int shouldOverrideUrlLoadingInternal(
ExternalNavigationParams params, Intent targetIntent,
@Nullable String browserFallbackUrl, MutableBoolean canLaunchExternalFallbackResult) {
sanitizeQueryIntentActivitiesIntent(targetIntent);
// Don't allow external fallback URLs by default.
canLaunchExternalFallbackResult.set(false);
if (shouldBlockAllExternalAppLaunches(params)) return OverrideUrlLoadingResult.NO_OVERRIDE;
if (shouldBlockAllExternalAppLaunches(params)) {
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (handleWithAutofillAssistant(params, targetIntent, browserFallbackUrl)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
boolean isExternalProtocol = !UrlUtilities.isAcceptedScheme(params.getUrl());
if (isInternalPdfDownload(isExternalProtocol, params)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
// This check should happen for reloads, navigations, etc..., which is why
// it occurs before the subsequent blocks.
if (startFileIntentIfNecessary(params, targetIntent)) {
return OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION;
}
// This should come after file intents, but before any returns of
// OVERRIDE_WITH_EXTERNAL_INTENT.
if (externalIntentRequestsDisabledForUrl(params)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
int pageTransitionCore = params.getPageTransition() & PageTransition.CORE_MASK;
......@@ -1175,42 +1178,42 @@ public class ExternalNavigationHandler {
(isLink && isFromIntent && params.isRedirect()) || isOnEffectiveIntentRedirect;
if (handleCCTRedirectsToInstantApps(params, isExternalProtocol, incomingIntentRedirect)) {
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
} else if (redirectShouldStayInApp(params, isExternalProtocol, targetIntent)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (!preferToShowIntentPicker(params, pageTransitionCore, isExternalProtocol, isFormSubmit,
linkNotFromIntent, incomingIntentRedirect)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (isLinkFromChromeInternalPage(params)) return OverrideUrlLoadingResult.NO_OVERRIDE;
if (isLinkFromChromeInternalPage(params)) return OverrideUrlLoadingResultType.NO_OVERRIDE;
if (handleWtaiMcProtocol(params)) {
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
}
// TODO: handle other WTAI schemes.
if (isUnhandledWtaiProtocol(params)) return OverrideUrlLoadingResult.NO_OVERRIDE;
if (isUnhandledWtaiProtocol(params)) return OverrideUrlLoadingResultType.NO_OVERRIDE;
boolean hasIntentScheme = params.getUrl().startsWith(UrlConstants.INTENT_URL_SHORT_PREFIX)
|| params.getUrl().startsWith(UrlConstants.APP_INTENT_URL_SHORT_PREFIX);
if (hasInternalScheme(params, targetIntent, hasIntentScheme)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (hasContentScheme(params, targetIntent, hasIntentScheme)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (hasFileSchemeInIntentURI(targetIntent, hasIntentScheme)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (isYoutubePairingCode(params)) return OverrideUrlLoadingResult.NO_OVERRIDE;
if (isYoutubePairingCode(params)) return OverrideUrlLoadingResultType.NO_OVERRIDE;
if (shouldStayInIncognito(params, isExternalProtocol)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (!maybeSetSmsPackage(targetIntent)) maybeRecordPhoneIntentMetrics(targetIntent);
......@@ -1233,7 +1236,7 @@ public class ExternalNavigationHandler {
if (!isExternalProtocol && !hasSpecializedHandler) {
if (fallBackToHandlingWithInstantApp(
params, incomingIntentRedirect, linkNotFromIntent)) {
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
}
return fallBackToHandlingInApp();
}
......@@ -1243,14 +1246,14 @@ public class ExternalNavigationHandler {
if (shouldStayWithinHost(
params, isLink, isFormSubmit, resolvingInfos, isExternalProtocol)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
boolean isDirectInstantAppsIntent =
isExternalProtocol && mDelegate.isIntentToInstantApp(targetIntent);
boolean shouldProxyForInstantApps = isDirectInstantAppsIntent && isSerpReferrer();
if (preventDirectInstantAppsIntent(isDirectInstantAppsIntent, shouldProxyForInstantApps)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
prepareExternalIntent(targetIntent, params, resolvingInfos, shouldProxyForInstantApps);
......@@ -1276,18 +1279,18 @@ public class ExternalNavigationHandler {
if (shouldKeepIntentRedirectInApp(
params, incomingIntentRedirect, resolvingInfos, isExternalProtocol)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (isAlreadyInTargetWebApk(resolvingInfos, params)) {
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
} else if (launchWebApkIfSoleIntentHandler(resolvingInfos, targetIntent)) {
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
}
if (launchExternalIntent(targetIntent, shouldProxyForInstantApps)) {
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
}
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
/**
......@@ -1309,7 +1312,7 @@ public class ExternalNavigationHandler {
* @return OVERRIDE_WITH_EXTERNAL_INTENT when we successfully started market activity,
* NO_OVERRIDE otherwise.
*/
private @OverrideUrlLoadingResult int sendIntentToMarket(
private @OverrideUrlLoadingResultType int sendIntentToMarket(
String packageName, String marketReferrer, ExternalNavigationParams params) {
Uri marketUri =
new Uri.Builder()
......@@ -1329,7 +1332,7 @@ public class ExternalNavigationHandler {
if (!deviceCanHandleIntent(intent)) {
// Exit early if the Play Store isn't available. (https://crbug.com/820709)
if (DEBUG) Log.i(TAG, "Play Store not installed.");
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (params.isIncognito()) {
......@@ -1337,14 +1340,14 @@ public class ExternalNavigationHandler {
params.shouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent(), false)) {
if (DEBUG) Log.i(TAG, "Failed to show incognito alert dialog.");
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
if (DEBUG) Log.i(TAG, "Incognito intent to Play Store.");
return OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION;
} else {
startActivity(intent, false, mDelegate);
if (DEBUG) Log.i(TAG, "Intent to Play Store.");
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
}
}
......
......@@ -10,7 +10,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.base.task.PostTask;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType;
import org.chromium.components.navigation_interception.InterceptNavigationDelegate;
import org.chromium.components.navigation_interception.NavigationParams;
import org.chromium.content_public.browser.NavigationController;
......@@ -31,8 +31,8 @@ import org.chromium.content_public.common.ConsoleMessageLevel;
public class InterceptNavigationDelegateImpl implements InterceptNavigationDelegate {
private final AuthenticatorNavigationInterceptor mAuthenticatorHelper;
private InterceptNavigationDelegateClient mClient;
private @OverrideUrlLoadingResult int mLastOverrideUrlLoadingResult =
OverrideUrlLoadingResult.NO_OVERRIDE;
private @OverrideUrlLoadingResultType int mLastOverrideUrlLoadingResultType =
OverrideUrlLoadingResultType.NO_OVERRIDE;
private WebContents mWebContents;
private ExternalNavigationHandler mExternalNavHandler;
......@@ -81,14 +81,14 @@ public class InterceptNavigationDelegateImpl implements InterceptNavigationDeleg
ExternalNavigationParams params =
new ExternalNavigationParams.Builder(url, incognito).setOpenInNewTab(true).build();
mLastOverrideUrlLoadingResult = mExternalNavHandler.shouldOverrideUrlLoading(params);
return mLastOverrideUrlLoadingResult
!= ExternalNavigationHandler.OverrideUrlLoadingResult.NO_OVERRIDE;
mLastOverrideUrlLoadingResultType = mExternalNavHandler.shouldOverrideUrlLoading(params);
return mLastOverrideUrlLoadingResultType
!= ExternalNavigationHandler.OverrideUrlLoadingResultType.NO_OVERRIDE;
}
@VisibleForTesting
public @OverrideUrlLoadingResult int getLastOverrideUrlLoadingResultForTests() {
return mLastOverrideUrlLoadingResult;
public @OverrideUrlLoadingResultType int getLastOverrideUrlLoadingResultTypeForTests() {
return mLastOverrideUrlLoadingResultType;
}
@Override
......@@ -130,26 +130,26 @@ public class InterceptNavigationDelegateImpl implements InterceptNavigationDeleg
ExternalNavigationParams params =
buildExternalNavigationParams(navigationParams, redirectHandler, shouldCloseTab)
.build();
@OverrideUrlLoadingResult
@OverrideUrlLoadingResultType
int result = mExternalNavHandler.shouldOverrideUrlLoading(params);
mLastOverrideUrlLoadingResult = result;
mLastOverrideUrlLoadingResultType = result;
switch (result) {
case OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT:
case OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT:
assert mExternalNavHandler.canExternalAppHandleUrl(url);
if (navigationParams.isMainFrame) {
onOverrideUrlLoadingAndLaunchIntent(shouldCloseTab);
}
return true;
case OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB:
case OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB:
mShouldClearRedirectHistoryForTabClobbering = true;
return true;
case OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION:
case OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION:
if (!shouldCloseTab && navigationParams.isMainFrame) {
onOverrideUrlLoadingAndLaunchIntent(shouldCloseTab);
}
return true;
case OverrideUrlLoadingResult.NO_OVERRIDE:
case OverrideUrlLoadingResultType.NO_OVERRIDE:
default:
if (navigationParams.isExternalProtocol) {
logBlockedNavigationToDevToolsConsole(url);
......
......@@ -34,7 +34,7 @@ import org.chromium.base.IntentUtils;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
......@@ -180,13 +180,13 @@ public class ExternalNavigationHandlerTest {
checkUrl(YOUTUBE_URL)
.withRedirectHandler(handler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
mDelegate.setIsCallingAppTrusted(true);
checkUrl(YOUTUBE_URL)
.withRedirectHandler(handler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -199,7 +199,7 @@ public class ExternalNavigationHandlerTest {
// it within the browser.
checkUrl(YOUTUBE_URL)
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -210,10 +210,10 @@ public class ExternalNavigationHandlerTest {
// http://crbug.com/159153: Don't override http or https URLs from the NTP or bookmarks.
checkUrl(YOUTUBE_URL)
.withReferrer("chrome://about")
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
checkUrl("tel:012345678")
.withReferrer("chrome://about")
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -226,7 +226,7 @@ public class ExternalNavigationHandlerTest {
// forwards or backwards navigations.
checkUrl(YOUTUBE_URL)
.withPageTransition(PageTransition.LINK | PageTransition.FORWARD_BACK)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -240,13 +240,13 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(PageTransition.FORM_SUBMIT)
.withIsRedirect(true)
.withHasUserGesture(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
checkUrl("http://youtube.com://")
.withPageTransition(PageTransition.FORM_SUBMIT)
.withIsRedirect(true)
.withHasUserGesture(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
// If the page matches the referrer, then continue loading in Chrome.
......@@ -255,7 +255,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(PageTransition.FORM_SUBMIT)
.withIsRedirect(true)
.withHasUserGesture(true)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
// If the page does not match the referrer, then prompt an intent.
checkUrl("http://youtube.com://")
......@@ -263,7 +263,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(PageTransition.FORM_SUBMIT)
.withIsRedirect(true)
.withHasUserGesture(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
// It doesn't make sense to allow intent picker without redirect, since form data
......@@ -272,7 +272,7 @@ public class ExternalNavigationHandlerTest {
checkUrl("http://youtube.com://")
.withPageTransition(PageTransition.FORM_SUBMIT)
.withHasUserGesture(true)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -285,12 +285,12 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(PageTransition.FORM_SUBMIT)
.withIsRedirect(true)
.withHasUserGesture(false)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
checkUrl("http://youtube.com://")
.withPageTransition(PageTransition.FORM_SUBMIT)
.withIsRedirect(true)
.withHasUserGesture(false)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -312,14 +312,14 @@ public class ExternalNavigationHandlerTest {
.withIsRedirect(true)
.withHasUserGesture(false)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
checkUrl("http://youtube.com://")
.withPageTransition(PageTransition.FORM_SUBMIT)
.withIsRedirect(true)
.withHasUserGesture(false)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -329,7 +329,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.add(new IntentActivity(YOUTUBE_URL, YOUTUBE_PACKAGE_NAME));
mDelegate.setDisableExternalIntentRequests(true);
checkUrl(YOUTUBE_URL).expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
checkUrl(YOUTUBE_URL).expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -344,9 +344,9 @@ public class ExternalNavigationHandlerTest {
"intent://com.android.chrome.FileProvider/foo.html#Intent;scheme=content;end;",
"intent:///x.mhtml#Intent;package=com.android.chrome;action=android.intent.action.VIEW;scheme=file;end;"};
for (String url : urlsToIgnore) {
checkUrl(url).expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
checkUrl(url).expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
checkUrl(url).withIsIncognito(true).expecting(
OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
}
......@@ -357,23 +357,23 @@ public class ExternalNavigationHandlerTest {
// Non-link page transition type are ignored.
checkUrl(YOUTUBE_URL)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
checkUrl(YOUTUBE_URL)
.withIsRedirect(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
// http://crbug.com/143118 - Don't show the picker for directly typed URLs, unless
// the URL results in a redirect.
checkUrl(YOUTUBE_URL)
.withPageTransition(PageTransition.TYPED)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
// http://crbug.com/162106 - Don't show the picker on reload.
checkUrl(YOUTUBE_URL)
.withPageTransition(PageTransition.RELOAD)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -382,20 +382,20 @@ public class ExternalNavigationHandlerTest {
// Start the telephone application with the given number.
checkUrl("wtai://wp/mc;0123456789")
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY | INTENT_SANITIZATION_EXCEPTION);
// These two cases are currently unimplemented.
checkUrl("wtai://wp/sd;0123456789")
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE,
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE,
IGNORE | INTENT_SANITIZATION_EXCEPTION);
checkUrl("wtai://wp/ap;0123456789")
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE,
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE,
IGNORE | INTENT_SANITIZATION_EXCEPTION);
// Ignore other WTAI urls.
checkUrl("wtai://wp/invalid")
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE,
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE,
IGNORE | INTENT_SANITIZATION_EXCEPTION);
}
......@@ -406,7 +406,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(INTENT_APP_NOT_INSTALLED_WITH_MARKET_REFERRER)
.withReferrer(KEEP_URL)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertNotNull(mDelegate.startActivityIntent);
......@@ -423,7 +423,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.setCanResolveActivityForExternalSchemes(false);
checkUrl(INTENT_APP_NOT_INSTALLED_DEFAULT_MARKET_REFERRER)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertNotNull(mDelegate.startActivityIntent);
......@@ -436,7 +436,7 @@ public class ExternalNavigationHandlerTest {
@SmallTest
public void testExternalUri() {
checkUrl("tel:012345678")
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -447,20 +447,20 @@ public class ExternalNavigationHandlerTest {
checkUrl("market://1234")
.withPageTransition(PageTransition.TYPED)
.withIsRedirect(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
// http://crbug.com/709217
checkUrl("market://1234")
.withPageTransition(PageTransition.FROM_ADDRESS_BAR)
.withIsRedirect(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
// http://crbug.com/143118
checkUrl("market://1234")
.withPageTransition(PageTransition.TYPED)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -472,13 +472,13 @@ public class ExternalNavigationHandlerTest {
// http://crbug.com/149218
checkUrl(YOUTUBE_URL)
.withPageTransition(transitionTypeIncomingIntent)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
// http://crbug.com/170925
checkUrl(YOUTUBE_URL)
.withPageTransition(transitionTypeIncomingIntent)
.withIsRedirect(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -493,15 +493,15 @@ public class ExternalNavigationHandlerTest {
+ "action=android.settings.SETTINGS;end";
checkUrl(url).expecting(
OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
// http://crbug.com/370399
checkUrl(urlWithSel)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
checkUrl(urlWithNullData)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -525,23 +525,24 @@ public class ExternalNavigationHandlerTest {
for (String url : goodUrls) {
// http://crbug/386600 - it makes no sense to switch activities for pairing code URLs.
checkUrl(url).withIsRedirect(true).expecting(
OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
checkUrl(url)
.withPageTransition(transitionTypeIncomingIntent)
.withIsRedirect(true)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
// The pairing code URL regex shouldn't cause NO_OVERRIDE on invalid URLs.
for (String url : badUrls) {
checkUrl(url).withIsRedirect(true).expecting(
OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
checkUrl(url)
.withPageTransition(transitionTypeIncomingIntent)
.withIsRedirect(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
}
......@@ -567,7 +568,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
// Do not ignore if a new intent has any new resolver.
redirectHandler.updateIntent(fooIntent, !IS_CUSTOM_TAB_INTENT, !SEND_TO_EXTERNAL_APPS,
......@@ -578,7 +579,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
// Do not ignore if a new intent cannot be handled by Chrome.
......@@ -590,7 +591,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -613,7 +614,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
// Do not ignore if the URI has an external protocol.
redirectHandler.updateIntent(fooIntent, !IS_CUSTOM_TAB_INTENT, !SEND_TO_EXTERNAL_APPS,
......@@ -624,7 +625,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -645,7 +646,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(YOUTUBE_URL)
.withPageTransition(transTypeLinkFromIntent)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
// In Custom Tabs, if the first url is a redirect, don't allow it to intent out.
Intent fooIntent = Intent.parseUri("http://foo.com/", Intent.URI_INTENT_SCHEME);
......@@ -658,7 +659,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
// In Custom Tabs, if the external handler extra is present, intent out if the first
// url is a redirect.
......@@ -672,7 +673,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Intent extraIntent3 = Intent.parseUri(YOUTUBE_URL, Intent.URI_INTENT_SCHEME);
......@@ -685,7 +686,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
// External intent for a user-initiated navigation should always be allowed.
......@@ -698,7 +699,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(YOUTUBE_URL)
.withPageTransition(PageTransition.LINK)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -723,7 +724,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
}
@Test
......@@ -732,7 +733,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.setCanLoadUrlInTab(false);
checkUrl(INTENT_URL_FOR_CHROME_CUSTOM_TABS)
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
Assert.assertTrue(mDelegate.handleIncognitoIntentTargetingSelfCalled);
}
......@@ -741,7 +742,7 @@ public class ExternalNavigationHandlerTest {
public void testCCTIntentUriFiresCCT_InRegular() throws Exception {
checkUrl(INTENT_URL_FOR_CHROME_CUSTOM_TABS)
.withIsIncognito(false)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertFalse(mDelegate.handleIncognitoIntentTargetingSelfCalled);
}
......@@ -752,7 +753,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.setCanLoadUrlInTab(false);
checkUrl(INTENT_URL_FOR_CHROME)
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
Assert.assertTrue(mDelegate.handleIncognitoIntentTargetingSelfCalled);
}
......@@ -773,7 +774,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
// URL that cannot be handled with instant apps should stay in Chrome.
mDelegate.setCanHandleWithInstantApp(false);
......@@ -781,7 +782,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(transTypeLinkFromIntent)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -790,12 +791,12 @@ public class ExternalNavigationHandlerTest {
mDelegate.setCanHandleWithInstantApp(false);
checkUrl("http://maybeinstantapp.com")
.withPageTransition(PageTransition.LINK)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
mDelegate.setCanHandleWithInstantApp(true);
checkUrl("http://maybeinstantapp.com")
.withPageTransition(PageTransition.LINK)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, IGNORE);
}
@Test
......@@ -811,21 +812,21 @@ public class ExternalNavigationHandlerTest {
mUrlHandler.mIsSerpReferrer = true;
mDelegate.setIsIntentToInstantApp(true);
checkUrl(intentUrl).expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
checkUrl(intentUrl).expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY | PROXY_FOR_INSTANT_APPS);
Assert.assertTrue(
mDelegate.startActivityIntent.getBooleanExtra(IS_INSTANT_APP_EXTRA, false));
// Check that we block all instant app intent:// URLs not from SERP.
mUrlHandler.mIsSerpReferrer = false;
checkUrl(intentUrl).expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
checkUrl(intentUrl).expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
// Check that that just having the SERP referrer alone doesn't cause intents to be treated
// as intents to instant apps if the delegate indicates that they shouldn't be.
mUrlHandler.mIsSerpReferrer = true;
mDelegate.setIsIntentToInstantApp(false);
checkUrl(intentUrl).expecting(
OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
Assert.assertFalse(
mDelegate.startActivityIntent.getBooleanExtra(IS_INSTANT_APP_EXTRA, true));
}
......@@ -838,7 +839,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Intent invokedIntent = mDelegate.startActivityIntent;
......@@ -859,7 +860,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withIsIncognito(true)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION,
START_INCOGNITO | START_OTHER_ACTIVITY);
Assert.assertNull(mUrlHandler.mNewUrlAfterClobbering);
......@@ -875,7 +876,8 @@ public class ExternalNavigationHandlerTest {
mDelegate.add(new IntentActivity(IMDB_WEBPAGE_FOR_TOM_HANKS, WEBAPK_PACKAGE_NAME));
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_WEBAPK);
.expecting(
OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, START_WEBAPK);
}
@Test
......@@ -888,7 +890,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.add(new IntentActivity(IMDB_WEBPAGE_FOR_TOM_HANKS, TEXT_APP_1_PACKAGE_NAME));
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
Assert.assertNull(mDelegate.startActivityIntent);
Assert.assertEquals(IMDB_WEBPAGE_FOR_TOM_HANKS, mUrlHandler.mNewUrlAfterClobbering);
Assert.assertEquals(SEARCH_RESULT_URL_FOR_TOM_HANKS, mUrlHandler.mReferrerUrlForClobbering);
......@@ -904,7 +906,7 @@ public class ExternalNavigationHandlerTest {
// the current tab.
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
Assert.assertNull(mDelegate.startActivityIntent);
Assert.assertEquals(IMDB_WEBPAGE_FOR_TOM_HANKS, mUrlHandler.mNewUrlAfterClobbering);
......@@ -921,7 +923,7 @@ public class ExternalNavigationHandlerTest {
+ "https://play.google.com/store/apps/details?id=com.imdb.mobile"
+ "&referrer=mypage;end";
checkUrl(intent).expecting(
OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
Assert.assertEquals("market://details?id=com.imdb.mobile&referrer=mypage",
mDelegate.startActivityIntent.getDataString());
......@@ -930,7 +932,7 @@ public class ExternalNavigationHandlerTest {
+ "S." + ExternalNavigationHandler.EXTRA_BROWSER_FALLBACK_URL + "="
+ "https://play.google.com/store/apps/details?id=com.imdb.mobile;end";
checkUrl(intentNoRef)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertEquals("market://details?id=com.imdb.mobile&referrer=" + getPackageName(),
......@@ -940,7 +942,7 @@ public class ExternalNavigationHandlerTest {
+ "S." + ExternalNavigationHandler.EXTRA_BROWSER_FALLBACK_URL + "="
+ "https://play.google.com/store/search?q=pub:imdb;end";
checkUrl(intentBadUrl)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
}
@Test
......@@ -959,7 +961,7 @@ public class ExternalNavigationHandlerTest {
.withHasUserGesture(true)
.withRedirectHandler(redirectHandler)
.withPageTransition(PageTransition.LINK)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertEquals("market://details?id=com.imdb.mobile&referrer=mypage",
mDelegate.startActivityIntent.getDataString());
......@@ -974,7 +976,7 @@ public class ExternalNavigationHandlerTest {
.withHasUserGesture(true)
.withRedirectHandler(redirectHandler)
.withPageTransition(PageTransition.LINK)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -988,7 +990,7 @@ public class ExternalNavigationHandlerTest {
checkUrl("http://goo.gl/abcdefg")
.withPageTransition(PageTransition.LINK)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.LINK, true, true, 0, 0);
String realIntent = "intent:///name/nm0000158#Intent;scheme=imdb;package=com.imdb.mobile;"
......@@ -1000,7 +1002,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(PageTransition.LINK)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertEquals("market://details?id=com.imdb.mobile&referrer=mypage",
......@@ -1024,7 +1026,7 @@ public class ExternalNavigationHandlerTest {
.withRedirectHandler(redirectHandler)
.withPageTransition(PageTransition.AUTO_SUBFRAME)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1040,7 +1042,7 @@ public class ExternalNavigationHandlerTest {
.withRedirectHandler(redirectHandler)
.withPageTransition(PageTransition.LINK)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
}
@Test
......@@ -1052,7 +1054,7 @@ public class ExternalNavigationHandlerTest {
// Fallback URL should work even when package name isn't given.
checkUrl(INTENT_URL_WITH_FALLBACK_URL_WITHOUT_PACKAGE_NAME)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
Assert.assertNull(mDelegate.startActivityIntent);
Assert.assertEquals(IMDB_WEBPAGE_FOR_TOM_HANKS, mUrlHandler.mNewUrlAfterClobbering);
......@@ -1068,7 +1070,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
Assert.assertNull(mDelegate.startActivityIntent);
Assert.assertEquals(IMDB_WEBPAGE_FOR_TOM_HANKS, mUrlHandler.mNewUrlAfterClobbering);
......@@ -1085,7 +1087,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(INTENT_URL_WITH_JAVASCRIPT_FALLBACK_URL)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION,
START_INCOGNITO | START_OTHER_ACTIVITY);
Intent invokedIntent = mUrlHandler.mStartActivityInIncognitoIntent;
......@@ -1105,18 +1107,18 @@ public class ExternalNavigationHandlerTest {
checkUrl("http://goo.gl/abcdefg")
.withPageTransition(PageTransition.TYPED)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.LINK, false, false, 0, 0);
checkUrl(INTENT_URL_WITH_FALLBACK_URL_WITHOUT_PACKAGE_NAME)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
// Now the user opens a link.
redirectHandler.updateNewUrlLoading(PageTransition.LINK, false, true, 0, 1);
checkUrl(YOUTUBE_MOBILE_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1130,7 +1132,7 @@ public class ExternalNavigationHandlerTest {
redirectHandler.updateNewUrlLoading(PageTransition.LINK, false, true, 0, 0);
checkUrl(INTENT_URL_WITH_CHAIN_FALLBACK_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
// As a result of intent resolution fallback, we have clobberred the current tab.
// The fall-back URL was HTTP-schemed, but it was effectively redirected to a new intent
......@@ -1139,7 +1141,7 @@ public class ExternalNavigationHandlerTest {
redirectHandler.updateNewUrlLoading(PageTransition.LINK, false, false, 0, 0);
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
// Now enough time (2 seconds) have passed.
// New URL loading should not be affected.
......@@ -1151,7 +1153,7 @@ public class ExternalNavigationHandlerTest {
PageTransition.LINK, false, true, lastUserInteractionTimeInMillis, 1);
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
}
@Test
......@@ -1165,19 +1167,19 @@ public class ExternalNavigationHandlerTest {
checkUrl(YOUTUBE_MOBILE_URL)
.withPageTransition(PageTransition.TYPED)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.TYPED, true, false, 0, 0);
checkUrl(YOUTUBE_MOBILE_URL)
.withPageTransition(PageTransition.TYPED)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.LINK, false, false, 0, 1);
checkUrl(YOUTUBE_MOBILE_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1190,18 +1192,18 @@ public class ExternalNavigationHandlerTest {
redirectHandler.updateNewUrlLoading(PageTransition.LINK, false, false, 1, 0);
checkUrl(YOUTUBE_MOBILE_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.LINK, true, false, 1, 0);
checkUrl(YOUTUBE_MOBILE_URL)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.LINK, false, false, 1, 1);
checkUrl(YOUTUBE_MOBILE_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1209,7 +1211,7 @@ public class ExternalNavigationHandlerTest {
public void testChromeAppInBackground() {
mDelegate.add(new IntentActivity(YOUTUBE_URL, YOUTUBE_PACKAGE_NAME));
mDelegate.setIsChromeAppInForeground(false);
checkUrl(YOUTUBE_URL).expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
checkUrl(YOUTUBE_URL).expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1219,7 +1221,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.setIsChromeAppInForeground(false);
checkUrl(YOUTUBE_URL)
.withChromeAppInForegroundRequired(false)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -1233,9 +1235,9 @@ public class ExternalNavigationHandlerTest {
new ExternalNavigationParams.Builder(YOUTUBE_MOBILE_URL, false)
.setOpenInNewTab(true)
.build();
@OverrideUrlLoadingResult
@OverrideUrlLoadingResultType
int result = mUrlHandler.shouldOverrideUrlLoading(params);
Assert.assertEquals(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, result);
Assert.assertEquals(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, result);
Assert.assertTrue(mDelegate.startActivityIntent != null);
Assert.assertTrue(
mDelegate.startActivityIntent.getBooleanExtra(Browser.EXTRA_CREATE_NEW_TAB, false));
......@@ -1262,7 +1264,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(PLUS_STREAM_URL)
.withReferrer(PLUS_STREAM_URL)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1272,7 +1274,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(CALENDAR_URL)
.withReferrer(KEEP_URL)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -1284,7 +1286,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(CALENDAR_URL)
.withReferrer(KEEP_URL)
.withPageTransition(PageTransition.FORM_SUBMIT)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1294,7 +1296,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(YOUTUBE_URL)
.withIsBackgroundTabNavigation(true)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1303,7 +1305,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.add(new IntentActivity(CALENDAR_URL, "calendar"));
checkUrl(CALENDAR_URL + "/file.pdf")
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1311,7 +1313,7 @@ public class ExternalNavigationHandlerTest {
public void testIntentToPdfFileOpensApp() {
checkUrl("intent://yoursite.com/mypdf.pdf#Intent;action=VIEW;category=BROWSABLE;"
+ "scheme=http;package=com.adobe.reader;end;")
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -1319,7 +1321,7 @@ public class ExternalNavigationHandlerTest {
@SmallTest
public void testUsafeIntentFlagsFiltered() {
checkUrl("intent://#Intent;package=com.test.package;launchFlags=0x7FFFFFFF;end;")
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertEquals(ExternalNavigationHandler.ALLOWED_INTENT_FLAGS,
mDelegate.startActivityIntent.getFlags());
......@@ -1329,14 +1331,14 @@ public class ExternalNavigationHandlerTest {
@SmallTest
public void testIntentWithFileSchemeFiltered() {
checkUrl("intent://#Intent;package=com.test.package;scheme=file;end;")
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
@SmallTest
public void testIntentWithNoSchemeLaunched() {
checkUrl("intent://#Intent;package=com.test.package;end;")
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -1344,7 +1346,7 @@ public class ExternalNavigationHandlerTest {
@SmallTest
public void testIntentWithEmptySchemeLaunched() {
checkUrl("intent://#Intent;package=com.test.package;scheme=;end;")
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -1352,7 +1354,7 @@ public class ExternalNavigationHandlerTest {
@SmallTest
public void testIntentWithWeirdSchemeLaunched() {
checkUrl("intent://#Intent;package=com.test.package;scheme=w3irD;end;")
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -1367,11 +1369,12 @@ public class ExternalNavigationHandlerTest {
// WebContents.lastCommittedUrl.
checkUrl("http://refertest.com")
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
mUrlHandler.mLastCommittedUrl = "https://refertest.com";
checkUrl("http://refertest.com").expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
checkUrl("http://refertest.com")
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1385,7 +1388,7 @@ public class ExternalNavigationHandlerTest {
.withPageTransition(PageTransition.FORM_SUBMIT)
.withIsRedirect(true)
.withHasUserGesture(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertEquals(Uri.parse(referrer),
mDelegate.startActivityIntent.getParcelableExtra(Intent.EXTRA_REFERRER));
......@@ -1401,18 +1404,18 @@ public class ExternalNavigationHandlerTest {
redirectHandler.updateNewUrlLoading(PageTransition.RELOAD, false, false, 1, 0);
checkUrl(YOUTUBE_MOBILE_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.LINK, true, false, 1, 0);
checkUrl(YOUTUBE_MOBILE_URL)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.LINK, false, false, 1, 1);
checkUrl(YOUTUBE_MOBILE_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1426,18 +1429,18 @@ public class ExternalNavigationHandlerTest {
PageTransition.FORM_SUBMIT | PageTransition.FORWARD_BACK, false, false, 1, 0);
checkUrl(YOUTUBE_MOBILE_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.LINK, true, false, 1, 0);
checkUrl(YOUTUBE_MOBILE_URL)
.withIsRedirect(true)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
redirectHandler.updateNewUrlLoading(PageTransition.LINK, false, false, 1, 1);
checkUrl(YOUTUBE_MOBILE_URL)
.withRedirectHandler(redirectHandler)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
}
@Test
......@@ -1448,19 +1451,19 @@ public class ExternalNavigationHandlerTest {
mUrlHandler.mShouldRequestFileAccess = false;
// Verify no overrides if file access is allowed (under different load conditions).
checkUrl(fileUrl).expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
checkUrl(fileUrl).expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
checkUrl(fileUrl)
.withPageTransition(PageTransition.RELOAD)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
checkUrl(fileUrl)
.withPageTransition(PageTransition.AUTO_TOPLEVEL)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
mUrlHandler.mShouldRequestFileAccess = true;
// Verify that the file intent action is triggered if file access is not allowed.
checkUrl(fileUrl)
.withPageTransition(PageTransition.AUTO_TOPLEVEL)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION, START_FILE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION, START_FILE);
}
@Test
......@@ -1473,7 +1476,7 @@ public class ExternalNavigationHandlerTest {
checkUrl("sms:+012345678?body=hello%20there")
.withReferrer(referer)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertNotNull(mDelegate.startActivityIntent);
......@@ -1491,7 +1494,7 @@ public class ExternalNavigationHandlerTest {
checkUrl("sms:+012345678?body=hello%20there")
.withReferrer(referer)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertNotNull(mDelegate.startActivityIntent);
......@@ -1508,7 +1511,7 @@ public class ExternalNavigationHandlerTest {
checkUrl("intent://012345678?body=hello%20there/#Intent;scheme=sms;end")
.withReferrer(referer)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertNotNull(mDelegate.startActivityIntent);
......@@ -1525,7 +1528,8 @@ public class ExternalNavigationHandlerTest {
mDelegate.add(new IntentActivity(WEBAPK_SCOPE, WEBAPK_PACKAGE_NAME));
checkUrl(WEBAPK_SCOPE)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_WEBAPK);
.expecting(
OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, START_WEBAPK);
}
/**
......@@ -1540,7 +1544,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.add(new IntentActivity(scope, "com.webapk.with.native.android"));
checkUrl(scope).expecting(
OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
}
/**
......@@ -1560,7 +1564,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.setReferrerWebappPackageName(scope1WebApkPackageName);
checkUrl(scope2).withReferrer(scope1).expecting(
OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_WEBAPK);
OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, START_WEBAPK);
}
/**
......@@ -1573,7 +1577,7 @@ public class ExternalNavigationHandlerTest {
public void testLaunchWebApk_ShowIntentPickerInvalidWebApk() {
mDelegate.add(new IntentActivity(WEBAPK_SCOPE, INVALID_WEBAPK_PACKAGE_NAME));
checkUrl(WEBAPK_SCOPE)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
}
......@@ -1581,7 +1585,7 @@ public class ExternalNavigationHandlerTest {
@SmallTest
public void testMarketIntent_MarketInstalled() {
checkUrl("market://1234")
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertNotNull(mDelegate.startActivityIntent);
......@@ -1592,7 +1596,7 @@ public class ExternalNavigationHandlerTest {
@SmallTest
public void testMarketIntent_MarketNotInstalled() {
mDelegate.setCanResolveActivityForMarket(false);
checkUrl("market://1234").expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
checkUrl("market://1234").expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
Assert.assertNull(mDelegate.startActivityIntent);
}
......@@ -1602,7 +1606,7 @@ public class ExternalNavigationHandlerTest {
public void testMarketIntent_ShowDialogIncognitoMarketInstalled() {
checkUrl("market://1234")
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION,
START_INCOGNITO | START_OTHER_ACTIVITY);
Assert.assertTrue(mUrlHandler.mStartIncognitoIntentCalled);
......@@ -1614,7 +1618,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.setCanResolveActivityForMarket(false);
checkUrl("market://1234")
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
Assert.assertFalse(mUrlHandler.mStartIncognitoIntentCalled);
}
......@@ -1628,7 +1632,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.withHasUserGesture(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertTrue(mDelegate.maybeSetRequestMetadataCalled);
Assert.assertFalse(mUrlHandler.mStartIncognitoIntentCalled);
......@@ -1644,7 +1648,7 @@ public class ExternalNavigationHandlerTest {
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.withHasUserGesture(true)
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_ASYNC_ACTION,
START_INCOGNITO | START_OTHER_ACTIVITY);
Assert.assertTrue(mDelegate.maybeSetRequestMetadataCalled);
Assert.assertTrue(mUrlHandler.mStartIncognitoIntentCalled);
......@@ -1659,7 +1663,7 @@ public class ExternalNavigationHandlerTest {
checkUrl(INTENT_URL_WITH_FALLBACK_URL)
.withReferrer(SEARCH_RESULT_URL_FOR_TOM_HANKS)
.withIsRendererInitiated(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertTrue(mDelegate.maybeSetRequestMetadataCalled);
}
......@@ -1669,7 +1673,7 @@ public class ExternalNavigationHandlerTest {
public void testAutofillAssistantIntentWithFallback_InRegular() {
mDelegate.setIsIntentToAutofillAssistant(true);
checkUrl(AUTOFILL_ASSISTANT_INTENT_URL_WITH_FALLBACK)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
Assert.assertNull(mDelegate.startActivityIntent);
}
......@@ -1680,7 +1684,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.setIsIntentToAutofillAssistant(true);
checkUrl(AUTOFILL_ASSISTANT_INTENT_URL_WITH_FALLBACK)
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB, IGNORE);
Assert.assertNull(mDelegate.startActivityIntent);
}
......@@ -1691,7 +1695,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.setIsIntentToAutofillAssistant(true);
checkUrl(AUTOFILL_ASSISTANT_INTENT_URL_WITHOUT_FALLBACK)
.withIsIncognito(false)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
Assert.assertNull(mDelegate.startActivityIntent);
}
......@@ -1702,7 +1706,7 @@ public class ExternalNavigationHandlerTest {
mDelegate.setIsIntentToAutofillAssistant(true);
checkUrl(AUTOFILL_ASSISTANT_INTENT_URL_WITHOUT_FALLBACK)
.withIsIncognito(true)
.expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
.expecting(OverrideUrlLoadingResultType.NO_OVERRIDE, IGNORE);
Assert.assertNull(mDelegate.startActivityIntent);
}
......@@ -1724,7 +1728,7 @@ public class ExternalNavigationHandlerTest {
ExternalNavigationHandler.StandardActions.VIEW);
checkUrl(intentWithAction)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertEquals(pickCount + 1,
RecordHistogram.getHistogramValueCountForTesting(
......@@ -1736,7 +1740,7 @@ public class ExternalNavigationHandlerTest {
ExternalNavigationHandler.StandardActions.VIEW));
checkUrl(intentWithoutAction)
.expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT,
.expecting(OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT,
START_OTHER_ACTIVITY);
Assert.assertEquals(viewCount + 1,
RecordHistogram.getHistogramValueCountForTesting(
......@@ -1754,7 +1758,7 @@ public class ExternalNavigationHandlerTest {
ExternalNavigationHandler.StandardActions.ANSWER);
checkUrl(appIntent).expecting(
OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY);
Assert.assertEquals(count + 1,
RecordHistogram.getHistogramValueCountForTesting(
ExternalNavigationHandler.INTENT_ACTION_HISTOGRAM,
......@@ -2027,10 +2031,11 @@ public class ExternalNavigationHandlerTest {
}
@Override
protected @OverrideUrlLoadingResult int clobberCurrentTab(String url, String referrerUrl) {
protected @OverrideUrlLoadingResultType int clobberCurrentTab(
String url, String referrerUrl) {
mNewUrlAfterClobbering = url;
mReferrerUrlForClobbering = referrerUrl;
return OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB;
}
};
......@@ -2110,11 +2115,11 @@ public class ExternalNavigationHandlerTest {
}
@Override
public @OverrideUrlLoadingResult int handleIncognitoIntentTargetingSelf(
public @OverrideUrlLoadingResultType int handleIncognitoIntentTargetingSelf(
Intent intent, String referrerUrl, String fallbackUrl) {
handleIncognitoIntentTargetingSelfCalled = true;
if (mCanLoadUrlInTab) return OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB;
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
if (mCanLoadUrlInTab) return OverrideUrlLoadingResultType.OVERRIDE_WITH_CLOBBERING_TAB;
return OverrideUrlLoadingResultType.OVERRIDE_WITH_EXTERNAL_INTENT;
}
@Override
......@@ -2383,7 +2388,7 @@ public class ExternalNavigationHandlerTest {
}
public void expecting(
@OverrideUrlLoadingResult int expectedOverrideResult, int otherExpectation) {
@OverrideUrlLoadingResultType int expectedOverrideResult, int otherExpectation) {
boolean expectStartIncognito = (otherExpectation & START_INCOGNITO) != 0;
boolean expectStartActivity =
(otherExpectation & (START_WEBAPK | START_OTHER_ACTIVITY)) != 0;
......@@ -2407,7 +2412,7 @@ public class ExternalNavigationHandlerTest {
.setHasUserGesture(mHasUserGesture)
.setIsRendererInitiated(mIsRendererInitiated)
.build();
@OverrideUrlLoadingResult
@OverrideUrlLoadingResultType
int result = mUrlHandler.shouldOverrideUrlLoading(params);
boolean startActivityCalled = false;
boolean startWebApkCalled = false;
......
......@@ -14,7 +14,7 @@ import org.chromium.base.PackageManagerUtils;
import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.components.external_intents.ExternalNavigationDelegate;
import org.chromium.components.external_intents.ExternalNavigationDelegate.StartActivityIfNeededResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.components.external_intents.ExternalNavigationHandler.OverrideUrlLoadingResultType;
import org.chromium.components.external_intents.ExternalNavigationParams;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.WebContents;
......@@ -89,10 +89,10 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
// This method should never be invoked as WebLayer does not handle incoming intents.
@Override
public @OverrideUrlLoadingResult int handleIncognitoIntentTargetingSelf(
public @OverrideUrlLoadingResultType int handleIncognitoIntentTargetingSelf(
final Intent intent, final String referrerUrl, final String fallbackUrl) {
assert false;
return OverrideUrlLoadingResult.NO_OVERRIDE;
return OverrideUrlLoadingResultType.NO_OVERRIDE;
}
@Override
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment