| Index: components/autofill/core/browser/credit_card.cc
|
| diff --git a/components/autofill/core/browser/credit_card.cc b/components/autofill/core/browser/credit_card.cc
|
| index 448feb91dc659afbe8d0d18c37c99941596c1675..cfae31bbba19da19779ab61966b465f2acbbc126 100644
|
| --- a/components/autofill/core/browser/credit_card.cc
|
| +++ b/components/autofill/core/browser/credit_card.cc
|
| @@ -132,14 +132,16 @@ CreditCard::CreditCard(const std::string& guid, const std::string& origin)
|
| record_type_(LOCAL_CARD),
|
| type_(kGenericCard),
|
| expiration_month_(0),
|
| - expiration_year_(0) {
|
| + expiration_year_(0),
|
| + server_status_(OK) {
|
| }
|
|
|
| CreditCard::CreditCard(const base::string16& card_number,
|
| int expiration_month,
|
| int expiration_year)
|
| : AutofillDataModel(std::string(), std::string()),
|
| - record_type_(LOCAL_CARD) {
|
| + record_type_(LOCAL_CARD),
|
| + server_status_(OK) {
|
| SetNumber(card_number);
|
| SetExpirationMonth(expiration_month);
|
| SetExpirationYear(expiration_year);
|
| @@ -151,7 +153,8 @@ CreditCard::CreditCard(RecordType type, const std::string& server_id)
|
| type_(kGenericCard),
|
| expiration_month_(0),
|
| expiration_year_(0),
|
| - server_id_(server_id) {
|
| + server_id_(server_id),
|
| + server_status_(OK) {
|
| DCHECK(type == MASKED_SERVER_CARD || type == FULL_SERVER_CARD);
|
| }
|
|
|
| @@ -160,7 +163,8 @@ CreditCard::CreditCard()
|
| record_type_(LOCAL_CARD),
|
| type_(kGenericCard),
|
| expiration_month_(0),
|
| - expiration_year_(0) {
|
| + expiration_year_(0),
|
| + server_status_(OK) {
|
| }
|
|
|
| CreditCard::CreditCard(const CreditCard& credit_card)
|
| @@ -307,6 +311,16 @@ void CreditCard::SetTypeForMaskedCard(const char* type) {
|
| type_ = type;
|
| }
|
|
|
| +void CreditCard::SetServerStatus(ServerStatus status) {
|
| + DCHECK_NE(LOCAL_CARD, record_type());
|
| + server_status_ = status;
|
| +}
|
| +
|
| +CreditCard::ServerStatus CreditCard::GetServerStatus() const {
|
| + DCHECK_NE(LOCAL_CARD, record_type());
|
| + return server_status_;
|
| +}
|
| +
|
| base::string16 CreditCard::GetRawInfo(ServerFieldType type) const {
|
| DCHECK_EQ(CREDIT_CARD, AutofillType(type).group());
|
| switch (type) {
|
| @@ -525,6 +539,7 @@ void CreditCard::operator=(const CreditCard& credit_card) {
|
| expiration_month_ = credit_card.expiration_month_;
|
| expiration_year_ = credit_card.expiration_year_;
|
| server_id_ = credit_card.server_id_;
|
| + server_status_ = credit_card.server_status_;
|
|
|
| set_guid(credit_card.guid());
|
| set_origin(credit_card.origin());
|
| @@ -579,6 +594,12 @@ int CreditCard::Compare(const CreditCard& credit_card) const {
|
| if (comparison != 0)
|
| return comparison;
|
|
|
| + if (static_cast<int>(server_status_) <
|
| + static_cast<int>(credit_card.server_status_))
|
| + return -1;
|
| + if (static_cast<int>(server_status_) >
|
| + static_cast<int>(credit_card.server_status_))
|
| + return 1;
|
| if (static_cast<int>(record_type_) <
|
| static_cast<int>(credit_card.record_type_))
|
| return -1;
|
|
|