Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Side by Side Diff: components/autofill/core/browser/credit_card.cc

Issue 870203002: Add status to server credit cards. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add TODO Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « components/autofill/core/browser/credit_card.h ('k') | components/autofill/core/browser/credit_card_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698