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

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

Issue 1243253004: Pass user gesture bit when chrome handles an intent fired by itself (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: using token to verify intent from chrome Created 5 years, 4 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/IntentHandler.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
index 8ef9508d47eeaf80119cf16d16bb3f53790e928d..6f3c656d8aef535e4974316b790628db94611624 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
@@ -26,6 +26,7 @@ import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
+import org.chromium.chrome.browser.externalnav.IntentWithGesturesHandler;
import org.chromium.chrome.browser.omnibox.AutocompleteController;
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
import org.chromium.chrome.browser.tabmodel.document.ActivityDelegate;
@@ -216,7 +217,7 @@ public class IntentHandler {
*/
void processUrlViewIntent(String url, String referer, String headers,
TabOpenType tabOpenType, String externalAppId, int tabIdToBringToFront,
- Intent intent);
+ boolean hasUserGesture, Intent intent);
void processWebSearchIntent(String query);
}
@@ -288,7 +289,8 @@ public class IntentHandler {
public boolean onNewIntent(Context context, Intent intent) {
assert intentHasValidUrl(intent);
String url = getUrlFromIntent(intent);
-
+ boolean hasUserGesture =
+ IntentWithGesturesHandler.getInstance().getUserGestureAndClear(intent);
TabOpenType tabOpenType = getTabOpenType(intent);
int tabIdToBringToFront = IntentUtils.safeGetIntExtra(
intent, TabOpenType.BRING_TAB_TO_FRONT.name(), Tab.INVALID_TAB_ID);
@@ -303,7 +305,7 @@ public class IntentHandler {
// TODO(joth): Presumably this should check the action too.
mDelegate.processUrlViewIntent(url, referrerUrl, extraHeaders, tabOpenType,
IntentUtils.safeGetStringExtra(intent, Browser.EXTRA_APPLICATION_ID),
- tabIdToBringToFront, intent);
+ tabIdToBringToFront, hasUserGesture, intent);
recordExternalIntentSourceUMA(intent);
return true;
}
@@ -511,7 +513,6 @@ public class IntentHandler {
// and check it with isIntentChromeInternal.
intent.putExtra(TRUSTED_APPLICATION_CODE_EXTRA,
getAuthenticationToken(context.getApplicationContext()));
-
// It is crucial that we never leak the authentication token to other packages, because
// then the other package could be used to impersonate us/do things as us. Therefore,
// scope the real Intent to our package.

Powered by Google App Engine
This is Rietveld 408576698