| Index: components/autofill/core/browser/webdata/autofill_table.cc
|
| diff --git a/components/autofill/core/browser/webdata/autofill_table.cc b/components/autofill/core/browser/webdata/autofill_table.cc
|
| index 197d80027b834449662224c8039050620979e6d7..4f4c8157a3c842b649b62d5bb3756704175a6110 100644
|
| --- a/components/autofill/core/browser/webdata/autofill_table.cc
|
| +++ b/components/autofill/core/browser/webdata/autofill_table.cc
|
| @@ -445,6 +445,27 @@ time_t GetEndTime(const base::Time& end) {
|
| return end.ToTimeT();
|
| }
|
|
|
| +std::string ServerStatusEnumToString(CreditCard::ServerStatus status) {
|
| + switch (status) {
|
| + case CreditCard::EXPIRED:
|
| + return "EXPIRED";
|
| +
|
| + case CreditCard::OK:
|
| + return "OK";
|
| + }
|
| +
|
| + NOTREACHED();
|
| + return "OK";
|
| +}
|
| +
|
| +CreditCard::ServerStatus ServerStatusStringToEnum(const std::string& status) {
|
| + if (status == "EXPIRED")
|
| + return CreditCard::EXPIRED;
|
| +
|
| + DCHECK_EQ("OK", status);
|
| + return CreditCard::OK;
|
| +}
|
| +
|
| } // namespace
|
|
|
| // The maximum length allowed for form data.
|
| @@ -1229,7 +1250,7 @@ bool AutofillTable::GetServerCreditCards(
|
| DCHECK_EQ(CreditCard::GetCreditCardType(full_card_number), card_type);
|
| }
|
|
|
| - index++; // TODO(brettw) hook up status. For now, skip over it.
|
| + card->SetServerStatus(ServerStatusStringToEnum(s.ColumnString(index++)));
|
| card->SetRawInfo(CREDIT_CARD_NAME, s.ColumnString16(index++));
|
| card->SetRawInfo(CREDIT_CARD_EXP_MONTH, s.ColumnString16(index++));
|
| card->SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, s.ColumnString16(index++));
|
| @@ -1267,6 +1288,19 @@ bool AutofillTable::GetServerCreditCards(
|
| ASCIIToUTF16("9424"));
|
| fake_masked_cards.back().SetTypeForMaskedCard(kDiscoverCard);
|
|
|
| + fake_masked_cards.push_back(
|
| + CreditCard(CreditCard::MASKED_SERVER_CARD, "c789"));
|
| + fake_masked_cards.back().SetRawInfo(CREDIT_CARD_NAME,
|
| + ASCIIToUTF16("Efren Salazar, Sr"));
|
| + fake_masked_cards.back().SetRawInfo(CREDIT_CARD_EXP_MONTH,
|
| + ASCIIToUTF16("12"));
|
| + fake_masked_cards.back().SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR,
|
| + ASCIIToUTF16("2014"));
|
| + fake_masked_cards.back().SetRawInfo(CREDIT_CARD_NUMBER,
|
| + ASCIIToUTF16("1881"));
|
| + fake_masked_cards.back().SetTypeForMaskedCard(kVisaCard);
|
| + fake_masked_cards.back().SetServerStatus(CreditCard::EXPIRED);
|
| +
|
| SetServerCreditCards(fake_masked_cards);
|
| return GetServerCreditCards(credit_cards);
|
| }
|
| @@ -1326,7 +1360,8 @@ void AutofillTable::SetServerCreditCards(
|
|
|
| masked_insert.BindString(0, card.server_id());
|
| masked_insert.BindString(1, card.type());
|
| - masked_insert.BindNull(2); // Skip status which doesn't have storage yet.
|
| + masked_insert.BindString(2,
|
| + ServerStatusEnumToString(card.GetServerStatus()));
|
| masked_insert.BindString16(3, card.GetRawInfo(CREDIT_CARD_NAME));
|
| masked_insert.BindString16(4, card.LastFourDigits());
|
| masked_insert.BindString16(5, card.GetRawInfo(CREDIT_CARD_EXP_MONTH));
|
|
|