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

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

Issue 949563003: Add recipient name to server autofill profile database (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 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 279015e4a4ec6c42ece290508f454c09b9edd2f7..c999d5eb0c484de2e8ad78557db3e03d9e8db5c8 100644
--- a/components/autofill/core/browser/webdata/autofill_table.cc
+++ b/components/autofill/core/browser/webdata/autofill_table.cc
@@ -571,6 +571,9 @@ bool AutofillTable::MigrateToVersion(int version,
case 61:
*update_compatible_version = false;
return MigrateToVersion61AddUsageStats();
+ case 62:
+ *update_compatible_version = false;
+ return MigrateToVersion62AddServerRecipientName();
}
return true;
}
@@ -1001,6 +1004,7 @@ bool AutofillTable::GetAutofillServerProfiles(
sql::Statement s(db_->GetUniqueStatement(
"SELECT "
"id,"
+ "recipient_name,"
"company_name,"
"street_address,"
"address_1," // ADDRESS_HOME_STATE
@@ -1018,6 +1022,7 @@ bool AutofillTable::GetAutofillServerProfiles(
scoped_ptr<AutofillProfile> profile(new AutofillProfile(
AutofillProfile::SERVER_PROFILE, s.ColumnString(index++)));
+ profile->SetRawInfo(NAME_FULL, s.ColumnString16(index++));
profile->SetRawInfo(COMPANY_NAME, s.ColumnString16(index++));
profile->SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, s.ColumnString16(index++));
profile->SetRawInfo(ADDRESS_HOME_STATE, s.ColumnString16(index++));
@@ -1046,6 +1051,7 @@ void AutofillTable::SetAutofillServerProfiles(
sql::Statement insert(db_->GetUniqueStatement(
"INSERT INTO server_addresses("
"id,"
+ "recipient_name,"
"company_name,"
"street_address,"
"address_1," // ADDRESS_HOME_STATE
@@ -1056,12 +1062,13 @@ void AutofillTable::SetAutofillServerProfiles(
"sorting_code," // ADDRESS_HOME_SORTING_CODE
"country_code," // ADDRESS_HOME_COUNTRY
"language_code) "
- "VALUES (?,?,?,?,?,?,?,?,?,?,?)"));
+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?)"));
for (const auto& profile : profiles) {
DCHECK(profile.record_type() == AutofillProfile::SERVER_PROFILE);
int index = 0;
insert.BindString(index++, profile.server_id());
+ insert.BindString16(index++, profile.GetRawInfo(NAME_FULL));
insert.BindString16(index++, profile.GetRawInfo(COMPANY_NAME));
insert.BindString16(index++,
profile.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS));
@@ -1743,6 +1750,12 @@ bool AutofillTable::InitUnmaskedCreditCardsTable() {
bool AutofillTable::InitServerAddressesTable() {
if (!db_->DoesTableExist("server_addresses")) {
+ // The space after language_code is necessary to make the schemas match
Evan Stade 2015/02/25 23:02:00 I don't think this comment is super necessary. Oth
brettw 2015/02/26 18:54:28 I kept it but pared it down a lot. When I was work
Evan Stade 2015/02/26 19:23:27 right, but it seems unlikely people will see this
+ // when creating a new table (where sqlite just saves our literal string
+ // provided here), and when we do the alter table to append the column
+ // in version 62 (where sqlite appends it to the string itself and adds
+ // the space). This makes the upgrade tests pass which just does a dumb
+ // string compare on the schemas.
if (!db_->Execute("CREATE TABLE server_addresses ("
"id VARCHAR,"
"company_name VARCHAR,"
@@ -1754,7 +1767,8 @@ bool AutofillTable::InitServerAddressesTable() {
"postal_code VARCHAR,"
"sorting_code VARCHAR,"
"country_code VARCHAR,"
- "language_code VARCHAR)")) {
+ "language_code VARCHAR, " // See comment above.
+ "recipient_name VARCHAR)")) {
NOTREACHED();
return false;
}
@@ -2751,4 +2765,13 @@ bool AutofillTable::MigrateToVersion61AddUsageStats() {
return transaction.Commit();
}
+bool AutofillTable::MigrateToVersion62AddServerRecipientName() {
+ if (!db_->DoesColumnExist("server_addresses", "recipient_name") &&
+ !db_->Execute("ALTER TABLE server_addresses ADD COLUMN "
+ "recipient_name VARCHAR")) {
+ return false;
+ }
+ return true;
+}
+
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698