| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/browser/autofill/credit_card.h" | 5 #include "chrome/browser/autofill/credit_card.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/string_split.h" |
| 10 #include "base/string_util.h" | 11 #include "base/string_util.h" |
| 11 #include "base/string_number_conversions.h" | 12 #include "base/string_number_conversions.h" |
| 12 #include "base/string16.h" | 13 #include "base/string16.h" |
| 13 #include "base/utf_string_conversions.h" | 14 #include "base/utf_string_conversions.h" |
| 14 #include "chrome/browser/autofill/autofill_type.h" | 15 #include "chrome/browser/autofill/autofill_type.h" |
| 15 #include "chrome/browser/autofill/field_types.h" | 16 #include "chrome/browser/autofill/field_types.h" |
| 16 #include "chrome/common/guid.h" | 17 #include "chrome/common/guid.h" |
| 17 #include "grit/generated_resources.h" | 18 #include "grit/generated_resources.h" |
| 19 #include "third_party/WebKit/Source/WebKit/chromium/public/WebRegularExpression.
h" |
| 20 #include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h" |
| 18 #include "ui/base/l10n/l10n_util.h" | 21 #include "ui/base/l10n/l10n_util.h" |
| 19 | 22 |
| 20 namespace { | 23 namespace { |
| 21 | 24 |
| 22 const char* kCreditCardObfuscationString = "************"; | 25 const char* kCreditCardObfuscationString = "************"; |
| 23 | 26 |
| 24 const AutoFillFieldType kAutoFillCreditCardTypes[] = { | 27 const AutoFillFieldType kAutoFillCreditCardTypes[] = { |
| 25 CREDIT_CARD_NAME, | 28 CREDIT_CARD_NAME, |
| 26 CREDIT_CARD_NUMBER, | 29 CREDIT_CARD_NUMBER, |
| 27 CREDIT_CARD_TYPE, | 30 CREDIT_CARD_TYPE, |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 DLOG(ERROR) << "Attempting to set unknown info-type " | 325 DLOG(ERROR) << "Attempting to set unknown info-type " |
| 323 << type.field_type(); | 326 << type.field_type(); |
| 324 break; | 327 break; |
| 325 } | 328 } |
| 326 } | 329 } |
| 327 | 330 |
| 328 const string16 CreditCard::Label() const { | 331 const string16 CreditCard::Label() const { |
| 329 return label_; | 332 return label_; |
| 330 } | 333 } |
| 331 | 334 |
| 335 void CreditCard::SetInfoForMonthInputType(const string16& value) { |
| 336 // Check if |text| is "yyyy-mm" format first, and check normal month format. |
| 337 WebKit::WebRegularExpression re(WebKit::WebString("^[0-9]{4}\\-[0-9]{1,2}$"), |
| 338 WebKit::WebTextCaseInsensitive); |
| 339 bool match = re.match(WebKit::WebString(StringToLowerASCII(value))) != -1; |
| 340 if (match) { |
| 341 std::vector<string16> year_month; |
| 342 base::SplitString(value, L'-', &year_month); |
| 343 DCHECK_EQ((int)year_month.size(), 2); |
| 344 int num = 0; |
| 345 bool converted = false; |
| 346 converted = base::StringToInt(year_month[0], &num); |
| 347 DCHECK(converted); |
| 348 set_expiration_year(num); |
| 349 converted = base::StringToInt(year_month[1], &num); |
| 350 DCHECK(converted); |
| 351 set_expiration_month(num); |
| 352 } |
| 353 } |
| 354 |
| 332 string16 CreditCard::ObfuscatedNumber() const { | 355 string16 CreditCard::ObfuscatedNumber() const { |
| 333 if (number().empty()) | 356 if (number().empty()) |
| 334 return string16(); // No CC number, means empty preview. | 357 return string16(); // No CC number, means empty preview. |
| 335 string16 result(ASCIIToUTF16(kCreditCardObfuscationString)); | 358 string16 result(ASCIIToUTF16(kCreditCardObfuscationString)); |
| 336 result.append(last_four_digits()); | 359 result.append(last_four_digits()); |
| 337 | 360 |
| 338 return result; | 361 return result; |
| 339 } | 362 } |
| 340 | 363 |
| 341 string16 CreditCard::PreviewSummary() const { | 364 string16 CreditCard::PreviewSummary() const { |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 636 // send these strings to WK, which then asks WebKitClientImpl to load the image | 659 // send these strings to WK, which then asks WebKitClientImpl to load the image |
| 637 // data. | 660 // data. |
| 638 const char* const kAmericanExpressCard = "americanExpressCC"; | 661 const char* const kAmericanExpressCard = "americanExpressCC"; |
| 639 const char* const kDinersCard = "dinersCC"; | 662 const char* const kDinersCard = "dinersCC"; |
| 640 const char* const kDiscoverCard = "discoverCC"; | 663 const char* const kDiscoverCard = "discoverCC"; |
| 641 const char* const kGenericCard = "genericCC"; | 664 const char* const kGenericCard = "genericCC"; |
| 642 const char* const kJCBCard = "jcbCC"; | 665 const char* const kJCBCard = "jcbCC"; |
| 643 const char* const kMasterCard = "masterCardCC"; | 666 const char* const kMasterCard = "masterCardCC"; |
| 644 const char* const kSoloCard = "soloCC"; | 667 const char* const kSoloCard = "soloCC"; |
| 645 const char* const kVisaCard = "visaCC"; | 668 const char* const kVisaCard = "visaCC"; |
| OLD | NEW |