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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 SetExpirationMonth(expiration_month); | 95 SetExpirationMonth(expiration_month); |
96 SetExpirationYear(expiration_year); | 96 SetExpirationYear(expiration_year); |
97 } | 97 } |
98 | 98 |
99 CreditCard::CreditCard(RecordType type, const std::string& server_id) | 99 CreditCard::CreditCard(RecordType type, const std::string& server_id) |
100 : AutofillDataModel(base::GenerateGUID(), std::string()), | 100 : AutofillDataModel(base::GenerateGUID(), std::string()), |
101 record_type_(type), | 101 record_type_(type), |
102 type_(kGenericCard), | 102 type_(kGenericCard), |
103 expiration_month_(0), | 103 expiration_month_(0), |
104 expiration_year_(0), | 104 expiration_year_(0), |
105 server_id_(server_id), | |
106 server_status_(OK) { | 105 server_status_(OK) { |
107 DCHECK(type == MASKED_SERVER_CARD || type == FULL_SERVER_CARD); | 106 DCHECK(type == MASKED_SERVER_CARD || type == FULL_SERVER_CARD); |
| 107 DCHECK(!server_id.empty()); |
| 108 set_server_id(server_id); |
108 } | 109 } |
109 | 110 |
110 CreditCard::CreditCard() | 111 CreditCard::CreditCard() |
111 : AutofillDataModel(base::GenerateGUID(), std::string()), | 112 : AutofillDataModel(base::GenerateGUID(), std::string()), |
112 record_type_(LOCAL_CARD), | 113 record_type_(LOCAL_CARD), |
113 type_(kGenericCard), | 114 type_(kGenericCard), |
114 expiration_month_(0), | 115 expiration_month_(0), |
115 expiration_year_(0), | 116 expiration_year_(0), |
116 server_status_(OK) { | 117 server_status_(OK) { |
117 } | 118 } |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
495 if (digits.empty()) | 496 if (digits.empty()) |
496 return type; | 497 return type; |
497 | 498 |
498 // The separator character is a non breaking space and a horizontal midline | 499 // The separator character is a non breaking space and a horizontal midline |
499 // ellipsis. | 500 // ellipsis. |
500 // TODO(estade): i18n? | 501 // TODO(estade): i18n? |
501 return type + base::UTF8ToUTF16("\xC2\xA0\xE2\x8B\xAF") + digits; | 502 return type + base::UTF8ToUTF16("\xC2\xA0\xE2\x8B\xAF") + digits; |
502 } | 503 } |
503 | 504 |
504 void CreditCard::operator=(const CreditCard& credit_card) { | 505 void CreditCard::operator=(const CreditCard& credit_card) { |
| 506 set_server_id(credit_card.server_id()); |
505 set_use_count(credit_card.use_count()); | 507 set_use_count(credit_card.use_count()); |
506 set_use_date(credit_card.use_date()); | 508 set_use_date(credit_card.use_date()); |
507 set_modification_date(credit_card.modification_date()); | 509 set_modification_date(credit_card.modification_date()); |
508 | 510 |
509 if (this == &credit_card) | 511 if (this == &credit_card) |
510 return; | 512 return; |
511 | 513 |
512 record_type_ = credit_card.record_type_; | 514 record_type_ = credit_card.record_type_; |
513 number_ = credit_card.number_; | 515 number_ = credit_card.number_; |
514 name_on_card_ = credit_card.name_on_card_; | 516 name_on_card_ = credit_card.name_on_card_; |
515 type_ = credit_card.type_; | 517 type_ = credit_card.type_; |
516 expiration_month_ = credit_card.expiration_month_; | 518 expiration_month_ = credit_card.expiration_month_; |
517 expiration_year_ = credit_card.expiration_year_; | 519 expiration_year_ = credit_card.expiration_year_; |
518 server_id_ = credit_card.server_id_; | |
519 server_status_ = credit_card.server_status_; | 520 server_status_ = credit_card.server_status_; |
520 | 521 |
521 set_guid(credit_card.guid()); | 522 set_guid(credit_card.guid()); |
522 set_origin(credit_card.origin()); | 523 set_origin(credit_card.origin()); |
523 } | 524 } |
524 | 525 |
525 bool CreditCard::UpdateFromImportedCard(const CreditCard& imported_card, | 526 bool CreditCard::UpdateFromImportedCard(const CreditCard& imported_card, |
526 const std::string& app_locale) { | 527 const std::string& app_locale) { |
527 if (this->GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale) != | 528 if (this->GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale) != |
528 imported_card.GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale)) { | 529 imported_card.GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale)) { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
560 CREDIT_CARD_NUMBER, | 561 CREDIT_CARD_NUMBER, |
561 CREDIT_CARD_EXP_MONTH, | 562 CREDIT_CARD_EXP_MONTH, |
562 CREDIT_CARD_EXP_4_DIGIT_YEAR }; | 563 CREDIT_CARD_EXP_4_DIGIT_YEAR }; |
563 for (size_t i = 0; i < arraysize(types); ++i) { | 564 for (size_t i = 0; i < arraysize(types); ++i) { |
564 int comparison = | 565 int comparison = |
565 GetRawInfo(types[i]).compare(credit_card.GetRawInfo(types[i])); | 566 GetRawInfo(types[i]).compare(credit_card.GetRawInfo(types[i])); |
566 if (comparison != 0) | 567 if (comparison != 0) |
567 return comparison; | 568 return comparison; |
568 } | 569 } |
569 | 570 |
570 int comparison = server_id_.compare(credit_card.server_id_); | 571 int comparison = server_id().compare(credit_card.server_id()); |
571 if (comparison != 0) | 572 if (comparison != 0) |
572 return comparison; | 573 return comparison; |
573 | 574 |
574 if (static_cast<int>(server_status_) < | 575 if (static_cast<int>(server_status_) < |
575 static_cast<int>(credit_card.server_status_)) | 576 static_cast<int>(credit_card.server_status_)) |
576 return -1; | 577 return -1; |
577 if (static_cast<int>(server_status_) > | 578 if (static_cast<int>(server_status_) > |
578 static_cast<int>(credit_card.server_status_)) | 579 static_cast<int>(credit_card.server_status_)) |
579 return 1; | 580 return 1; |
580 if (static_cast<int>(record_type_) < | 581 if (static_cast<int>(record_type_) < |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
783 const char* const kAmericanExpressCard = "americanExpressCC"; | 784 const char* const kAmericanExpressCard = "americanExpressCC"; |
784 const char* const kDinersCard = "dinersCC"; | 785 const char* const kDinersCard = "dinersCC"; |
785 const char* const kDiscoverCard = "discoverCC"; | 786 const char* const kDiscoverCard = "discoverCC"; |
786 const char* const kGenericCard = "genericCC"; | 787 const char* const kGenericCard = "genericCC"; |
787 const char* const kJCBCard = "jcbCC"; | 788 const char* const kJCBCard = "jcbCC"; |
788 const char* const kMasterCard = "masterCardCC"; | 789 const char* const kMasterCard = "masterCardCC"; |
789 const char* const kUnionPay = "unionPayCC"; | 790 const char* const kUnionPay = "unionPayCC"; |
790 const char* const kVisaCard = "visaCC"; | 791 const char* const kVisaCard = "visaCC"; |
791 | 792 |
792 } // namespace autofill | 793 } // namespace autofill |
OLD | NEW |