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

Unified Diff: chrome/browser/autofill/android/personal_data_manager_android.cc

Issue 2289263003: Revert of Add support for method selection in the Payment Request UI on iOS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « no previous file | components/autofill/core/browser/autofill_data_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autofill/android/personal_data_manager_android.cc
diff --git a/chrome/browser/autofill/android/personal_data_manager_android.cc b/chrome/browser/autofill/android/personal_data_manager_android.cc
index 9639a4d8d9223249e3cf9772a07abdd030ef139e..008a475e863171be6830436757d1c05e8e73a41f 100644
--- a/chrome/browser/autofill/android/personal_data_manager_android.cc
+++ b/chrome/browser/autofill/android/personal_data_manager_android.cc
@@ -26,7 +26,6 @@
#include "components/autofill/content/browser/content_autofill_driver.h"
#include "components/autofill/content/browser/content_autofill_driver_factory.h"
#include "components/autofill/core/browser/autofill_country.h"
-#include "components/autofill/core/browser/autofill_data_util.h"
#include "components/autofill/core/browser/autofill_type.h"
#include "components/autofill/core/browser/country_names.h"
#include "components/autofill/core/browser/field_types.h"
@@ -132,11 +131,41 @@
Java_AutofillProfile_getLanguageCode(env, jprofile)));
}
+// Mapping from Chrome card types to PaymentRequest basic card payment spec 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[] {
+ {"genericCC", "generic", IDR_AUTOFILL_PR_GENERIC},
+
+ {"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},
+};
+
+// Converts the card type into PaymentRequest type according to the basic card
+// payment spec and an icon. Will set the type and the icon to "generic" for
+// unrecognized card type.
+const PaymentRequestData& GetPaymentRequestData(const std::string& type) {
+ for (size_t i = 0; i < arraysize(kPaymentRequestData); ++i) {
+ if (type == kPaymentRequestData[i].card_type)
+ return kPaymentRequestData[i];
+ }
+ return kPaymentRequestData[0];
+}
+
ScopedJavaLocalRef<jobject> CreateJavaCreditCardFromNative(
JNIEnv* env,
const CreditCard& card) {
- const data_util::PaymentRequestData& payment_request_data =
- data_util::GetPaymentRequestData(card.type());
+ const PaymentRequestData& payment_request_data =
+ GetPaymentRequestData(card.type());
return Java_CreditCard_create(
env, ConvertUTF8ToJavaString(env, card.guid()),
ConvertUTF8ToJavaString(env, card.origin()),
@@ -153,6 +182,16 @@
ResourceMapper::MapFromChromiumId(payment_request_data.icon_resource_id),
ConvertUTF8ToJavaString(env, card.billing_address_id()),
ConvertUTF8ToJavaString(env, card.server_id()));
+}
+
+const char* GetCardTypeForBasicCardPaymentType(
+ const std::string& basic_card_payment_type) {
+ for (size_t i = 0; i < arraysize(kPaymentRequestData); ++i) {
+ if (basic_card_payment_type ==
+ kPaymentRequestData[i].basic_card_payment_type)
+ return kPaymentRequestData[i].card_type;
+ }
+ return kPaymentRequestData[0].card_type;
}
void PopulateNativeCreditCardFromJava(
@@ -186,8 +225,9 @@
} else {
card->set_record_type(CreditCard::MASKED_SERVER_CARD);
card->SetTypeForMaskedCard(
- data_util::GetCardTypeForBasicCardPaymentType(ConvertJavaStringToUTF8(
- env, Java_CreditCard_getBasicCardPaymentType(env, jcard))));
+ GetCardTypeForBasicCardPaymentType(
+ ConvertJavaStringToUTF8(
+ env, Java_CreditCard_getBasicCardPaymentType(env, jcard))));
}
}
}
@@ -442,11 +482,11 @@
const JavaParamRef<jstring>& jcard_number) {
base::string16 card_number = ConvertJavaStringToUTF16(env, jcard_number);
return ConvertUTF8ToJavaString(
- env, IsValidCreditCardNumber(card_number)
- ? data_util::GetPaymentRequestData(
- CreditCard::GetCreditCardType(card_number))
- .basic_card_payment_type
- : "");
+ env,
+ IsValidCreditCardNumber(card_number)
+ ? GetPaymentRequestData(CreditCard::GetCreditCardType(card_number))
+ .basic_card_payment_type
+ : "");
}
void PersonalDataManagerAndroid::AddServerCreditCardForTest(
« no previous file with comments | « no previous file | components/autofill/core/browser/autofill_data_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698