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

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

Issue 2514753002: Add Mir credit card support to autofill. (Closed)
Patch Set: Remove autofill sync modifications, optimize png files. Created 4 years, 1 month 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/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/string_piece.h" 10 #include "base/strings/string_piece.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 if (type == kAmericanExpressCard && number.size() != 15) 47 if (type == kAmericanExpressCard && number.size() != 15)
48 return false; 48 return false;
49 if (type == kDinersCard && number.size() != 14) 49 if (type == kDinersCard && number.size() != 14)
50 return false; 50 return false;
51 if (type == kDiscoverCard && number.size() != 16) 51 if (type == kDiscoverCard && number.size() != 16)
52 return false; 52 return false;
53 if (type == kJCBCard && number.size() != 16) 53 if (type == kJCBCard && number.size() != 16)
54 return false; 54 return false;
55 if (type == kMasterCard && number.size() != 16) 55 if (type == kMasterCard && number.size() != 16)
56 return false; 56 return false;
57 if (type == kMirCard && number.size() != 16)
58 return false;
57 if (type == kUnionPay && (number.size() < 16 || number.size() > 19)) 59 if (type == kUnionPay && (number.size() < 16 || number.size() > 19))
58 return false; 60 return false;
59 if (type == kVisaCard && number.size() != 13 && number.size() != 16) 61 if (type == kVisaCard && number.size() != 13 && number.size() != 16)
60 return false; 62 return false;
61 if (type == kGenericCard && (number.size() < 12 || number.size() > 19)) 63 if (type == kGenericCard && (number.size() < 12 || number.size() > 19))
62 return false; 64 return false;
63 65
64 // Use the Luhn formula [3] to validate the number. 66 // Use the Luhn formula [3] to validate the number.
65 // [3] http://en.wikipedia.org/wiki/Luhn_algorithm 67 // [3] http://en.wikipedia.org/wiki/Luhn_algorithm
66 int sum = 0; 68 int sum = 0;
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 number_string.begin() + 9), 181 number_string.begin() + 9),
180 &serial) 182 &serial)
181 || serial == 0) { 183 || serial == 0) {
182 return false; 184 return false;
183 } 185 }
184 186
185 return true; 187 return true;
186 } 188 }
187 189
188 } // namespace autofill 190 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/core/browser/credit_card_unittest.cc ('k') | components/autofill_strings.grdp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698