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 fc69c7c95a0fb3f378c5300cbce454320634de48..3e3db3462727767ac429c20208f659ef5af79c5c 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 |
@@ -357,8 +357,16 @@ public class ExternalNavigationHandler { |
if (params.getReferrerUrl() != null) { |
intent.putExtra(Intent.EXTRA_REFERRER, Uri.parse(params.getReferrerUrl())); |
} |
- mDelegate.startActivity(intent, false); |
- return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT; |
+ if (params.isIncognito()) { |
+ mDelegate.startIncognitoIntent(intent, params.getReferrerUrl(), |
+ hasBrowserFallbackUrl ? browserFallbackUrl : null, params.getTab(), |
+ params.shouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent(), |
+ false); |
+ return OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION; |
+ } else { |
+ mDelegate.startActivity(intent, false); |
+ return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT; |
+ } |
} catch (ActivityNotFoundException ex) { |
// ignore the error on devices that does not have |
// play market installed. |