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

Side by Side Diff: components/autofill/core/browser/credit_card.h

Issue 2673753005: [Payments] Basic validation in the credit card editor. (Closed)
Patch Set: more tests Created 3 years, 10 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 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_ 5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_
6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_ 6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 bool IsExpired(const base::Time& current_time) const; 189 bool IsExpired(const base::Time& current_time) const;
190 190
191 // Whether the card expiration date should be updated. 191 // Whether the card expiration date should be updated.
192 bool ShouldUpdateExpiration(const base::Time& current_time) const; 192 bool ShouldUpdateExpiration(const base::Time& current_time) const;
193 193
194 const std::string& billing_address_id() const { return billing_address_id_; } 194 const std::string& billing_address_id() const { return billing_address_id_; }
195 void set_billing_address_id(const std::string& id) { 195 void set_billing_address_id(const std::string& id) {
196 billing_address_id_ = id; 196 billing_address_id_ = id;
197 } 197 }
198 198
199 // Sets |expiration_month_| to the integer conversion of |text| and returns
200 // whether the operation was successful.
201 bool SetExpirationMonthFromString(const base::string16& text,
202 const std::string& app_locale);
203
204 // Sets |expiration_year_| to the integer conversion of |text|. Will handle
205 // 4-digit year or 2-digit year (eventually converted to 4-digit year).
206 void SetExpirationYearFromString(const base::string16& text);
207
208 // Sets |expiration_year_| and |expiration_month_| to the integer conversion
209 // of |text|. Will handle mmyy, mmyyyy, mm-yyyy and mm-yy as well as single
210 // digit months, with various separators.
211 void SetExpirationDateFromString(const base::string16& text);
212
199 private: 213 private:
200 FRIEND_TEST_ALL_PREFIXES(CreditCardTest, SetExpirationDateFromString); 214 FRIEND_TEST_ALL_PREFIXES(CreditCardTest, SetExpirationDateFromString);
201 FRIEND_TEST_ALL_PREFIXES(CreditCardTest, SetExpirationYearFromString); 215 FRIEND_TEST_ALL_PREFIXES(CreditCardTest, SetExpirationYearFromString);
202 216
203 // FormGroup: 217 // FormGroup:
204 void GetSupportedTypes(ServerFieldTypeSet* supported_types) const override; 218 void GetSupportedTypes(ServerFieldTypeSet* supported_types) const override;
205 219
206 // The type of the card to fill in to the page, e.g. 'Mastercard'. 220 // The type of the card to fill in to the page, e.g. 'Mastercard'.
207 base::string16 TypeForFill() const; 221 base::string16 TypeForFill() const;
208 222
209 // The month and year are zero if not present. 223 // The month and year are zero if not present.
210 int Expiration4DigitYear() const { return expiration_year_; } 224 int Expiration4DigitYear() const { return expiration_year_; }
211 int Expiration2DigitYear() const { return expiration_year_ % 100; } 225 int Expiration2DigitYear() const { return expiration_year_ % 100; }
212 base::string16 ExpirationMonthAsString() const; 226 base::string16 ExpirationMonthAsString() const;
213 base::string16 Expiration4DigitYearAsString() const; 227 base::string16 Expiration4DigitYearAsString() const;
214 base::string16 Expiration2DigitYearAsString() const; 228 base::string16 Expiration2DigitYearAsString() const;
215 229
216 // Sets |expiration_month_| to the integer conversion of |text| and returns
217 // whether the operation was successful.
218 bool SetExpirationMonthFromString(const base::string16& text,
219 const std::string& app_locale);
220
221 // Sets |expiration_year_| to the integer conversion of |text|. Will handle
222 // 4-digit year or 2-digit year (eventually converted to 4-digit year).
223 void SetExpirationYearFromString(const base::string16& text);
224
225 // Sets |expiration_year_| and |expiration_month_| to the integer conversion
226 // of |text|. Will handle mmyy, mmyyyy, mm-yyyy and mm-yy as well as single
227 // digit months, with various separators.
228 void SetExpirationDateFromString(const base::string16& text);
229
230 // See enum definition above. 230 // See enum definition above.
231 RecordType record_type_; 231 RecordType record_type_;
232 232
233 // The credit card number. For MASKED_SERVER_CARDs, this number will 233 // The credit card number. For MASKED_SERVER_CARDs, this number will
234 // just contain the last four digits of the card number. 234 // just contain the last four digits of the card number.
235 base::string16 number_; 235 base::string16 number_;
236 236
237 // The cardholder's name. May be empty. 237 // The cardholder's name. May be empty.
238 base::string16 name_on_card_; 238 base::string16 name_on_card_;
239 239
(...skipping 26 matching lines...) Expand all
266 extern const char kGenericCard[]; 266 extern const char kGenericCard[];
267 extern const char kJCBCard[]; 267 extern const char kJCBCard[];
268 extern const char kMasterCard[]; 268 extern const char kMasterCard[];
269 extern const char kMirCard[]; 269 extern const char kMirCard[];
270 extern const char kUnionPay[]; 270 extern const char kUnionPay[];
271 extern const char kVisaCard[]; 271 extern const char kVisaCard[];
272 272
273 } // namespace autofill 273 } // namespace autofill
274 274
275 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_ 275 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698