| 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 d6e0e5303c3acda8786a8f74108e0cfa45a44167..31e60622eb19b56d0a0f81aeeb2797d2c3baad6f 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
| @@ -794,6 +794,21 @@ public class IntentHandler {
|
| return false;
|
| }
|
|
|
| + /**
|
| + * @param intent An Intent to be checked.
|
| + * @param packageName The app where the intent is expected to originate from
|
| + * @return Whether the intent originates from the first-party app with the given package name.
|
| + */
|
| + public static boolean isIntentFromTrustedApp(Intent intent, String packageName) {
|
| + if (intent == null) return false;
|
| +
|
| + PendingIntent token = fetchAuthenticationTokenFromIntent(intent);
|
| + if (token == null) return false;
|
| +
|
| + return isIntentChromeOrFirstParty(intent)
|
| + && ApiCompatibilityUtils.getCreatorPackage(token).equals(packageName);
|
| + }
|
| +
|
| @VisibleForTesting
|
| boolean isIntentUserVisible() {
|
| // Only process Intents if the screen is on and the device is unlocked;
|
|
|