| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/browser/credit_card.h" | 5 #include "components/autofill/browser/credit_card.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <ostream> | 9 #include <ostream> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 CreditCard::~CreditCard() {} | 213 CreditCard::~CreditCard() {} |
| 214 | 214 |
| 215 // static | 215 // static |
| 216 const string16 CreditCard::StripSeparators(const string16& number) { | 216 const string16 CreditCard::StripSeparators(const string16& number) { |
| 217 const char16 kSeparators[] = {'-', ' ', '\0'}; | 217 const char16 kSeparators[] = {'-', ' ', '\0'}; |
| 218 string16 stripped; | 218 string16 stripped; |
| 219 RemoveChars(number, kSeparators, &stripped); | 219 RemoveChars(number, kSeparators, &stripped); |
| 220 return stripped; | 220 return stripped; |
| 221 } | 221 } |
| 222 | 222 |
| 223 // static |
| 224 string16 CreditCard::TypeForDisplay(const std::string& type) { |
| 225 if (type == kAmericanExpressCard) |
| 226 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_AMEX); |
| 227 if (type == kDinersCard) |
| 228 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_DINERS); |
| 229 if (type == kDiscoverCard) |
| 230 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_DISCOVER); |
| 231 if (type == kJCBCard) |
| 232 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_JCB); |
| 233 if (type == kMasterCard) |
| 234 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_MASTERCARD); |
| 235 if (type == kSoloCard) |
| 236 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_SOLO); |
| 237 if (type == kVisaCard) |
| 238 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_VISA); |
| 239 |
| 240 // If you hit this DCHECK, the above list of cases needs to be updated to |
| 241 // include a new card. |
| 242 DCHECK_EQ(kGenericCard, type); |
| 243 return string16(); |
| 244 } |
| 245 |
| 223 std::string CreditCard::GetGUID() const { | 246 std::string CreditCard::GetGUID() const { |
| 224 return guid(); | 247 return guid(); |
| 225 } | 248 } |
| 226 | 249 |
| 227 string16 CreditCard::GetRawInfo(AutofillFieldType type) const { | 250 string16 CreditCard::GetRawInfo(AutofillFieldType type) const { |
| 228 switch (type) { | 251 switch (type) { |
| 229 case CREDIT_CARD_NAME: | 252 case CREDIT_CARD_NAME: |
| 230 return name_on_card_; | 253 return name_on_card_; |
| 231 | 254 |
| 232 case CREDIT_CARD_EXP_MONTH: | 255 case CREDIT_CARD_EXP_MONTH: |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 static const size_t kNumLastDigits = 4; | 432 static const size_t kNumLastDigits = 4; |
| 410 | 433 |
| 411 string16 number = StripSeparators(number_); | 434 string16 number = StripSeparators(number_); |
| 412 if (number.size() < kNumLastDigits) | 435 if (number.size() < kNumLastDigits) |
| 413 return string16(); | 436 return string16(); |
| 414 | 437 |
| 415 return number.substr(number.size() - kNumLastDigits, kNumLastDigits); | 438 return number.substr(number.size() - kNumLastDigits, kNumLastDigits); |
| 416 } | 439 } |
| 417 | 440 |
| 418 string16 CreditCard::TypeForDisplay() const { | 441 string16 CreditCard::TypeForDisplay() const { |
| 419 if (type_ == kAmericanExpressCard) | 442 return TypeForDisplay(type_); |
| 420 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_AMEX); | |
| 421 if (type_ == kDinersCard) | |
| 422 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_DINERS); | |
| 423 if (type_ == kDiscoverCard) | |
| 424 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_DISCOVER); | |
| 425 if (type_ == kJCBCard) | |
| 426 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_JCB); | |
| 427 if (type_ == kMasterCard) | |
| 428 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_MASTERCARD); | |
| 429 if (type_ == kSoloCard) | |
| 430 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_SOLO); | |
| 431 if (type_ == kVisaCard) | |
| 432 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_VISA); | |
| 433 | |
| 434 // If you hit this DCHECK, the above list of cases needs to be updated to | |
| 435 // include a new card. | |
| 436 DCHECK_EQ(kGenericCard, type_); | |
| 437 return string16(); | |
| 438 } | 443 } |
| 439 | 444 |
| 440 string16 CreditCard::TypeAndLastFourDigits() const { | 445 string16 CreditCard::TypeAndLastFourDigits() const { |
| 441 string16 type = TypeForDisplay(); | 446 string16 type = TypeForDisplay(); |
| 442 // TODO(estade): type may be empty, we probably want to return | 447 // TODO(estade): type may be empty, we probably want to return |
| 443 // "Card - 1234" or something in that case. | 448 // "Card - 1234" or something in that case. |
| 444 | 449 |
| 445 string16 digits = LastFourDigits(); | 450 string16 digits = LastFourDigits(); |
| 446 if (digits.empty()) | 451 if (digits.empty()) |
| 447 return type; | 452 return type; |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 669 // webkit/glue. We send these strings to WebKit, which then asks | 674 // webkit/glue. We send these strings to WebKit, which then asks |
| 670 // WebKitPlatformSupportImpl to load the image data. | 675 // WebKitPlatformSupportImpl to load the image data. |
| 671 const char* const kAmericanExpressCard = "americanExpressCC"; | 676 const char* const kAmericanExpressCard = "americanExpressCC"; |
| 672 const char* const kDinersCard = "dinersCC"; | 677 const char* const kDinersCard = "dinersCC"; |
| 673 const char* const kDiscoverCard = "discoverCC"; | 678 const char* const kDiscoverCard = "discoverCC"; |
| 674 const char* const kGenericCard = "genericCC"; | 679 const char* const kGenericCard = "genericCC"; |
| 675 const char* const kJCBCard = "jcbCC"; | 680 const char* const kJCBCard = "jcbCC"; |
| 676 const char* const kMasterCard = "masterCardCC"; | 681 const char* const kMasterCard = "masterCardCC"; |
| 677 const char* const kSoloCard = "soloCC"; | 682 const char* const kSoloCard = "soloCC"; |
| 678 const char* const kVisaCard = "visaCC"; | 683 const char* const kVisaCard = "visaCC"; |
| OLD | NEW |