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

Unified Diff: components/autofill/core/browser/webdata/autofill_table.cc

Issue 2844463004: Rename card 'type' into 'issuer network.' (Closed)
Patch Set: read -> use Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
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 bf8603aafd8b593ea67166186141f3fa4131d13a..d98db894172c3f288b1f49e3335a0a2b1ba8aa20 100644
--- a/components/autofill/core/browser/webdata/autofill_table.cc
+++ b/components/autofill/core/browser/webdata/autofill_table.cc
@@ -45,10 +45,6 @@
#include "ui/base/l10n/l10n_util.h"
#include "url/gurl.h"
-using base::ASCIIToUTF16;
-using base::Time;
-using base::TimeDelta;
-
namespace autofill {
namespace {
@@ -83,7 +79,7 @@ base::string16 GetInfo(const AutofillDataModel& data_model,
}
void BindAutofillProfileToStatement(const AutofillProfile& profile,
- const Time& modification_date,
+ const base::Time& modification_date,
sql::Statement* s) {
DCHECK(base::IsValidGUID(profile.guid()));
int index = 0;
@@ -121,8 +117,8 @@ std::unique_ptr<AutofillProfile> AutofillProfileFromStatement(
profile->SetRawInfo(ADDRESS_HOME_SORTING_CODE, s.ColumnString16(index++));
profile->SetRawInfo(ADDRESS_HOME_COUNTRY, s.ColumnString16(index++));
profile->set_use_count(s.ColumnInt64(index++));
- profile->set_use_date(Time::FromTimeT(s.ColumnInt64(index++)));
- profile->set_modification_date(Time::FromTimeT(s.ColumnInt64(index++)));
+ profile->set_use_date(base::Time::FromTimeT(s.ColumnInt64(index++)));
+ profile->set_modification_date(base::Time::FromTimeT(s.ColumnInt64(index++)));
profile->set_origin(s.ColumnString(index++));
profile->set_language_code(s.ColumnString(index++));
@@ -140,7 +136,7 @@ void BindEncryptedCardToColumn(sql::Statement* s,
}
void BindCreditCardToStatement(const CreditCard& credit_card,
- const Time& modification_date,
+ const base::Time& modification_date,
sql::Statement* s,
const AutofillTableEncryptor& encryptor) {
DCHECK(base::IsValidGUID(credit_card.guid()));
@@ -192,8 +188,9 @@ std::unique_ptr<CreditCard> CreditCardFromStatement(
credit_card->SetRawInfo(CREDIT_CARD_NUMBER,
UnencryptedCardFromColumn(s, index++, encryptor));
credit_card->set_use_count(s.ColumnInt64(index++));
- credit_card->set_use_date(Time::FromTimeT(s.ColumnInt64(index++)));
- credit_card->set_modification_date(Time::FromTimeT(s.ColumnInt64(index++)));
+ credit_card->set_use_date(base::Time::FromTimeT(s.ColumnInt64(index++)));
+ credit_card->set_modification_date(
+ base::Time::FromTimeT(s.ColumnInt64(index++)));
credit_card->set_origin(s.ColumnString(index++));
credit_card->set_billing_address_id(s.ColumnString(index++));
@@ -229,10 +226,7 @@ bool AddAutofillProfileEmailsToProfile(sql::Connection* db,
// TODO(estade): update schema so that multiple emails are not associated per
// unique profile guid. Please refer https://crbug.com/497934.
sql::Statement s(db->GetUniqueStatement(
- "SELECT guid, email "
- "FROM autofill_profile_emails "
- "WHERE guid=?"
- "LIMIT 1"));
+ "SELECT guid, email FROM autofill_profile_emails WHERE guid=? LIMIT 1"));
s.BindString(0, profile->guid());
if (!s.is_valid())
@@ -250,10 +244,7 @@ bool AddAutofillProfilePhonesToProfile(sql::Connection* db,
// TODO(estade): update schema so that multiple phone numbers are not
// associated per unique profile guid. Please refer https://crbug.com/497934.
sql::Statement s(db->GetUniqueStatement(
- "SELECT guid, number "
- "FROM autofill_profile_phones "
- "WHERE guid=?"
- "LIMIT 1"));
+ "SELECT guid, number FROM autofill_profile_phones WHERE guid=? LIMIT 1"));
s.BindString(0, profile->guid());
if (!s.is_valid())
@@ -286,9 +277,7 @@ bool AddAutofillProfileEmails(const AutofillProfile& profile,
sql::Connection* db) {
// Add the new email.
sql::Statement s(db->GetUniqueStatement(
- "INSERT INTO autofill_profile_emails"
- " (guid, email) "
- "VALUES (?,?)"));
+ "INSERT INTO autofill_profile_emails (guid, email) VALUES (?,?)"));
s.BindString(0, profile.guid());
s.BindString16(1, profile.GetRawInfo(EMAIL_ADDRESS));
@@ -299,9 +288,7 @@ bool AddAutofillProfilePhones(const AutofillProfile& profile,
sql::Connection* db) {
// Add the new number.
sql::Statement s(db->GetUniqueStatement(
- "INSERT INTO autofill_profile_phones"
- " (guid, number) "
- "VALUES (?,?)"));
+ "INSERT INTO autofill_profile_phones (guid, number) VALUES (?,?)"));
s.BindString(0, profile.guid());
s.BindString16(1, profile.GetRawInfo(PHONE_HOME_WHOLE_NUMBER));
@@ -351,8 +338,8 @@ WebDatabaseTable::TypeKey GetKey() {
return reinterpret_cast<void*>(&table_key);
}
-time_t GetEndTime(const Time& end) {
- if (end.is_null() || end == Time::Max())
+time_t GetEndTime(const base::Time& end) {
+ if (end.is_null() || end == base::Time::Max())
return std::numeric_limits<time_t>::max();
return end.ToTimeT();
@@ -412,8 +399,7 @@ AutofillTable::AutofillTable()
DCHECK(autofill_table_encryptor_);
}
-AutofillTable::~AutofillTable() {
-}
+AutofillTable::~AutofillTable() {}
AutofillTable* AutofillTable::FromWebDatabase(WebDatabase* db) {
return static_cast<AutofillTable*>(db->GetTable(GetKey()));
@@ -483,6 +469,9 @@ bool AutofillTable::MigrateToVersion(int version,
case 71:
*update_compatible_version = true;
return MigrateToVersion71AddHasConvertedAndBillingAddressIdMetadata();
+ case 72:
+ *update_compatible_version = true;
+ return MigrateToVersion72RenameCardTypeToIssuerNetwork();
}
return true;
}
@@ -508,11 +497,9 @@ bool AutofillTable::GetFormValuesForElementName(
if (prefix.empty()) {
sql::Statement s;
- s.Assign(db_->GetUniqueStatement(
- "SELECT value FROM autofill "
- "WHERE name = ? "
- "ORDER BY count DESC "
- "LIMIT ?"));
+ s.Assign(
+ db_->GetUniqueStatement("SELECT value FROM autofill WHERE name = ? "
+ "ORDER BY count DESC LIMIT ?"));
s.BindString16(0, name);
s.BindInt(1, limit);
@@ -527,13 +514,13 @@ bool AutofillTable::GetFormValuesForElementName(
next_prefix.back()++;
sql::Statement s1;
- s1.Assign(db_->GetUniqueStatement(
- "SELECT value FROM autofill "
- "WHERE name = ? AND "
- "value_lower >= ? AND "
- "value_lower < ? "
- "ORDER BY count DESC "
- "LIMIT ?"));
+ s1.Assign(
+ db_->GetUniqueStatement("SELECT value FROM autofill "
+ "WHERE name = ? AND "
+ "value_lower >= ? AND "
+ "value_lower < ? "
+ "ORDER BY count DESC "
+ "LIMIT ?"));
s1.BindString16(0, name);
s1.BindString16(1, prefix_lower);
s1.BindString16(2, next_prefix);
@@ -561,7 +548,8 @@ bool AutofillTable::GetFormValuesForElementName(
s2.BindString16(0, name);
// escaper as L'!' -> 0x21.
- s2.BindString16(1, Substitute(prefix_lower, ASCIIToUTF16("_%"), 0x21));
+ s2.BindString16(1,
+ Substitute(prefix_lower, base::ASCIIToUTF16("_%"), 0x21));
s2.BindInt(2, limit);
while (s2.Step())
values->push_back(s2.ColumnString16(0));
@@ -574,8 +562,8 @@ bool AutofillTable::GetFormValuesForElementName(
}
bool AutofillTable::RemoveFormElementsAddedBetween(
- const Time& delete_begin,
- const Time& delete_end,
+ const base::Time& delete_begin,
+ const base::Time& delete_end,
std::vector<AutofillChange>* changes) {
const time_t delete_begin_time_t = delete_begin.ToTimeT();
const time_t delete_end_time_t = GetEndTime(delete_end);
@@ -629,14 +617,12 @@ bool AutofillTable::RemoveFormElementsAddedBetween(
AutofillUpdate updated_entry;
updated_entry.name = name;
updated_entry.value = value;
- updated_entry.date_created =
- date_created_time_t < delete_begin_time_t ?
- date_created_time_t :
- delete_end_time_t;
- updated_entry.date_last_used =
- date_last_used_time_t >= delete_end_time_t ?
- date_last_used_time_t :
- delete_begin_time_t - 1;
+ updated_entry.date_created = date_created_time_t < delete_begin_time_t
+ ? date_created_time_t
+ : delete_end_time_t;
+ updated_entry.date_last_used = date_last_used_time_t >= delete_end_time_t
+ ? date_last_used_time_t
+ : delete_begin_time_t - 1;
updated_entry.count =
1 +
Round(1.0 * (count - 1) *
@@ -663,8 +649,8 @@ bool AutofillTable::RemoveFormElementsAddedBetween(
return false;
for (size_t i = 0; i < updates.size(); ++i) {
sql::Statement s_update(db_->GetUniqueStatement(
- "UPDATE autofill SET date_created = ?, date_last_used = ?, count = ?"
- "WHERE name = ? AND value = ?"));
+ "UPDATE autofill SET date_created = ?, date_last_used = ?, count = ?"
+ "WHERE name = ? AND value = ?"));
s_update.BindInt64(0, updates[i].date_created);
s_update.BindInt64(1, updates[i].date_last_used);
s_update.BindInt(2, updates[i].count);
@@ -682,8 +668,8 @@ bool AutofillTable::RemoveFormElementsAddedBetween(
bool AutofillTable::RemoveExpiredFormElements(
std::vector<AutofillChange>* changes) {
- Time expiration_time =
- AutofillClock::Now() - TimeDelta::FromDays(kExpirationPeriodInDays);
+ base::Time expiration_time =
+ AutofillClock::Now() - base::TimeDelta::FromDays(kExpirationPeriodInDays);
// Query for the name and value of all form elements that were last used
// before the |expiration_time|.
@@ -701,8 +687,8 @@ bool AutofillTable::RemoveExpiredFormElements(
if (!select_for_delete.Succeeded())
return false;
- sql::Statement delete_data_statement(db_->GetUniqueStatement(
- "DELETE FROM autofill WHERE date_last_used < ?"));
+ sql::Statement delete_data_statement(
+ db_->GetUniqueStatement("DELETE FROM autofill WHERE date_last_used < ?"));
delete_data_statement.BindInt64(0, expiration_time.ToTimeT());
if (!delete_data_statement.Run())
return false;
@@ -714,7 +700,7 @@ bool AutofillTable::RemoveExpiredFormElements(
bool AutofillTable::AddFormFieldValuesTime(
const std::vector<FormFieldData>& elements,
std::vector<AutofillChange>* changes,
- Time time) {
+ base::Time time) {
// Only add one new entry for each unique element name. Use |seen_names| to
// track this. Add up to |kMaximumUniqueNames| unique entries per form.
const size_t kMaximumUniqueNames = 256;
@@ -731,9 +717,8 @@ bool AutofillTable::AddFormFieldValuesTime(
return result;
}
-int AutofillTable::GetCountOfValuesContainedBetween(
- const Time& begin,
- const Time& end) {
+int AutofillTable::GetCountOfValuesContainedBetween(const base::Time& begin,
+ const base::Time& end) {
const time_t begin_time_t = begin.ToTimeT();
const time_t end_time_t = GetEndTime(end);
@@ -761,8 +746,8 @@ bool AutofillTable::GetAllAutofillEntries(std::vector<AutofillEntry>* entries) {
while (s.Step()) {
base::string16 name = s.ColumnString16(0);
base::string16 value = s.ColumnString16(1);
- Time date_created = Time::FromTimeT(s.ColumnInt64(2));
- Time date_last_used = Time::FromTimeT(s.ColumnInt64(3));
+ base::Time date_created = base::Time::FromTimeT(s.ColumnInt64(2));
+ base::Time date_last_used = base::Time::FromTimeT(s.ColumnInt64(3));
entries->push_back(
AutofillEntry(AutofillKey(name, value), date_created, date_last_used));
}
@@ -772,8 +757,8 @@ bool AutofillTable::GetAllAutofillEntries(std::vector<AutofillEntry>* entries) {
bool AutofillTable::GetAutofillTimestamps(const base::string16& name,
const base::string16& value,
- Time* date_created,
- Time* date_last_used) {
+ base::Time* date_created,
+ base::Time* date_last_used) {
sql::Statement s(db_->GetUniqueStatement(
"SELECT date_created, date_last_used FROM autofill "
"WHERE name = ? AND value = ?"));
@@ -782,8 +767,8 @@ bool AutofillTable::GetAutofillTimestamps(const base::string16& name,
if (!s.Step())
return false;
- *date_created = Time::FromTimeT(s.ColumnInt64(0));
- *date_last_used = Time::FromTimeT(s.ColumnInt64(1));
+ *date_created = base::Time::FromTimeT(s.ColumnInt64(0));
+ *date_last_used = base::Time::FromTimeT(s.ColumnInt64(1));
DCHECK(!s.Step());
return true;
@@ -834,7 +819,7 @@ bool AutofillTable::InsertAutofillEntry(const AutofillEntry& entry) {
bool AutofillTable::AddFormFieldValueTime(const FormFieldData& element,
std::vector<AutofillChange>* changes,
- Time time) {
+ base::Time time) {
sql::Statement s_exists(db_->GetUniqueStatement(
"SELECT COUNT(*) FROM autofill WHERE name = ? AND value = ?"));
s_exists.BindString16(0, element.name);
@@ -875,7 +860,6 @@ bool AutofillTable::AddFormFieldValueTime(const FormFieldData& element,
return true;
}
-
bool AutofillTable::RemoveFormElement(const base::string16& name,
const base::string16& value) {
sql::Statement s(db_->GetUniqueStatement(
@@ -938,9 +922,7 @@ bool AutofillTable::GetAutofillProfiles(
profiles->clear();
sql::Statement s(db_->GetUniqueStatement(
- "SELECT guid "
- "FROM autofill_profiles "
- "ORDER BY date_modified DESC, guid"));
+ "SELECT guid FROM autofill_profiles ORDER BY date_modified DESC, guid"));
while (s.Step()) {
std::string guid = s.ColumnString(0);
@@ -984,10 +966,11 @@ bool AutofillTable::GetServerProfiles(
base::MakeUnique<AutofillProfile>(AutofillProfile::SERVER_PROFILE,
s.ColumnString(index++));
profile->set_use_count(s.ColumnInt64(index++));
- profile->set_use_date(Time::FromInternalValue(s.ColumnInt64(index++)));
+ profile->set_use_date(
+ base::Time::FromInternalValue(s.ColumnInt64(index++)));
// Modification date is not tracked for server profiles. Explicitly set it
// here to override the default value of AutofillClock::Now().
- profile->set_modification_date(Time());
+ profile->set_modification_date(base::Time());
base::string16 recipient_name = s.ColumnString16(index++);
profile->SetRawInfo(COMPANY_NAME, s.ColumnString16(index++));
@@ -1024,25 +1007,25 @@ void AutofillTable::SetServerProfiles(
return;
// Delete all old ones first.
- sql::Statement delete_old(db_->GetUniqueStatement(
- "DELETE FROM server_addresses"));
+ sql::Statement delete_old(
+ db_->GetUniqueStatement("DELETE FROM server_addresses"));
delete_old.Run();
sql::Statement insert(db_->GetUniqueStatement(
"INSERT INTO server_addresses("
- "id,"
- "recipient_name,"
- "company_name,"
- "street_address,"
- "address_1," // ADDRESS_HOME_STATE
- "address_2," // ADDRESS_HOME_CITY
- "address_3," // ADDRESS_HOME_DEPENDENT_LOCALITY
- "address_4," // Not supported in AutofillProfile yet.
- "postal_code," // ADDRESS_HOME_ZIP
- "sorting_code," // ADDRESS_HOME_SORTING_CODE
- "country_code," // ADDRESS_HOME_COUNTRY
- "phone_number," // PHONE_HOME_WHOLE_NUMBER
- "language_code) "
+ "id,"
+ "recipient_name,"
+ "company_name,"
+ "street_address,"
+ "address_1," // ADDRESS_HOME_STATE
+ "address_2," // ADDRESS_HOME_CITY
+ "address_3," // ADDRESS_HOME_DEPENDENT_LOCALITY
+ "address_4," // Not supported in AutofillProfile yet.
+ "postal_code," // ADDRESS_HOME_ZIP
+ "sorting_code," // ADDRESS_HOME_SORTING_CODE
+ "country_code," // ADDRESS_HOME_COUNTRY
+ "phone_number," // PHONE_HOME_WHOLE_NUMBER
+ "language_code) "
"VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)"));
for (const auto& profile : profiles) {
DCHECK(profile.record_type() == AutofillProfile::SERVER_PROFILE);
@@ -1074,7 +1057,7 @@ void AutofillTable::SetServerProfiles(
// Delete metadata that's no longer relevant.
sql::Statement metadata_delete(db_->GetUniqueStatement(
"DELETE FROM server_address_metadata WHERE id NOT IN "
- "(SELECT id FROM server_addresses)"));
+ "(SELECT id FROM server_addresses)"));
metadata_delete.Run();
transaction.Commit();
@@ -1133,8 +1116,8 @@ bool AutofillTable::RemoveAutofillProfile(const std::string& guid) {
return success;
}
- sql::Statement s(db_->GetUniqueStatement(
- "DELETE FROM autofill_profiles WHERE guid = ?"));
+ sql::Statement s(
+ db_->GetUniqueStatement("DELETE FROM autofill_profiles WHERE guid = ?"));
s.BindString(0, guid);
if (!s.Run())
@@ -1144,26 +1127,25 @@ bool AutofillTable::RemoveAutofillProfile(const std::string& guid) {
}
bool AutofillTable::ClearAutofillProfiles() {
- sql::Statement s1(db_->GetUniqueStatement(
- "DELETE FROM autofill_profiles"));
+ sql::Statement s1(db_->GetUniqueStatement("DELETE FROM autofill_profiles"));
if (!s1.Run())
return false;
- sql::Statement s2(db_->GetUniqueStatement(
- "DELETE FROM autofill_profile_names"));
+ sql::Statement s2(
+ db_->GetUniqueStatement("DELETE FROM autofill_profile_names"));
if (!s2.Run())
return false;
- sql::Statement s3(db_->GetUniqueStatement(
- "DELETE FROM autofill_profile_emails"));
+ sql::Statement s3(
+ db_->GetUniqueStatement("DELETE FROM autofill_profile_emails"));
if (!s3.Run())
return false;
- sql::Statement s4(db_->GetUniqueStatement(
- "DELETE FROM autofill_profile_phones"));
+ sql::Statement s4(
+ db_->GetUniqueStatement("DELETE FROM autofill_profile_phones"));
return s4.Run();
}
@@ -1190,8 +1172,8 @@ std::unique_ptr<CreditCard> AutofillTable::GetCreditCard(
DCHECK(base::IsValidGUID(guid));
sql::Statement s(db_->GetUniqueStatement(
"SELECT guid, name_on_card, expiration_month, expiration_year, "
- "card_number_encrypted, use_count, use_date, date_modified, "
- "origin, billing_address_id "
+ "card_number_encrypted, use_count, use_date, date_modified, "
+ "origin, billing_address_id "
"FROM credit_cards "
"WHERE guid = ?"));
s.BindString(0, guid);
@@ -1208,9 +1190,7 @@ bool AutofillTable::GetCreditCards(
credit_cards->clear();
sql::Statement s(db_->GetUniqueStatement(
- "SELECT guid "
- "FROM credit_cards "
- "ORDER BY date_modified DESC, guid"));
+ "SELECT guid FROM credit_cards ORDER BY date_modified DESC, guid"));
while (s.Step()) {
std::string guid = s.ColumnString(0);
@@ -1234,7 +1214,7 @@ bool AutofillTable::GetServerCreditCards(
"masked.id," // 2
"metadata.use_count," // 3
"metadata.use_date," // 4
- "type," // 5
+ "network," // 5
"status," // 6
"name_on_card," // 7
"exp_month," // 8
@@ -1251,29 +1231,29 @@ bool AutofillTable::GetServerCreditCards(
base::string16 full_card_number =
UnencryptedCardFromColumn(s, index++, *autofill_table_encryptor_);
base::string16 last_four = s.ColumnString16(index++);
- CreditCard::RecordType record_type = full_card_number.empty() ?
- CreditCard::MASKED_SERVER_CARD :
- CreditCard::FULL_SERVER_CARD;
+ CreditCard::RecordType record_type = full_card_number.empty()
+ ? CreditCard::MASKED_SERVER_CARD
+ : CreditCard::FULL_SERVER_CARD;
std::string server_id = s.ColumnString(index++);
std::unique_ptr<CreditCard> card =
base::MakeUnique<CreditCard>(record_type, server_id);
- card->SetRawInfo(
- CREDIT_CARD_NUMBER,
- record_type == CreditCard::MASKED_SERVER_CARD ? last_four
- : full_card_number);
+ card->SetRawInfo(CREDIT_CARD_NUMBER,
+ record_type == CreditCard::MASKED_SERVER_CARD
+ ? last_four
+ : full_card_number);
card->set_use_count(s.ColumnInt64(index++));
- card->set_use_date(Time::FromInternalValue(s.ColumnInt64(index++)));
+ card->set_use_date(base::Time::FromInternalValue(s.ColumnInt64(index++)));
// Modification date is not tracked for server cards. Explicitly set it here
// to override the default value of AutofillClock::Now().
- card->set_modification_date(Time());
+ card->set_modification_date(base::Time());
- std::string card_type = s.ColumnString(index++);
+ std::string card_network = s.ColumnString(index++);
if (record_type == CreditCard::MASKED_SERVER_CARD) {
- // The type must be set after setting the number to override the
- // autodetected type.
- card->SetTypeForMaskedCard(card_type.c_str());
+ // The issuer network must be set after setting the number to override the
+ // autodetected issuer network.
+ card->SetNetworkForMaskedCard(card_network.c_str());
} else {
- DCHECK_EQ(CreditCard::GetCreditCardType(full_card_number), card_type);
+ DCHECK_EQ(CreditCard::GetCardNetwork(full_card_number), card_network);
}
card->SetServerStatus(ServerStatusStringToEnum(s.ColumnString(index++)));
@@ -1292,7 +1272,7 @@ void AutofillTable::AddMaskedCreditCards(
sql::Statement masked_insert(
db_->GetUniqueStatement("INSERT INTO masked_credit_cards("
"id," // 0
- "type," // 1
+ "network," // 1
"status," // 2
"name_on_card," // 3
"last_four," // 4
@@ -1302,7 +1282,7 @@ void AutofillTable::AddMaskedCreditCards(
for (const CreditCard& card : credit_cards) {
DCHECK_EQ(CreditCard::MASKED_SERVER_CARD, card.record_type());
masked_insert.BindString(0, card.server_id());
- masked_insert.BindString(1, card.type());
+ masked_insert.BindString(1, card.network());
masked_insert.BindString(2,
ServerStatusEnumToString(card.GetServerStatus()));
masked_insert.BindString16(3, card.GetRawInfo(CREDIT_CARD_NAME_FULL));
@@ -1335,12 +1315,12 @@ void AutofillTable::SetServerCreditCards(
// Delete all items in the unmasked table that aren't in the new set.
sql::Statement unmasked_delete(db_->GetUniqueStatement(
"DELETE FROM unmasked_credit_cards WHERE id NOT IN "
- "(SELECT id FROM masked_credit_cards)"));
+ "(SELECT id FROM masked_credit_cards)"));
unmasked_delete.Run();
// Do the same for metadata.
sql::Statement metadata_delete(db_->GetUniqueStatement(
"DELETE FROM server_card_metadata WHERE id NOT IN "
- "(SELECT id FROM masked_credit_cards)"));
+ "(SELECT id FROM masked_credit_cards)"));
metadata_delete.Run();
transaction.Commit();
@@ -1363,7 +1343,7 @@ bool AutofillTable::AddFullServerCreditCard(const CreditCard& credit_card) {
masked.set_record_type(CreditCard::MASKED_SERVER_CARD);
masked.SetNumber(credit_card.LastFourDigits());
masked.RecordAndLogUse();
- DCHECK(!masked.type().empty());
+ DCHECK(!masked.network().empty());
AddMaskedCreditCards({masked});
AddUnmaskedCreditCard(credit_card.server_id(), credit_card.number());
@@ -1437,8 +1417,8 @@ bool AutofillTable::MaskServerCreditCard(const std::string& id) {
bool AutofillTable::UpdateServerCardMetadata(const CreditCard& credit_card) {
DCHECK_NE(CreditCard::LOCAL_CARD, credit_card.record_type());
- sql::Statement remove(db_->GetUniqueStatement(
- "DELETE FROM server_card_metadata WHERE id = ?"));
+ sql::Statement remove(
+ db_->GetUniqueStatement("DELETE FROM server_card_metadata WHERE id = ?"));
remove.BindString(0, credit_card.server_id());
remove.Run();
@@ -1490,28 +1470,28 @@ bool AutofillTable::ClearAllServerData() {
if (!transaction.Begin())
return false; // Some error, nothing was changed.
- sql::Statement masked(db_->GetUniqueStatement(
- "DELETE FROM masked_credit_cards"));
+ sql::Statement masked(
+ db_->GetUniqueStatement("DELETE FROM masked_credit_cards"));
masked.Run();
bool changed = db_->GetLastChangeCount() > 0;
- sql::Statement unmasked(db_->GetUniqueStatement(
- "DELETE FROM unmasked_credit_cards"));
+ sql::Statement unmasked(
+ db_->GetUniqueStatement("DELETE FROM unmasked_credit_cards"));
unmasked.Run();
changed |= db_->GetLastChangeCount() > 0;
- sql::Statement addresses(db_->GetUniqueStatement(
- "DELETE FROM server_addresses"));
+ sql::Statement addresses(
+ db_->GetUniqueStatement("DELETE FROM server_addresses"));
addresses.Run();
changed |= db_->GetLastChangeCount() > 0;
- sql::Statement card_metadata(db_->GetUniqueStatement(
- "DELETE FROM server_card_metadata"));
+ sql::Statement card_metadata(
+ db_->GetUniqueStatement("DELETE FROM server_card_metadata"));
card_metadata.Run();
changed |= db_->GetLastChangeCount() > 0;
- sql::Statement address_metadata(db_->GetUniqueStatement(
- "DELETE FROM server_address_metadata"));
+ sql::Statement address_metadata(
+ db_->GetUniqueStatement("DELETE FROM server_address_metadata"));
address_metadata.Run();
changed |= db_->GetLastChangeCount() > 0;
@@ -1532,8 +1512,8 @@ bool AutofillTable::UpdateCreditCard(const CreditCard& credit_card) {
sql::Statement s(db_->GetUniqueStatement(
"UPDATE credit_cards "
"SET guid=?, name_on_card=?, expiration_month=?,"
- "expiration_year=?, card_number_encrypted=?, use_count=?, use_date=?,"
- "date_modified=?, origin=?, billing_address_id=?"
+ "expiration_year=?, card_number_encrypted=?, use_count=?, use_date=?,"
+ "date_modified=?, origin=?, billing_address_id=?"
"WHERE guid=?1"));
BindCreditCardToStatement(credit_card,
update_modification_date
@@ -1548,16 +1528,16 @@ bool AutofillTable::UpdateCreditCard(const CreditCard& credit_card) {
bool AutofillTable::RemoveCreditCard(const std::string& guid) {
DCHECK(base::IsValidGUID(guid));
- sql::Statement s(db_->GetUniqueStatement(
- "DELETE FROM credit_cards WHERE guid = ?"));
+ sql::Statement s(
+ db_->GetUniqueStatement("DELETE FROM credit_cards WHERE guid = ?"));
s.BindString(0, guid);
return s.Run();
}
bool AutofillTable::RemoveAutofillDataModifiedBetween(
- const Time& delete_begin,
- const Time& delete_end,
+ const base::Time& delete_begin,
+ const base::Time& delete_end,
std::vector<std::string>* profile_guids,
std::vector<std::string>* credit_card_guids) {
DCHECK(delete_end.is_null() || delete_begin < delete_end);
@@ -1615,17 +1595,17 @@ bool AutofillTable::RemoveAutofillDataModifiedBetween(
return false;
// Remove unmasked credit cards in the time range.
- sql::Statement s_unmasked_cards(db_->GetUniqueStatement(
- "DELETE FROM unmasked_credit_cards "
- "WHERE unmask_date >= ? AND unmask_date < ?"));
+ sql::Statement s_unmasked_cards(
+ db_->GetUniqueStatement("DELETE FROM unmasked_credit_cards "
+ "WHERE unmask_date >= ? AND unmask_date < ?"));
s_unmasked_cards.BindInt64(0, delete_begin.ToInternalValue());
s_unmasked_cards.BindInt64(1, delete_end.ToInternalValue());
return s_unmasked_cards.Run();
}
bool AutofillTable::RemoveOriginURLsModifiedBetween(
- const Time& delete_begin,
- const Time& delete_end,
+ const base::Time& delete_begin,
+ const base::Time& delete_end,
std::vector<std::unique_ptr<AutofillProfile>>* profiles) {
DCHECK(delete_end.is_null() || delete_begin < delete_end);
@@ -1697,9 +1677,8 @@ bool AutofillTable::GetAutofillProfilesInTrash(
std::vector<std::string>* guids) {
guids->clear();
- sql::Statement s(db_->GetUniqueStatement(
- "SELECT guid "
- "FROM autofill_profiles_trash"));
+ sql::Statement s(
+ db_->GetUniqueStatement("SELECT guid FROM autofill_profiles_trash"));
while (s.Step()) {
std::string guid = s.ColumnString(0);
@@ -1710,36 +1689,30 @@ bool AutofillTable::GetAutofillProfilesInTrash(
}
bool AutofillTable::EmptyAutofillProfilesTrash() {
- sql::Statement s(db_->GetUniqueStatement(
- "DELETE FROM autofill_profiles_trash"));
+ sql::Statement s(
+ db_->GetUniqueStatement("DELETE FROM autofill_profiles_trash"));
return s.Run();
}
-
bool AutofillTable::AddAutofillGUIDToTrash(const std::string& guid) {
sql::Statement s(db_->GetUniqueStatement(
- "INSERT INTO autofill_profiles_trash"
- " (guid) "
- "VALUES (?)"));
+ "INSERT INTO autofill_profiles_trash (guid) VALUES (?)"));
s.BindString(0, guid);
return s.Run();
}
bool AutofillTable::IsAutofillProfilesTrashEmpty() {
- sql::Statement s(db_->GetUniqueStatement(
- "SELECT guid "
- "FROM autofill_profiles_trash"));
+ sql::Statement s(
+ db_->GetUniqueStatement("SELECT guid FROM autofill_profiles_trash"));
return !s.Step();
}
bool AutofillTable::IsAutofillGUIDInTrash(const std::string& guid) {
sql::Statement s(db_->GetUniqueStatement(
- "SELECT guid "
- "FROM autofill_profiles_trash "
- "WHERE guid = ?"));
+ "SELECT guid FROM autofill_profiles_trash WHERE guid = ?"));
s.BindString(0, guid);
return s.Step();
@@ -1872,8 +1845,8 @@ bool AutofillTable::InitMainTable() {
!db_->Execute("CREATE INDEX autofill_name ON autofill (name)") ||
!db_->Execute("CREATE INDEX autofill_name_value_lower ON "
"autofill (name, value_lower)")) {
- NOTREACHED();
- return false;
+ NOTREACHED();
+ return false;
}
}
return true;
@@ -1980,7 +1953,7 @@ bool AutofillTable::InitMaskedCreditCardsTable() {
"id VARCHAR,"
"status VARCHAR,"
"name_on_card VARCHAR,"
- "type VARCHAR,"
+ "network VARCHAR,"
"last_four VARCHAR,"
"exp_month INTEGER DEFAULT 0,"
"exp_year INTEGER DEFAULT 0)")) {
@@ -2035,7 +2008,7 @@ bool AutofillTable::InitServerAddressesTable() {
"postal_code VARCHAR,"
"sorting_code VARCHAR,"
"country_code VARCHAR,"
- "language_code VARCHAR, " // Space required.
+ "language_code VARCHAR, " // Space required.
"recipient_name VARCHAR, " // Ditto.
"phone_number VARCHAR)")) {
NOTREACHED();
@@ -2243,18 +2216,17 @@ bool AutofillTable::MigrateToVersion55MergeAutofillDatesTable() {
return false;
}
-
return transaction.Commit();
}
bool AutofillTable::MigrateToVersion56AddProfileLanguageCodeForFormatting() {
- return db_->Execute("ALTER TABLE autofill_profiles "
- "ADD COLUMN language_code VARCHAR");
+ return db_->Execute(
+ "ALTER TABLE autofill_profiles ADD COLUMN language_code VARCHAR");
}
bool AutofillTable::MigrateToVersion57AddFullNameField() {
- return db_->Execute("ALTER TABLE autofill_profile_names "
- "ADD COLUMN full_name VARCHAR");
+ return db_->Execute(
+ "ALTER TABLE autofill_profile_names ADD COLUMN full_name VARCHAR");
}
bool AutofillTable::MigrateToVersion60AddServerCards() {
@@ -2418,25 +2390,25 @@ bool AutofillTable::MigrateToVersion65AddServerMetadataTables() {
// Get existing server addresses and generate IDs for them.
sql::Statement s(db_->GetUniqueStatement(
"SELECT "
- "id,"
- "recipient_name,"
- "company_name,"
- "street_address,"
- "address_1," // ADDRESS_HOME_STATE
- "address_2," // ADDRESS_HOME_CITY
- "address_3," // ADDRESS_HOME_DEPENDENT_LOCALITY
- "address_4," // Not supported in AutofillProfile yet.
- "postal_code," // ADDRESS_HOME_ZIP
- "sorting_code," // ADDRESS_HOME_SORTING_CODE
- "country_code," // ADDRESS_HOME_COUNTRY
- "phone_number," // PHONE_HOME_WHOLE_NUMBER
- "language_code "
+ "id,"
+ "recipient_name,"
+ "company_name,"
+ "street_address,"
+ "address_1," // ADDRESS_HOME_STATE
+ "address_2," // ADDRESS_HOME_CITY
+ "address_3," // ADDRESS_HOME_DEPENDENT_LOCALITY
+ "address_4," // Not supported in AutofillProfile yet.
+ "postal_code," // ADDRESS_HOME_ZIP
+ "sorting_code," // ADDRESS_HOME_SORTING_CODE
+ "country_code," // ADDRESS_HOME_COUNTRY
+ "phone_number," // PHONE_HOME_WHOLE_NUMBER
+ "language_code "
"FROM server_addresses addresses"));
std::vector<AutofillProfile> profiles;
while (s.Step()) {
int index = 0;
- AutofillProfile profile(
- AutofillProfile::SERVER_PROFILE, s.ColumnString(index++));
+ AutofillProfile profile(AutofillProfile::SERVER_PROFILE,
+ s.ColumnString(index++));
base::string16 recipient_name = s.ColumnString16(index++);
profile.SetRawInfo(COMPANY_NAME, s.ColumnString16(index++));
@@ -2460,25 +2432,25 @@ bool AutofillTable::MigrateToVersion65AddServerMetadataTables() {
}
// Reinsert with the generated IDs.
- sql::Statement delete_old(db_->GetUniqueStatement(
- "DELETE FROM server_addresses"));
+ sql::Statement delete_old(
+ db_->GetUniqueStatement("DELETE FROM server_addresses"));
delete_old.Run();
sql::Statement insert(db_->GetUniqueStatement(
"INSERT INTO server_addresses("
- "id,"
- "recipient_name,"
- "company_name,"
- "street_address,"
- "address_1," // ADDRESS_HOME_STATE
- "address_2," // ADDRESS_HOME_CITY
- "address_3," // ADDRESS_HOME_DEPENDENT_LOCALITY
- "address_4," // Not supported in AutofillProfile yet.
- "postal_code," // ADDRESS_HOME_ZIP
- "sorting_code," // ADDRESS_HOME_SORTING_CODE
- "country_code," // ADDRESS_HOME_COUNTRY
- "phone_number," // PHONE_HOME_WHOLE_NUMBER
- "language_code) "
+ "id,"
+ "recipient_name,"
+ "company_name,"
+ "street_address,"
+ "address_1," // ADDRESS_HOME_STATE
+ "address_2," // ADDRESS_HOME_CITY
+ "address_3," // ADDRESS_HOME_DEPENDENT_LOCALITY
+ "address_4," // Not supported in AutofillProfile yet.
+ "postal_code," // ADDRESS_HOME_ZIP
+ "sorting_code," // ADDRESS_HOME_SORTING_CODE
+ "country_code," // ADDRESS_HOME_COUNTRY
+ "phone_number," // PHONE_HOME_WHOLE_NUMBER
+ "language_code) "
"VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)"));
for (const AutofillProfile& profile : profiles) {
int index = 0;
@@ -2559,11 +2531,15 @@ bool AutofillTable::
return false;
}
+ if (db_->DoesTableExist("masked_credit_cards_temp") &&
+ !db_->Execute("DROP TABLE masked_credit_cards_temp")) {
+ return false;
+ }
+
// Remove the billing_address_id column from the masked_credit_cards table.
// Create a temporary table that is a copy of masked_credit_cards but without
// the billing_address_id column.
- if (db_->DoesTableExist("masked_credit_cards_temp") ||
- !db_->Execute("CREATE TABLE masked_credit_cards_temp ("
+ if (!db_->Execute("CREATE TABLE masked_credit_cards_temp ("
"id VARCHAR,"
"status VARCHAR,"
"name_on_card VARCHAR,"
@@ -2591,4 +2567,36 @@ bool AutofillTable::
return transaction.Commit();
}
+bool AutofillTable::MigrateToVersion72RenameCardTypeToIssuerNetwork() {
+ sql::Transaction transaction(db_);
+ if (!transaction.Begin())
+ return false;
+
+ if (db_->DoesTableExist("masked_credit_cards_temp") &&
+ !db_->Execute("DROP TABLE masked_credit_cards_temp")) {
+ return false;
+ }
+
+ return db_->Execute(
+ "CREATE TABLE masked_credit_cards_temp ("
+ "id VARCHAR,"
+ "status VARCHAR,"
+ "name_on_card VARCHAR,"
+ "network VARCHAR,"
+ "last_four VARCHAR,"
+ "exp_month INTEGER DEFAULT 0,"
+ "exp_year INTEGER DEFAULT 0)") &&
+ db_->Execute(
+ "INSERT INTO masked_credit_cards_temp ("
+ "id, status, name_on_card, network, last_four, exp_month, exp_year"
+ ") SELECT "
+ "id, status, name_on_card, type, last_four, exp_month, exp_year"
+ " FROM masked_credit_cards") &&
+ db_->Execute("DROP TABLE masked_credit_cards") &&
+ db_->Execute(
+ "ALTER TABLE masked_credit_cards_temp "
+ "RENAME TO masked_credit_cards") &&
+ transaction.Commit();
+}
+
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698