OLD | NEW |
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/credit_card.h" | 5 #include "components/autofill/core/browser/credit_card.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <ostream> | 10 #include <ostream> |
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 matching_types->insert(CREDIT_CARD_NUMBER); | 460 matching_types->insert(CREDIT_CARD_NUMBER); |
461 | 461 |
462 int month; | 462 int month; |
463 if (ConvertMonth(text, app_locale, &month) && month != 0 && | 463 if (ConvertMonth(text, app_locale, &month) && month != 0 && |
464 month == expiration_month_) { | 464 month == expiration_month_) { |
465 matching_types->insert(CREDIT_CARD_EXP_MONTH); | 465 matching_types->insert(CREDIT_CARD_EXP_MONTH); |
466 } | 466 } |
467 } | 467 } |
468 | 468 |
469 const base::string16 CreditCard::Label() const { | 469 const base::string16 CreditCard::Label() const { |
| 470 std::pair<base::string16, base::string16> pieces = LabelPieces(); |
| 471 return pieces.first + pieces.second; |
| 472 } |
| 473 |
| 474 const std::pair<base::string16, base::string16> CreditCard::LabelPieces() |
| 475 const { |
470 base::string16 label; | 476 base::string16 label; |
| 477 // No CC number, return name only. |
471 if (number().empty()) | 478 if (number().empty()) |
472 return name_on_card_; // No CC number, return name only. | 479 return std::make_pair(name_on_card_, base::string16()); |
473 | 480 |
474 base::string16 obfuscated_cc_number = TypeAndLastFourDigits(); | 481 base::string16 obfuscated_cc_number = TypeAndLastFourDigits(); |
| 482 // No expiration date set. |
475 if (!expiration_month_ || !expiration_year_) | 483 if (!expiration_month_ || !expiration_year_) |
476 return obfuscated_cc_number; // No expiration date set. | 484 return std::make_pair(obfuscated_cc_number, base::string16()); |
477 | 485 |
478 // TODO(georgey): Internationalize date. | |
479 base::string16 formatted_date(ExpirationMonthAsString()); | 486 base::string16 formatted_date(ExpirationMonthAsString()); |
480 formatted_date.append(base::ASCIIToUTF16("/")); | 487 formatted_date.append(base::ASCIIToUTF16("/")); |
481 formatted_date.append(Expiration4DigitYearAsString()); | 488 formatted_date.append(Expiration4DigitYearAsString()); |
482 | 489 |
483 label = l10n_util::GetStringFUTF16(IDS_CREDIT_CARD_NUMBER_PREVIEW_FORMAT, | 490 base::string16 separator = |
484 obfuscated_cc_number, | 491 l10n_util::GetStringUTF16(IDS_AUTOFILL_ADDRESS_SUMMARY_SEPARATOR); |
485 formatted_date); | 492 return std::make_pair(obfuscated_cc_number, separator + formatted_date); |
486 return label; | |
487 } | 493 } |
488 | 494 |
489 void CreditCard::SetInfoForMonthInputType(const base::string16& value) { | 495 void CreditCard::SetInfoForMonthInputType(const base::string16& value) { |
490 // Check if |text| is "yyyy-mm" format first, and check normal month format. | 496 // Check if |text| is "yyyy-mm" format first, and check normal month format. |
491 if (!autofill::MatchesPattern(value, | 497 if (!autofill::MatchesPattern(value, |
492 base::UTF8ToUTF16("^[0-9]{4}-[0-9]{1,2}$"))) { | 498 base::UTF8ToUTF16("^[0-9]{4}-[0-9]{1,2}$"))) { |
493 return; | 499 return; |
494 } | 500 } |
495 | 501 |
496 std::vector<base::string16> year_month; | 502 std::vector<base::string16> year_month; |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
777 const char* const kAmericanExpressCard = "americanExpressCC"; | 783 const char* const kAmericanExpressCard = "americanExpressCC"; |
778 const char* const kDinersCard = "dinersCC"; | 784 const char* const kDinersCard = "dinersCC"; |
779 const char* const kDiscoverCard = "discoverCC"; | 785 const char* const kDiscoverCard = "discoverCC"; |
780 const char* const kGenericCard = "genericCC"; | 786 const char* const kGenericCard = "genericCC"; |
781 const char* const kJCBCard = "jcbCC"; | 787 const char* const kJCBCard = "jcbCC"; |
782 const char* const kMasterCard = "masterCardCC"; | 788 const char* const kMasterCard = "masterCardCC"; |
783 const char* const kUnionPay = "unionPayCC"; | 789 const char* const kUnionPay = "unionPayCC"; |
784 const char* const kVisaCard = "visaCC"; | 790 const char* const kVisaCard = "visaCC"; |
785 | 791 |
786 } // namespace autofill | 792 } // namespace autofill |
OLD | NEW |