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

Side by Side Diff: components/autofill/core/browser/validation.cc

Issue 2844463004: Rename card 'type' into 'issuer network.' (Closed)
Patch Set: read -> use 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/autofill/core/browser/validation.h" 5 #include "components/autofill/core/browser/validation.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 44
45 bool IsValidCreditCardNumber(const base::string16& text) { 45 bool IsValidCreditCardNumber(const base::string16& text) {
46 base::string16 number = CreditCard::StripSeparators(text); 46 base::string16 number = CreditCard::StripSeparators(text);
47 47
48 // Credit card numbers are at most 19 digits in length [1]. 12 digits seems to 48 // Credit card numbers are at most 19 digits in length [1]. 12 digits seems to
49 // be a fairly safe lower-bound [2]. Specific card issuers have more rigidly 49 // be a fairly safe lower-bound [2]. Specific card issuers have more rigidly
50 // defined sizes. 50 // defined sizes.
51 // [1] http://www.merriampark.com/anatomycc.htm 51 // [1] http://www.merriampark.com/anatomycc.htm
52 // [2] http://en.wikipedia.org/wiki/Bank_card_number 52 // [2] http://en.wikipedia.org/wiki/Bank_card_number
53 // CardEditor.isCardNumberLengthMaxium() needs to be kept in sync. 53 // CardEditor.isCardNumberLengthMaxium() needs to be kept in sync.
54 const char* const type = CreditCard::GetCreditCardType(text); 54 const char* const type = CreditCard::GetCardNetwork(text);
55 if (type == kAmericanExpressCard && number.size() != 15) 55 if (type == kAmericanExpressCard && number.size() != 15)
56 return false; 56 return false;
57 if (type == kDinersCard && number.size() != 14) 57 if (type == kDinersCard && number.size() != 14)
58 return false; 58 return false;
59 if (type == kDiscoverCard && number.size() != 16) 59 if (type == kDiscoverCard && number.size() != 16)
60 return false; 60 return false;
61 if (type == kJCBCard && number.size() != 16) 61 if (type == kJCBCard && number.size() != 16)
62 return false; 62 return false;
63 if (type == kMasterCard && number.size() != 16) 63 if (type == kMasterCard && number.size() != 16)
64 return false; 64 return false;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 base::ContainsOnlyChars(code, base::ASCIIToUTF16("0123456789")); 100 base::ContainsOnlyChars(code, base::ASCIIToUTF16("0123456789"));
101 } 101 }
102 102
103 bool IsValidCreditCardNumberForBasicCardNetworks( 103 bool IsValidCreditCardNumberForBasicCardNetworks(
104 const base::string16& text, 104 const base::string16& text,
105 const std::set<std::string>& supported_basic_card_networks, 105 const std::set<std::string>& supported_basic_card_networks,
106 base::string16* error_message) { 106 base::string16* error_message) {
107 DCHECK(error_message); 107 DCHECK(error_message);
108 108
109 // The type check is cheaper than the credit card number check. 109 // The type check is cheaper than the credit card number check.
110 const std::string basic_card_payment_type = 110 const std::string basic_card_issuer_network =
111 autofill::data_util::GetPaymentRequestData( 111 autofill::data_util::GetPaymentRequestData(
112 CreditCard::GetCreditCardType(text)) 112 CreditCard::GetCardNetwork(text))
113 .basic_card_payment_type; 113 .basic_card_issuer_network;
114 if (!supported_basic_card_networks.count(basic_card_payment_type)) { 114 if (!supported_basic_card_networks.count(basic_card_issuer_network)) {
115 *error_message = l10n_util::GetStringUTF16( 115 *error_message = l10n_util::GetStringUTF16(
116 IDS_PAYMENTS_VALIDATION_UNSUPPORTED_CREDIT_CARD_TYPE); 116 IDS_PAYMENTS_VALIDATION_UNSUPPORTED_CREDIT_CARD_TYPE);
117 return false; 117 return false;
118 } 118 }
119 119
120 if (IsValidCreditCardNumber(text)) 120 if (IsValidCreditCardNumber(text))
121 return true; 121 return true;
122 122
123 *error_message = l10n_util::GetStringUTF16( 123 *error_message = l10n_util::GetStringUTF16(
124 IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE); 124 IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE);
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 return AMEX_CVC_LENGTH; 365 return AMEX_CVC_LENGTH;
366 366
367 return GENERAL_CVC_LENGTH; 367 return GENERAL_CVC_LENGTH;
368 } 368 }
369 369
370 bool IsUPIVirtualPaymentAddress(const base::string16& value) { 370 bool IsUPIVirtualPaymentAddress(const base::string16& value) {
371 return MatchesPattern(value, base::ASCIIToUTF16(kUPIVirtualPaymentAddressRe)); 371 return MatchesPattern(value, base::ASCIIToUTF16(kUPIVirtualPaymentAddressRe));
372 } 372 }
373 373
374 } // namespace autofill 374 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/core/browser/validation.h ('k') | components/autofill/core/browser/webdata/autofill_table.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698