Commit 4aa810b2 authored by Hwanseung Lee's avatar Hwanseung Lee Committed by Commit Bot

[Autofill] Add Troy card for autofill.

Add Troy card which card number have prefix 2205 or 9792
for autofill

Bug: 1026289
Skip-Translation-Screenshots-Check: True
Change-Id: I72b7b363c2ec63cb5ba1192b996773bcdf2d2e67
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1952628Reviewed-by: default avatarDominic Battré <battre@chromium.org>
Reviewed-by: default avatarFriedrich [CET] <fhorschig@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Commit-Queue: Hwanseung Lee <hs1217.lee@samsung.com>
Cr-Commit-Position: refs/heads/master@{#791882}
parent 2641a901
...@@ -137,6 +137,7 @@ chrome_java_resources = [ ...@@ -137,6 +137,7 @@ chrome_java_resources = [
"java/res/drawable-hdpi/tabswitcher_border_frame_shadow.9.png", "java/res/drawable-hdpi/tabswitcher_border_frame_shadow.9.png",
"java/res/drawable-hdpi/toolbar_shadow_focused.png", "java/res/drawable-hdpi/toolbar_shadow_focused.png",
"java/res/drawable-hdpi/toolbar_shadow_normal.png", "java/res/drawable-hdpi/toolbar_shadow_normal.png",
"java/res/drawable-hdpi/troy_card.png",
"java/res/drawable-hdpi/unionpay_card.png", "java/res/drawable-hdpi/unionpay_card.png",
"java/res/drawable-hdpi/verify_checkmark.png", "java/res/drawable-hdpi/verify_checkmark.png",
"java/res/drawable-ldrtl-hdpi-v17/btn_suggestion_refine.png", "java/res/drawable-ldrtl-hdpi-v17/btn_suggestion_refine.png",
...@@ -285,6 +286,7 @@ chrome_java_resources = [ ...@@ -285,6 +286,7 @@ chrome_java_resources = [
"java/res/drawable-mdpi/tabswitcher_border_frame_shadow.9.png", "java/res/drawable-mdpi/tabswitcher_border_frame_shadow.9.png",
"java/res/drawable-mdpi/toolbar_shadow_focused.png", "java/res/drawable-mdpi/toolbar_shadow_focused.png",
"java/res/drawable-mdpi/toolbar_shadow_normal.png", "java/res/drawable-mdpi/toolbar_shadow_normal.png",
"java/res/drawable-mdpi/troy_card.png",
"java/res/drawable-mdpi/unionpay_card.png", "java/res/drawable-mdpi/unionpay_card.png",
"java/res/drawable-mdpi/verify_checkmark.png", "java/res/drawable-mdpi/verify_checkmark.png",
"java/res/drawable-night/homepage_promo_illustration_vector.xml", "java/res/drawable-night/homepage_promo_illustration_vector.xml",
...@@ -420,6 +422,7 @@ chrome_java_resources = [ ...@@ -420,6 +422,7 @@ chrome_java_resources = [
"java/res/drawable-xhdpi/tabswitcher_border_frame_shadow.9.png", "java/res/drawable-xhdpi/tabswitcher_border_frame_shadow.9.png",
"java/res/drawable-xhdpi/toolbar_shadow_focused.png", "java/res/drawable-xhdpi/toolbar_shadow_focused.png",
"java/res/drawable-xhdpi/toolbar_shadow_normal.png", "java/res/drawable-xhdpi/toolbar_shadow_normal.png",
"java/res/drawable-xhdpi/troy_card.png",
"java/res/drawable-xhdpi/unionpay_card.png", "java/res/drawable-xhdpi/unionpay_card.png",
"java/res/drawable-xhdpi/verify_checkmark.png", "java/res/drawable-xhdpi/verify_checkmark.png",
"java/res/drawable-xxhdpi-v21/navigation_bubble_shadow.9.png", "java/res/drawable-xxhdpi-v21/navigation_bubble_shadow.9.png",
...@@ -531,6 +534,7 @@ chrome_java_resources = [ ...@@ -531,6 +534,7 @@ chrome_java_resources = [
"java/res/drawable-xxhdpi/tabswitcher_border_frame_shadow.9.png", "java/res/drawable-xxhdpi/tabswitcher_border_frame_shadow.9.png",
"java/res/drawable-xxhdpi/toolbar_shadow_focused.png", "java/res/drawable-xxhdpi/toolbar_shadow_focused.png",
"java/res/drawable-xxhdpi/toolbar_shadow_normal.png", "java/res/drawable-xxhdpi/toolbar_shadow_normal.png",
"java/res/drawable-xxhdpi/troy_card.png",
"java/res/drawable-xxhdpi/unionpay_card.png", "java/res/drawable-xxhdpi/unionpay_card.png",
"java/res/drawable-xxhdpi/verify_checkmark.png", "java/res/drawable-xxhdpi/verify_checkmark.png",
"java/res/drawable-xxxhdpi-v21/navigation_bubble_shadow.9.png", "java/res/drawable-xxxhdpi-v21/navigation_bubble_shadow.9.png",
...@@ -638,6 +642,7 @@ chrome_java_resources = [ ...@@ -638,6 +642,7 @@ chrome_java_resources = [
"java/res/drawable-xxxhdpi/tabswitcher_border_frame_shadow.9.png", "java/res/drawable-xxxhdpi/tabswitcher_border_frame_shadow.9.png",
"java/res/drawable-xxxhdpi/toolbar_shadow_focused.png", "java/res/drawable-xxxhdpi/toolbar_shadow_focused.png",
"java/res/drawable-xxxhdpi/toolbar_shadow_normal.png", "java/res/drawable-xxxhdpi/toolbar_shadow_normal.png",
"java/res/drawable-xxxhdpi/troy_card.png",
"java/res/drawable-xxxhdpi/unionpay_card.png", "java/res/drawable-xxxhdpi/unionpay_card.png",
"java/res/drawable-xxxhdpi/verify_checkmark.png", "java/res/drawable-xxxhdpi/verify_checkmark.png",
"java/res/drawable/accessibility_tab_switcher_divider.xml", "java/res/drawable/accessibility_tab_switcher_divider.xml",
......
...@@ -90,6 +90,8 @@ class CreditCardAccessorySheetViewBinder { ...@@ -90,6 +90,8 @@ class CreditCardAccessorySheetViewBinder {
return R.drawable.mc_card; return R.drawable.mc_card;
case "mirCC": case "mirCC":
return R.drawable.mir_card; return R.drawable.mir_card;
case "troyCC":
return R.drawable.troy_card;
case "unionPayCC": case "unionPayCC":
return R.drawable.unionpay_card; return R.drawable.unionpay_card;
case "visaCC": case "visaCC":
......
...@@ -59,6 +59,7 @@ LINK_RESOURCE_ID(IDR_AUTOFILL_CC_GENERIC, R.drawable.ic_credit_card_black) ...@@ -59,6 +59,7 @@ LINK_RESOURCE_ID(IDR_AUTOFILL_CC_GENERIC, R.drawable.ic_credit_card_black)
LINK_RESOURCE_ID(IDR_AUTOFILL_CC_JCB, R.drawable.jcb_card) LINK_RESOURCE_ID(IDR_AUTOFILL_CC_JCB, R.drawable.jcb_card)
LINK_RESOURCE_ID(IDR_AUTOFILL_CC_MASTERCARD, R.drawable.mc_card) LINK_RESOURCE_ID(IDR_AUTOFILL_CC_MASTERCARD, R.drawable.mc_card)
LINK_RESOURCE_ID(IDR_AUTOFILL_CC_MIR, R.drawable.mir_card) LINK_RESOURCE_ID(IDR_AUTOFILL_CC_MIR, R.drawable.mir_card)
LINK_RESOURCE_ID(IDR_AUTOFILL_CC_TROY, R.drawable.troy_card)
LINK_RESOURCE_ID(IDR_AUTOFILL_CC_UNIONPAY, R.drawable.unionpay_card) LINK_RESOURCE_ID(IDR_AUTOFILL_CC_UNIONPAY, R.drawable.unionpay_card)
LINK_RESOURCE_ID(IDR_AUTOFILL_CC_VISA, R.drawable.visa_card) LINK_RESOURCE_ID(IDR_AUTOFILL_CC_VISA, R.drawable.visa_card)
LINK_RESOURCE_ID(IDR_AUTOFILL_GOOGLE_ISSUED_CARD, LINK_RESOURCE_ID(IDR_AUTOFILL_GOOGLE_ISSUED_CARD,
......
...@@ -30,6 +30,7 @@ const struct { ...@@ -30,6 +30,7 @@ const struct {
{kJCBCard, IDR_AUTOFILL_CC_JCB}, {kJCBCard, IDR_AUTOFILL_CC_JCB},
{kMasterCard, IDR_AUTOFILL_CC_MASTERCARD}, {kMasterCard, IDR_AUTOFILL_CC_MASTERCARD},
{kMirCard, IDR_AUTOFILL_CC_MIR}, {kMirCard, IDR_AUTOFILL_CC_MIR},
{kTroyCard, IDR_AUTOFILL_CC_TROY},
{kUnionPay, IDR_AUTOFILL_CC_UNIONPAY}, {kUnionPay, IDR_AUTOFILL_CC_UNIONPAY},
{kVisaCard, IDR_AUTOFILL_CC_VISA}, {kVisaCard, IDR_AUTOFILL_CC_VISA},
{kGoogleIssuedCard, IDR_AUTOFILL_GOOGLE_ISSUED_CARD}, {kGoogleIssuedCard, IDR_AUTOFILL_GOOGLE_ISSUED_CARD},
......
...@@ -51,6 +51,7 @@ const PaymentRequestData kPaymentRequestData[]{ ...@@ -51,6 +51,7 @@ const PaymentRequestData kPaymentRequestData[]{
{autofill::kMasterCard, "mastercard", IDR_AUTOFILL_CC_MASTERCARD, {autofill::kMasterCard, "mastercard", IDR_AUTOFILL_CC_MASTERCARD,
IDS_AUTOFILL_CC_MASTERCARD}, IDS_AUTOFILL_CC_MASTERCARD},
{autofill::kMirCard, "mir", IDR_AUTOFILL_CC_MIR, IDS_AUTOFILL_CC_MIR}, {autofill::kMirCard, "mir", IDR_AUTOFILL_CC_MIR, IDS_AUTOFILL_CC_MIR},
{autofill::kTroyCard, "troy", IDR_AUTOFILL_CC_TROY, IDS_AUTOFILL_CC_TROY},
{autofill::kUnionPay, "unionpay", IDR_AUTOFILL_CC_UNIONPAY, {autofill::kUnionPay, "unionpay", IDR_AUTOFILL_CC_UNIONPAY,
IDS_AUTOFILL_CC_UNION_PAY}, IDS_AUTOFILL_CC_UNION_PAY},
{autofill::kVisaCard, "visa", IDR_AUTOFILL_CC_VISA, IDS_AUTOFILL_CC_VISA}, {autofill::kVisaCard, "visa", IDR_AUTOFILL_CC_VISA, IDS_AUTOFILL_CC_VISA},
......
...@@ -74,6 +74,8 @@ base::string16 NetworkForFill(const std::string& network) { ...@@ -74,6 +74,8 @@ base::string16 NetworkForFill(const std::string& network) {
return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_MASTERCARD); return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_MASTERCARD);
if (network == kMirCard) if (network == kMirCard)
return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_MIR); return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_MIR);
if (network == kTroyCard)
return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_TROY);
if (network == kUnionPay) if (network == kUnionPay)
return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_UNION_PAY); return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_UNION_PAY);
if (network == kVisaCard) if (network == kVisaCard)
...@@ -166,6 +168,8 @@ int CreditCard::IconResourceId(const std::string& network) { ...@@ -166,6 +168,8 @@ int CreditCard::IconResourceId(const std::string& network) {
return IDR_AUTOFILL_CC_MASTERCARD; return IDR_AUTOFILL_CC_MASTERCARD;
if (network == kMirCard) if (network == kMirCard)
return IDR_AUTOFILL_CC_MIR; return IDR_AUTOFILL_CC_MIR;
if (network == kTroyCard)
return IDR_AUTOFILL_CC_TROY;
if (network == kUnionPay) if (network == kUnionPay)
return IDR_AUTOFILL_CC_UNIONPAY; return IDR_AUTOFILL_CC_UNIONPAY;
if (network == kVisaCard) if (network == kVisaCard)
...@@ -185,7 +189,7 @@ const char* CreditCard::GetCardNetwork(const base::string16& number) { ...@@ -185,7 +189,7 @@ const char* CreditCard::GetCardNetwork(const base::string16& number) {
// https://developer.ean.com/general-info/valid-card-types, // https://developer.ean.com/general-info/valid-card-types,
// http://www.bincodes.com/, and // http://www.bincodes.com/, and
// http://www.fraudpractice.com/FL-binCC.html. // http://www.fraudpractice.com/FL-binCC.html.
// (Last updated: May 29, 2017) // (Last updated: February 2020; added Troy)
// //
// Card Type Prefix(es) Length // Card Type Prefix(es) Length
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
...@@ -197,6 +201,7 @@ const char* CreditCard::GetCardNetwork(const base::string16& number) { ...@@ -197,6 +201,7 @@ const char* CreditCard::GetCardNetwork(const base::string16& number) {
// JCB 3528-3589 16 // JCB 3528-3589 16
// Mastercard 2221-2720, 51-55 16 // Mastercard 2221-2720, 51-55 16
// MIR 2200-2204 16 // MIR 2200-2204 16
// Troy 2205, 9792 16
// UnionPay 62 16-19 // UnionPay 62 16-19
// Determine the network for the given |number| by going from the longest // Determine the network for the given |number| by going from the longest
...@@ -223,6 +228,9 @@ const char* CreditCard::GetCardNetwork(const base::string16& number) { ...@@ -223,6 +228,9 @@ const char* CreditCard::GetCardNetwork(const base::string16& number) {
if (first_four_digits >= 2200 && first_four_digits <= 2204) if (first_four_digits >= 2200 && first_four_digits <= 2204)
return kMirCard; return kMirCard;
if (first_four_digits == 2205 || first_four_digits == 9792)
return kTroyCard;
if (first_four_digits >= 2221 && first_four_digits <= 2720) if (first_four_digits >= 2221 && first_four_digits <= 2720)
return kMasterCard; return kMasterCard;
...@@ -1058,6 +1066,7 @@ const char kGoogleIssuedCard[] = "googleIssuedCC"; ...@@ -1058,6 +1066,7 @@ const char kGoogleIssuedCard[] = "googleIssuedCC";
const char kJCBCard[] = "jcbCC"; const char kJCBCard[] = "jcbCC";
const char kMasterCard[] = "masterCardCC"; const char kMasterCard[] = "masterCardCC";
const char kMirCard[] = "mirCC"; const char kMirCard[] = "mirCC";
const char kTroyCard[] = "troyCC";
const char kUnionPay[] = "unionPayCC"; const char kUnionPay[] = "unionPayCC";
const char kVisaCard[] = "visaCC"; const char kVisaCard[] = "visaCC";
......
...@@ -390,6 +390,7 @@ extern const char kGoogleIssuedCard[]; ...@@ -390,6 +390,7 @@ extern const char kGoogleIssuedCard[];
extern const char kJCBCard[]; extern const char kJCBCard[];
extern const char kMasterCard[]; extern const char kMasterCard[];
extern const char kMirCard[]; extern const char kMirCard[];
extern const char kTroyCard[];
extern const char kUnionPay[]; extern const char kUnionPay[];
extern const char kVisaCard[]; extern const char kVisaCard[];
......
...@@ -881,6 +881,7 @@ TEST(CreditCardTest, IconResourceId) { ...@@ -881,6 +881,7 @@ TEST(CreditCardTest, IconResourceId) {
EXPECT_EQ(IDR_AUTOFILL_CC_MASTERCARD, EXPECT_EQ(IDR_AUTOFILL_CC_MASTERCARD,
CreditCard::IconResourceId(kMasterCard)); CreditCard::IconResourceId(kMasterCard));
EXPECT_EQ(IDR_AUTOFILL_CC_MIR, CreditCard::IconResourceId(kMirCard)); EXPECT_EQ(IDR_AUTOFILL_CC_MIR, CreditCard::IconResourceId(kMirCard));
EXPECT_EQ(IDR_AUTOFILL_CC_TROY, CreditCard::IconResourceId(kTroyCard));
EXPECT_EQ(IDR_AUTOFILL_CC_UNIONPAY, CreditCard::IconResourceId(kUnionPay)); EXPECT_EQ(IDR_AUTOFILL_CC_UNIONPAY, CreditCard::IconResourceId(kUnionPay));
EXPECT_EQ(IDR_AUTOFILL_CC_VISA, CreditCard::IconResourceId(kVisaCard)); EXPECT_EQ(IDR_AUTOFILL_CC_VISA, CreditCard::IconResourceId(kVisaCard));
} }
...@@ -1602,6 +1603,8 @@ INSTANTIATE_TEST_SUITE_P( ...@@ -1602,6 +1603,8 @@ INSTANTIATE_TEST_SUITE_P(
GetCardNetworkTestCase{"4514161111111119", kEloCard, true}, GetCardNetworkTestCase{"4514161111111119", kEloCard, true},
GetCardNetworkTestCase{"5090111111111113", kEloCard, true}, GetCardNetworkTestCase{"5090111111111113", kEloCard, true},
GetCardNetworkTestCase{"6277801111111112", kEloCard, true}, GetCardNetworkTestCase{"6277801111111112", kEloCard, true},
GetCardNetworkTestCase{"2205111111111112", kTroyCard, true},
GetCardNetworkTestCase{"9792111111111116", kTroyCard, true},
// Existence of separators should not change the result, especially for // Existence of separators should not change the result, especially for
// prefixes that go past the first separator. // prefixes that go past the first separator.
...@@ -1609,6 +1612,8 @@ INSTANTIATE_TEST_SUITE_P( ...@@ -1609,6 +1612,8 @@ INSTANTIATE_TEST_SUITE_P(
GetCardNetworkTestCase{"4111-1111-1111-1111", kVisaCard, true}, GetCardNetworkTestCase{"4111-1111-1111-1111", kVisaCard, true},
GetCardNetworkTestCase{"4312 7411 1111 1112", kEloCard, true}, GetCardNetworkTestCase{"4312 7411 1111 1112", kEloCard, true},
GetCardNetworkTestCase{"4312-7411-1111-1112", kEloCard, true}, GetCardNetworkTestCase{"4312-7411-1111-1112", kEloCard, true},
GetCardNetworkTestCase{"2205 1111 1111 1112", kTroyCard, true},
GetCardNetworkTestCase{"2205-1111-1111-1112", kTroyCard, true},
// Empty string // Empty string
GetCardNetworkTestCase{"", kGenericCard, false}, GetCardNetworkTestCase{"", kGenericCard, false},
...@@ -1648,6 +1653,7 @@ INSTANTIATE_TEST_SUITE_P( ...@@ -1648,6 +1653,7 @@ INSTANTIATE_TEST_SUITE_P(
GetCardNetworkTestCase{"2202", kMirCard, false}, GetCardNetworkTestCase{"2202", kMirCard, false},
GetCardNetworkTestCase{"2203", kMirCard, false}, GetCardNetworkTestCase{"2203", kMirCard, false},
GetCardNetworkTestCase{"2204", kMirCard, false}, GetCardNetworkTestCase{"2204", kMirCard, false},
GetCardNetworkTestCase{"2205", kTroyCard, false},
GetCardNetworkTestCase{"2221", kMasterCard, false}, GetCardNetworkTestCase{"2221", kMasterCard, false},
GetCardNetworkTestCase{"2720", kMasterCard, false}, GetCardNetworkTestCase{"2720", kMasterCard, false},
GetCardNetworkTestCase{"300", kDinersCard, false}, GetCardNetworkTestCase{"300", kDinersCard, false},
...@@ -1685,7 +1691,8 @@ INSTANTIATE_TEST_SUITE_P( ...@@ -1685,7 +1691,8 @@ INSTANTIATE_TEST_SUITE_P(
GetCardNetworkTestCase{"647", kDiscoverCard, false}, GetCardNetworkTestCase{"647", kDiscoverCard, false},
GetCardNetworkTestCase{"648", kDiscoverCard, false}, GetCardNetworkTestCase{"648", kDiscoverCard, false},
GetCardNetworkTestCase{"649", kDiscoverCard, false}, GetCardNetworkTestCase{"649", kDiscoverCard, false},
GetCardNetworkTestCase{"65", kDiscoverCard, false})); GetCardNetworkTestCase{"65", kDiscoverCard, false},
GetCardNetworkTestCase{"9792", kTroyCard, false}));
class GetCardNetworkTestBatch4 class GetCardNetworkTestBatch4
: public testing::TestWithParam<GetCardNetworkTestCase> {}; : public testing::TestWithParam<GetCardNetworkTestCase> {};
...@@ -1712,6 +1719,7 @@ INSTANTIATE_TEST_SUITE_P( ...@@ -1712,6 +1719,7 @@ INSTANTIATE_TEST_SUITE_P(
GetCardNetworkTestCase{"60", kGenericCard, false}, GetCardNetworkTestCase{"60", kGenericCard, false},
GetCardNetworkTestCase{"601", kGenericCard, false}, GetCardNetworkTestCase{"601", kGenericCard, false},
GetCardNetworkTestCase{"64", kGenericCard, false}, GetCardNetworkTestCase{"64", kGenericCard, false},
GetCardNetworkTestCase{"9", kGenericCard, false},
// Unknown IINs. // Unknown IINs.
GetCardNetworkTestCase{"0", kGenericCard, false}, GetCardNetworkTestCase{"0", kGenericCard, false},
...@@ -1751,7 +1759,16 @@ INSTANTIATE_TEST_SUITE_P( ...@@ -1751,7 +1759,16 @@ INSTANTIATE_TEST_SUITE_P(
GetCardNetworkTestCase{"69", kGenericCard, false}, GetCardNetworkTestCase{"69", kGenericCard, false},
GetCardNetworkTestCase{"7", kGenericCard, false}, GetCardNetworkTestCase{"7", kGenericCard, false},
GetCardNetworkTestCase{"8", kGenericCard, false}, GetCardNetworkTestCase{"8", kGenericCard, false},
GetCardNetworkTestCase{"9", kGenericCard, false}, GetCardNetworkTestCase{"90", kGenericCard, false},
GetCardNetworkTestCase{"91", kGenericCard, false},
GetCardNetworkTestCase{"92", kGenericCard, false},
GetCardNetworkTestCase{"93", kGenericCard, false},
GetCardNetworkTestCase{"94", kGenericCard, false},
GetCardNetworkTestCase{"95", kGenericCard, false},
GetCardNetworkTestCase{"97", kGenericCard, false},
GetCardNetworkTestCase{"979", kGenericCard, false},
GetCardNetworkTestCase{"98", kGenericCard, false},
GetCardNetworkTestCase{"99", kGenericCard, false},
// Oddball case: Unknown issuer, but valid Luhn check and plausible // Oddball case: Unknown issuer, but valid Luhn check and plausible
// length. // length.
......
...@@ -81,6 +81,8 @@ bool HasCorrectLength(const base::string16& number) { ...@@ -81,6 +81,8 @@ bool HasCorrectLength(const base::string16& number) {
return false; return false;
if (type == kMirCard && number.size() != 16) if (type == kMirCard && number.size() != 16)
return false; return false;
if (type == kTroyCard && number.size() != 16)
return false;
if (type == kUnionPay && (number.size() < 16 || number.size() > 19)) if (type == kUnionPay && (number.size() < 16 || number.size() > 19))
return false; return false;
if (type == kVisaCard && number.size() != 13 && number.size() != 16 && if (type == kVisaCard && number.size() != 13 && number.size() != 16 &&
......
...@@ -374,8 +374,8 @@ TEST_P(AutofillCCNumberValidationTest, IsValidCreditCardNumber) { ...@@ -374,8 +374,8 @@ TEST_P(AutofillCCNumberValidationTest, IsValidCreditCardNumber) {
} }
static const std::set<std::string> kAllBasicCardNetworks{ static const std::set<std::string> kAllBasicCardNetworks{
"amex", "discover", "diners", "elo", "jcb", "amex", "discover", "diners", "elo", "jcb",
"mastercard", "mir", "unionpay", "visa"}; "mastercard", "mir", "troy", "unionpay", "visa"};
INSTANTIATE_TEST_SUITE_P( INSTANTIATE_TEST_SUITE_P(
CreditCardNumber, CreditCardNumber,
...@@ -471,6 +471,7 @@ INSTANTIATE_TEST_SUITE_P( ...@@ -471,6 +471,7 @@ INSTANTIATE_TEST_SUITE_P(
GetCvcLengthForCardTypeCase{kJCBCard, GENERAL_CVC_LENGTH}, GetCvcLengthForCardTypeCase{kJCBCard, GENERAL_CVC_LENGTH},
GetCvcLengthForCardTypeCase{kMasterCard, GENERAL_CVC_LENGTH}, GetCvcLengthForCardTypeCase{kMasterCard, GENERAL_CVC_LENGTH},
GetCvcLengthForCardTypeCase{kMirCard, GENERAL_CVC_LENGTH}, GetCvcLengthForCardTypeCase{kMirCard, GENERAL_CVC_LENGTH},
GetCvcLengthForCardTypeCase{kTroyCard, GENERAL_CVC_LENGTH},
GetCvcLengthForCardTypeCase{kUnionPay, GENERAL_CVC_LENGTH}, GetCvcLengthForCardTypeCase{kUnionPay, GENERAL_CVC_LENGTH},
GetCvcLengthForCardTypeCase{kVisaCard, GENERAL_CVC_LENGTH})); GetCvcLengthForCardTypeCase{kVisaCard, GENERAL_CVC_LENGTH}));
......
...@@ -79,6 +79,9 @@ ...@@ -79,6 +79,9 @@
<message name="IDS_AUTOFILL_CC_MIR" desc="Mir credit card name." formatter_data="android_java"> <message name="IDS_AUTOFILL_CC_MIR" desc="Mir credit card name." formatter_data="android_java">
Mir Mir
</message> </message>
<message name="IDS_AUTOFILL_CC_TROY" desc="Troy credit card name.">
Troy
</message>
<message name="IDS_AUTOFILL_CC_UNION_PAY" desc="China UnionPay credit card name." formatter_data="android_java"> <message name="IDS_AUTOFILL_CC_UNION_PAY" desc="China UnionPay credit card name." formatter_data="android_java">
China UnionPay China UnionPay
</message> </message>
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
<structure type="chrome_scaled_image" name="IDR_AUTOFILL_CC_MIR" file="autofill/mir.png" /> <structure type="chrome_scaled_image" name="IDR_AUTOFILL_CC_MIR" file="autofill/mir.png" />
<structure type="chrome_scaled_image" name="IDR_AUTOFILL_CC_UNIONPAY" file="autofill/unionpay.png" /> <structure type="chrome_scaled_image" name="IDR_AUTOFILL_CC_UNIONPAY" file="autofill/unionpay.png" />
<structure type="chrome_scaled_image" name="IDR_AUTOFILL_CC_VISA" file="autofill/visa.png" /> <structure type="chrome_scaled_image" name="IDR_AUTOFILL_CC_VISA" file="autofill/visa.png" />
<structure type="chrome_scaled_image" name="IDR_AUTOFILL_CC_TROY" file="autofill/troy.png" />
<if expr="_google_chrome"> <if expr="_google_chrome">
<then> <then>
<structure type="chrome_scaled_image" name="IDR_AUTOFILL_GOOGLE_ISSUED_CARD" file="autofill/cc-generic.png" /> <structure type="chrome_scaled_image" name="IDR_AUTOFILL_GOOGLE_ISSUED_CARD" file="autofill/cc-generic.png" />
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment