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

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

Issue 2659083003: Relax card type handling. (Closed)
Patch Set: Clarify comment Created 3 years, 11 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 | chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBasicCardTest.java » ('j') | 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/payments/AutofillPaymentApp.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java
index 3dff383defbe08d1086cff422b8340feaaf5da89..d097327479a4e11a96607bb902c91ed989eea85f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java
@@ -13,7 +13,6 @@ import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile;
import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard;
import org.chromium.content_public.browser.WebContents;
import org.chromium.payments.mojom.BasicCardNetwork;
-import org.chromium.payments.mojom.BasicCardType;
import org.chromium.payments.mojom.PaymentMethodData;
import java.util.ArrayList;
@@ -91,36 +90,16 @@ public class AutofillPaymentApp implements PaymentApp {
/** @return A set of card networks (e.g., "visa", "amex") accepted by "basic-card" method. */
public static Set<String> convertBasicCardToNetworks(PaymentMethodData data) {
- // No basic card support.
+ // Merchant website does not support any issuer networks.
if (data == null) return null;
- boolean supportedTypesEmpty =
- data.supportedTypes == null || data.supportedTypes.length == 0;
- boolean supportedNetworksEmpty =
- data.supportedNetworks == null || data.supportedNetworks.length == 0;
-
- // All basic cards are supported.
+ // Merchant website supports all issuer networks.
Map<Integer, String> networks = getNetworks();
- if (supportedTypesEmpty && supportedNetworksEmpty) return new HashSet<>(networks.values());
-
- // https://w3c.github.io/webpayments-methods-card/#basiccardrequest defines 3 types of
- // cards: "credit", "debit", and "prepaid". Specifying a non-empty subset of these types
- // requires filtering by type, which Chrome cannot yet do.
- // TODO(rouslan): Distinguish card types. http://crbug.com/602665
- if (!supportedTypesEmpty) {
- if (data.supportedTypes.length != 3) return null;
- Set<Integer> supportedTypes = new HashSet<>();
- for (int i = 0; i < data.supportedTypes.length; i++) {
- supportedTypes.add(data.supportedTypes[i]);
- }
- if (!supportedTypes.contains(BasicCardType.CREDIT)) return null;
- if (!supportedTypes.contains(BasicCardType.DEBIT)) return null;
- if (!supportedTypes.contains(BasicCardType.PREPAID)) return null;
+ if (data.supportedNetworks == null || data.supportedNetworks.length == 0) {
+ return new HashSet<>(networks.values());
}
- // All basic cards are supported.
- if (supportedNetworksEmpty) return new HashSet<>(networks.values());
-
+ // Merchant website supports some issuer networks.
Set<String> result = new HashSet<>();
for (int i = 0; i < data.supportedNetworks.length; i++) {
String network = networks.get(data.supportedNetworks[i]);
« no previous file with comments | « no previous file | chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBasicCardTest.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698