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

Unified Diff: components/autofill/core/browser/validation.cc

Issue 2906763005: Add support for Brazil Elo card in autofill. (Closed)
Patch Set: Fix test Created 3 years, 7 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: components/autofill/core/browser/validation.cc
diff --git a/components/autofill/core/browser/validation.cc b/components/autofill/core/browser/validation.cc
index 4588a13bbd92d659801ac7afd5431294114aff91..60726b8e6103dd7d43275c5c990de234b4b40be5 100644
--- a/components/autofill/core/browser/validation.cc
+++ b/components/autofill/core/browser/validation.cc
@@ -46,11 +46,11 @@ bool IsValidCreditCardExpirationDate(int year,
bool IsValidCreditCardNumber(const base::string16& text) {
base::string16 number = CreditCard::StripSeparators(text);
- // Credit card numbers are at most 19 digits in length [1]. 12 digits seems to
- // be a fairly safe lower-bound [2]. Specific card issuers have more rigidly
- // defined sizes.
- // [1] http://www.merriampark.com/anatomycc.htm
- // [2] http://en.wikipedia.org/wiki/Bank_card_number
+ // Credit card numbers are at most 19 digits in length, 12 digits seems to
+ // be a fairly safe lower-bound [1]. Specific card issuers have more rigidly
+ // defined sizes.
+ // (Last updated: May 29, 2017)
+ // [1] https://en.wikipedia.org/wiki/Payment_card_number.
// CardEditor.isCardNumberLengthMaxium() needs to be kept in sync.
const char* const type = CreditCard::GetCardNetwork(text);
if (type == kAmericanExpressCard && number.size() != 15)
@@ -59,6 +59,8 @@ bool IsValidCreditCardNumber(const base::string16& text) {
return false;
if (type == kDiscoverCard && number.size() != 16)
return false;
+ if (type == kEloCard && number.size() != 16)
+ return false;
if (type == kJCBCard && number.size() != 16)
return false;
if (type == kMasterCard && number.size() != 16)
@@ -67,7 +69,8 @@ bool IsValidCreditCardNumber(const base::string16& text) {
return false;
if (type == kUnionPay && (number.size() < 16 || number.size() > 19))
return false;
- if (type == kVisaCard && number.size() != 13 && number.size() != 16)
+ if (type == kVisaCard && number.size() != 13 && number.size() != 16 &&
+ number.size() != 19)
return false;
if (type == kGenericCard && (number.size() < 12 || number.size() > 19))
return false;

Powered by Google App Engine
This is Rietveld 408576698