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 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 return base::string16(); | 125 return base::string16(); |
126 } | 126 } |
127 | 127 |
128 } // namespace | 128 } // namespace |
129 | 129 |
130 CreditCard::CreditCard(const std::string& guid, const std::string& origin) | 130 CreditCard::CreditCard(const std::string& guid, const std::string& origin) |
131 : AutofillDataModel(guid, origin), | 131 : AutofillDataModel(guid, origin), |
132 record_type_(LOCAL_CARD), | 132 record_type_(LOCAL_CARD), |
133 type_(kGenericCard), | 133 type_(kGenericCard), |
134 expiration_month_(0), | 134 expiration_month_(0), |
135 expiration_year_(0) { | 135 expiration_year_(0), |
| 136 server_status_(OK) { |
136 } | 137 } |
137 | 138 |
138 CreditCard::CreditCard(const base::string16& card_number, | 139 CreditCard::CreditCard(const base::string16& card_number, |
139 int expiration_month, | 140 int expiration_month, |
140 int expiration_year) | 141 int expiration_year) |
141 : AutofillDataModel(std::string(), std::string()), | 142 : AutofillDataModel(std::string(), std::string()), |
142 record_type_(LOCAL_CARD) { | 143 record_type_(LOCAL_CARD), |
| 144 server_status_(OK) { |
143 SetNumber(card_number); | 145 SetNumber(card_number); |
144 SetExpirationMonth(expiration_month); | 146 SetExpirationMonth(expiration_month); |
145 SetExpirationYear(expiration_year); | 147 SetExpirationYear(expiration_year); |
146 } | 148 } |
147 | 149 |
148 CreditCard::CreditCard(RecordType type, const std::string& server_id) | 150 CreditCard::CreditCard(RecordType type, const std::string& server_id) |
149 : AutofillDataModel(base::GenerateGUID(), std::string()), | 151 : AutofillDataModel(base::GenerateGUID(), std::string()), |
150 record_type_(type), | 152 record_type_(type), |
151 type_(kGenericCard), | 153 type_(kGenericCard), |
152 expiration_month_(0), | 154 expiration_month_(0), |
153 expiration_year_(0), | 155 expiration_year_(0), |
154 server_id_(server_id) { | 156 server_id_(server_id), |
| 157 server_status_(OK) { |
155 DCHECK(type == MASKED_SERVER_CARD || type == FULL_SERVER_CARD); | 158 DCHECK(type == MASKED_SERVER_CARD || type == FULL_SERVER_CARD); |
156 } | 159 } |
157 | 160 |
158 CreditCard::CreditCard() | 161 CreditCard::CreditCard() |
159 : AutofillDataModel(base::GenerateGUID(), std::string()), | 162 : AutofillDataModel(base::GenerateGUID(), std::string()), |
160 record_type_(LOCAL_CARD), | 163 record_type_(LOCAL_CARD), |
161 type_(kGenericCard), | 164 type_(kGenericCard), |
162 expiration_month_(0), | 165 expiration_month_(0), |
163 expiration_year_(0) { | 166 expiration_year_(0), |
| 167 server_status_(OK) { |
164 } | 168 } |
165 | 169 |
166 CreditCard::CreditCard(const CreditCard& credit_card) | 170 CreditCard::CreditCard(const CreditCard& credit_card) |
167 : AutofillDataModel(std::string(), std::string()) { | 171 : AutofillDataModel(std::string(), std::string()) { |
168 operator=(credit_card); | 172 operator=(credit_card); |
169 } | 173 } |
170 | 174 |
171 CreditCard::~CreditCard() {} | 175 CreditCard::~CreditCard() {} |
172 | 176 |
173 // static | 177 // static |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 return kDiscoverCard; | 304 return kDiscoverCard; |
301 | 305 |
302 return kGenericCard; | 306 return kGenericCard; |
303 } | 307 } |
304 | 308 |
305 void CreditCard::SetTypeForMaskedCard(const char* type) { | 309 void CreditCard::SetTypeForMaskedCard(const char* type) { |
306 DCHECK_EQ(MASKED_SERVER_CARD, record_type()); | 310 DCHECK_EQ(MASKED_SERVER_CARD, record_type()); |
307 type_ = type; | 311 type_ = type; |
308 } | 312 } |
309 | 313 |
| 314 void CreditCard::SetServerStatus(ServerStatus status) { |
| 315 DCHECK_NE(LOCAL_CARD, record_type()); |
| 316 server_status_ = status; |
| 317 } |
| 318 |
| 319 CreditCard::ServerStatus CreditCard::GetServerStatus() const { |
| 320 DCHECK_NE(LOCAL_CARD, record_type()); |
| 321 return server_status_; |
| 322 } |
| 323 |
310 base::string16 CreditCard::GetRawInfo(ServerFieldType type) const { | 324 base::string16 CreditCard::GetRawInfo(ServerFieldType type) const { |
311 DCHECK_EQ(CREDIT_CARD, AutofillType(type).group()); | 325 DCHECK_EQ(CREDIT_CARD, AutofillType(type).group()); |
312 switch (type) { | 326 switch (type) { |
313 case CREDIT_CARD_NAME: | 327 case CREDIT_CARD_NAME: |
314 return name_on_card_; | 328 return name_on_card_; |
315 | 329 |
316 case CREDIT_CARD_EXP_MONTH: | 330 case CREDIT_CARD_EXP_MONTH: |
317 return ExpirationMonthAsString(); | 331 return ExpirationMonthAsString(); |
318 | 332 |
319 case CREDIT_CARD_EXP_2_DIGIT_YEAR: | 333 case CREDIT_CARD_EXP_2_DIGIT_YEAR: |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
518 if (this == &credit_card) | 532 if (this == &credit_card) |
519 return; | 533 return; |
520 | 534 |
521 record_type_ = credit_card.record_type_; | 535 record_type_ = credit_card.record_type_; |
522 number_ = credit_card.number_; | 536 number_ = credit_card.number_; |
523 name_on_card_ = credit_card.name_on_card_; | 537 name_on_card_ = credit_card.name_on_card_; |
524 type_ = credit_card.type_; | 538 type_ = credit_card.type_; |
525 expiration_month_ = credit_card.expiration_month_; | 539 expiration_month_ = credit_card.expiration_month_; |
526 expiration_year_ = credit_card.expiration_year_; | 540 expiration_year_ = credit_card.expiration_year_; |
527 server_id_ = credit_card.server_id_; | 541 server_id_ = credit_card.server_id_; |
| 542 server_status_ = credit_card.server_status_; |
528 | 543 |
529 set_guid(credit_card.guid()); | 544 set_guid(credit_card.guid()); |
530 set_origin(credit_card.origin()); | 545 set_origin(credit_card.origin()); |
531 } | 546 } |
532 | 547 |
533 bool CreditCard::UpdateFromImportedCard(const CreditCard& imported_card, | 548 bool CreditCard::UpdateFromImportedCard(const CreditCard& imported_card, |
534 const std::string& app_locale) { | 549 const std::string& app_locale) { |
535 if (this->GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale) != | 550 if (this->GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale) != |
536 imported_card.GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale)) { | 551 imported_card.GetInfo(AutofillType(CREDIT_CARD_NUMBER), app_locale)) { |
537 return false; | 552 return false; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 int comparison = | 587 int comparison = |
573 GetRawInfo(types[i]).compare(credit_card.GetRawInfo(types[i])); | 588 GetRawInfo(types[i]).compare(credit_card.GetRawInfo(types[i])); |
574 if (comparison != 0) | 589 if (comparison != 0) |
575 return comparison; | 590 return comparison; |
576 } | 591 } |
577 | 592 |
578 int comparison = server_id_.compare(credit_card.server_id_); | 593 int comparison = server_id_.compare(credit_card.server_id_); |
579 if (comparison != 0) | 594 if (comparison != 0) |
580 return comparison; | 595 return comparison; |
581 | 596 |
| 597 if (static_cast<int>(server_status_) < |
| 598 static_cast<int>(credit_card.server_status_)) |
| 599 return -1; |
| 600 if (static_cast<int>(server_status_) > |
| 601 static_cast<int>(credit_card.server_status_)) |
| 602 return 1; |
582 if (static_cast<int>(record_type_) < | 603 if (static_cast<int>(record_type_) < |
583 static_cast<int>(credit_card.record_type_)) | 604 static_cast<int>(credit_card.record_type_)) |
584 return -1; | 605 return -1; |
585 if (static_cast<int>(record_type_) > | 606 if (static_cast<int>(record_type_) > |
586 static_cast<int>(credit_card.record_type_)) | 607 static_cast<int>(credit_card.record_type_)) |
587 return 1; | 608 return 1; |
588 return 0; | 609 return 0; |
589 } | 610 } |
590 | 611 |
591 bool CreditCard::IsLocalDuplicateOfServerCard(const CreditCard& other) const { | 612 bool CreditCard::IsLocalDuplicateOfServerCard(const CreditCard& other) const { |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 const char* const kAmericanExpressCard = "americanExpressCC"; | 772 const char* const kAmericanExpressCard = "americanExpressCC"; |
752 const char* const kDinersCard = "dinersCC"; | 773 const char* const kDinersCard = "dinersCC"; |
753 const char* const kDiscoverCard = "discoverCC"; | 774 const char* const kDiscoverCard = "discoverCC"; |
754 const char* const kGenericCard = "genericCC"; | 775 const char* const kGenericCard = "genericCC"; |
755 const char* const kJCBCard = "jcbCC"; | 776 const char* const kJCBCard = "jcbCC"; |
756 const char* const kMasterCard = "masterCardCC"; | 777 const char* const kMasterCard = "masterCardCC"; |
757 const char* const kUnionPay = "unionPayCC"; | 778 const char* const kUnionPay = "unionPayCC"; |
758 const char* const kVisaCard = "visaCC"; | 779 const char* const kVisaCard = "visaCC"; |
759 | 780 |
760 } // namespace autofill | 781 } // namespace autofill |
OLD | NEW |