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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java

Issue 1956403002: Re-submit of AppLink implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Lock it and throw away the key Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
index f844d6eab1c19d4bbbdc2eefbdc41b6c37a66c4f..2b685eb86546e7cb4012d13074adaac87f37188b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -335,6 +335,10 @@ public class ExternalNavigationHandler {
IntentHandler.setPendingReferrer(intent, params.getReferrerUrl());
}
+ if (!params.isIncognito() && mDelegate.maybeDelegateToAppLink(intent)) {
+ return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
+ }
+
// Make sure webkit can handle it internally before checking for specialized
// handlers. If webkit can't handle it internally, we need to call
// startActivityIfNeeded or startActivity.
@@ -383,6 +387,7 @@ public class ExternalNavigationHandler {
params.shouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent());
return OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION;
} else {
+
// Some third-party app launched Chrome with an intent, and the URL got redirected.
// The user has explicitly chosen Chrome over other intent handlers, so stay in
// Chrome unless there was a new intent handler after redirection or Chrome cannot
@@ -398,6 +403,7 @@ public class ExternalNavigationHandler {
if (params.hasUserGesture()) {
IntentWithGesturesHandler.getInstance().onNewIntentWithGesture(intent);
}
+
if (mDelegate.startActivityIfNeeded(intent)) {
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
} else {

Powered by Google App Engine
This is Rietveld 408576698