Index: components/autofill/core/browser/autofill_data_util.h |
diff --git a/components/autofill/core/browser/autofill_data_util.h b/components/autofill/core/browser/autofill_data_util.h |
index 4858f7459c63e3fe52f255292249f1dd89071813..96937fee7f1e17af398aae8f7c6e4c5fdff2c3a0 100644 |
--- a/components/autofill/core/browser/autofill_data_util.h |
+++ b/components/autofill/core/browser/autofill_data_util.h |
@@ -7,6 +7,7 @@ |
#include "base/strings/string16.h" |
#include "components/autofill/core/browser/autofill_profile.h" |
+#include "grit/components_scaled_resources.h" |
namespace autofill { |
namespace data_util { |
@@ -17,6 +18,25 @@ struct NameParts { |
base::string16 family; |
}; |
+// Mapping from Chrome card types to Payment Request API basic card payment spec |
+// types and icons. Note that "generic" is not in the spec. |
+// https://w3c.github.io/webpayments-methods-card/#method-id |
+const struct PaymentRequestData { |
+ const char* card_type; |
+ const char* basic_card_payment_type; |
+ const int icon_resource_id; |
+} kPaymentRequestData[]{ |
Evan Stade
2016/08/29 20:34:06
seems like this should be in the .cc file rather t
Justin Donnelly
2016/08/30 15:21:25
Done.
|
+ {"genericCC", "generic", IDR_AUTOFILL_PR_GENERIC}, |
+ |
Evan Stade
2016/08/29 20:34:06
is this blank line intentional? seems weird
Justin Donnelly
2016/08/30 15:21:25
Removed (it made sense to me that it separated the
|
+ {"americanExpressCC", "amex", IDR_AUTOFILL_PR_AMEX}, |
+ {"dinersCC", "diners", IDR_AUTOFILL_PR_DINERS}, |
+ {"discoverCC", "discover", IDR_AUTOFILL_PR_DISCOVER}, |
+ {"jcbCC", "jcb", IDR_AUTOFILL_PR_JCB}, |
+ {"masterCardCC", "mastercard", IDR_AUTOFILL_PR_MASTERCARD}, |
+ {"unionPayCC", "unionpay", IDR_AUTOFILL_PR_UNIONPAY}, |
+ {"visaCC", "visa", IDR_AUTOFILL_PR_VISA}, |
+}; |
+ |
// Returns true if |name| looks like a CJK name (or some kind of mish-mash of |
// the three, at least). |
bool IsCJKName(const base::string16& name); |
@@ -38,6 +58,15 @@ base::string16 JoinNameParts(const base::string16& given, |
bool ProfileMatchesFullName(const base::string16 full_name, |
const autofill::AutofillProfile& profile); |
+// Returns the Payment Request API basic card payment spec data for the provided |
+// autofill credit card |type|. Will set the type and the icon to "generic" for |
+// any unrecognized type. |
+const PaymentRequestData& GetPaymentRequestData(const std::string& type); |
+ |
+// Returns the autofill credit card type string for the provided Payment Request |
+// API basic card payment spec |type|. |
+const char* GetCardTypeForBasicCardPaymentType(const std::string& type); |
+ |
} // namespace data_util |
} // namespace autofill |