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

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: fix findbugs warning 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 10e7e657ab84dcbdc0f87ab7ab1de974b856a6f9..0fa84e26471f45ac76ca94b84fca36fb559e15e0 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.tab.Tab;
@@ -217,7 +218,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);
}
@@ -289,7 +290,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);
@@ -304,7 +306,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;
}
@@ -512,7 +514,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