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

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

Issue 2173433002: prototype of using cct when 'bouncing out' of webapk (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 99c2a0418e6c33bcb9d4d677230334e3549929bd..ece7817e2585d69e40c8514104590c961e2a40ed 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
@@ -15,12 +15,17 @@ import android.text.TextUtils;
import android.webkit.WebView;
import org.chromium.base.CommandLine;
+import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.ChromeSwitches;
+import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.UrlConstants;
+import org.chromium.chrome.browser.customtabs.CustomTabActivity;
+import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider;
+import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabRedirectHandler;
import org.chromium.chrome.browser.util.IntentUtils;
@@ -373,7 +378,22 @@ public class ExternalNavigationHandler {
if (!mDelegate.isSpecializedHandlerAvailable(resolvingInfos)) {
if (params.webApkPackageName() != null) {
intent.setPackage(mDelegate.getPackageName());
+ intent.setClassName(mDelegate.getPackageName(), CustomTabActivity.class.getName());
+
+ ChromeLauncherActivity.updateHerbIntent(ContextUtils.getApplicationContext(), intent, intent.getData());
+ intent.putExtra(Browser.EXTRA_APPLICATION_ID, mDelegate.getPackageName());
+ intent.putExtra(
+ CustomTabIntentDataProvider.EXTRA_IS_OPENED_BY_CHROME, true);
+
+
+ // Launch the Activity on top of this task.
+ int updatedFlags = intent.getFlags();
+ updatedFlags &= ~Intent.FLAG_ACTIVITY_NEW_TASK;
+ updatedFlags &= ~Intent.FLAG_ACTIVITY_NEW_DOCUMENT;
+ intent.setFlags(updatedFlags);
mDelegate.startActivity(intent);
+
+
return OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT;
}
return OverrideUrlLoadingResult.NO_OVERRIDE;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698