| 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 |