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

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

Issue 2734493002: Incognito mode behavior for 3rd party Android payment apps. (Closed)
Patch Set: Fix test Created 3 years, 9 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/payments/AndroidPaymentAppFinder.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java
index c27ccae2c76a47e1660b9f1828427851590efcd8..252fc4be2ab2e62592cecf48678b63e43db05033 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java
@@ -10,6 +10,7 @@ import android.net.Uri;
import android.text.TextUtils;
import org.chromium.base.Log;
+import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.UrlConstants;
import org.chromium.chrome.browser.payments.PaymentAppFactory.PaymentAppCreatedCallback;
import org.chromium.chrome.browser.payments.PaymentManifestVerifier.ManifestVerifyCallback;
@@ -60,6 +61,7 @@ public class AndroidPaymentAppFinder implements ManifestVerifyCallback {
private final PaymentManifestParser mParser;
private final PackageManagerDelegate mPackageManagerDelegate;
private final PaymentAppCreatedCallback mCallback;
+ private final boolean mIsIncognito;
/**
* A map of payment method names to the list of (yet) unverified Android apps that claim to
@@ -141,6 +143,9 @@ public class AndroidPaymentAppFinder implements ManifestVerifyCallback {
mCallback = callback;
mPendingApps = new HashMap<>();
mResult = new HashMap<>();
+ ChromeActivity activity = ChromeActivity.fromWebContents(mWebContents);
+ mIsIncognito = activity != null && activity.getCurrentTabModel() != null
+ && activity.getCurrentTabModel().isIncognito();
mRequireShowInSettings = requireShowInSettings;
mSettingsLookup = new Intent(AndroidPaymentApp.ACTION_PAY);
}
@@ -212,7 +217,8 @@ public class AndroidPaymentAppFinder implements ManifestVerifyCallback {
return;
}
app = new AndroidPaymentApp(mWebContents, packageName, resolveInfo.activityInfo.name,
- label.toString(), mPackageManagerDelegate.getAppIcon(resolveInfo));
+ label.toString(), mPackageManagerDelegate.getAppIcon(resolveInfo),
+ mIsIncognito);
mResult.put(packageName, app);
}
app.addMethodName(methodName);
@@ -246,12 +252,15 @@ public class AndroidPaymentAppFinder implements ManifestVerifyCallback {
if (mParser.isUtilityProcessRunning()) mParser.stopUtilityProcess();
- List<ResolveInfo> resolveInfos = mPackageManagerDelegate.getServicesThatCanRespondToIntent(
- new Intent(ACTION_IS_READY_TO_PAY));
- for (int i = 0; i < resolveInfos.size(); i++) {
- ResolveInfo resolveInfo = resolveInfos.get(i);
- AndroidPaymentApp app = mResult.get(resolveInfo.serviceInfo.packageName);
- if (app != null) app.setIsReadyToPayAction(resolveInfo.serviceInfo.name);
+ if (!mIsIncognito) {
+ List<ResolveInfo> resolveInfos =
+ mPackageManagerDelegate.getServicesThatCanRespondToIntent(
+ new Intent(ACTION_IS_READY_TO_PAY));
+ for (int i = 0; i < resolveInfos.size(); i++) {
+ ResolveInfo resolveInfo = resolveInfos.get(i);
+ AndroidPaymentApp app = mResult.get(resolveInfo.serviceInfo.packageName);
+ if (app != null) app.setIsReadyToPayAction(resolveInfo.serviceInfo.name);
+ }
}
for (Map.Entry<String, AndroidPaymentApp> entry : mResult.entrySet()) {

Powered by Google App Engine
This is Rietveld 408576698