Index: components/autofill/core/browser/webdata/autofill_profile_syncable_service.cc |
diff --git a/components/autofill/core/browser/webdata/autofill_profile_syncable_service.cc b/components/autofill/core/browser/webdata/autofill_profile_syncable_service.cc |
index 00499142a01b4789ee15ba6353ef6375a26362c5..3bef944d52363d660d5b5a63e69f0f3c3d949f44 100644 |
--- a/components/autofill/core/browser/webdata/autofill_profile_syncable_service.cc |
+++ b/components/autofill/core/browser/webdata/autofill_profile_syncable_service.cc |
@@ -325,23 +325,38 @@ bool AutofillProfileSyncableService::OverwriteProfileWithServerData( |
} |
// Update all multivalued fields: names, emails, and phones. |
vabr (Chromium)
2015/07/08 13:20:04
The comment looks obsolete, please update.
Deepak
2015/07/08 14:53:36
Done.
|
- diff = UpdateMultivaluedField(NAME_FIRST, |
- specifics.name_first(), profile) || diff; |
- diff = UpdateMultivaluedField(NAME_MIDDLE, |
- specifics.name_middle(), profile) || diff; |
- diff = UpdateMultivaluedField(NAME_LAST, |
- specifics.name_last(), profile) || diff; |
+ ::google::protobuf::RepeatedPtrField<std::string> values = |
+ specifics.name_first(); |
+ diff = |
+ UpdateField(NAME_FIRST, values.size() < 1 ? std::string() : values.Get(0), |
+ profile) || diff; |
+ values = specifics.name_middle(); |
+ diff = |
+ UpdateField(NAME_MIDDLE, |
+ values.size() < 1 ? std::string() : values.Get(0), |
+ profile) || diff; |
+ values = specifics.name_last(); |
+ diff = |
+ UpdateField(NAME_LAST, values.size() < 1 ? std::string() : values.Get(0), |
+ profile) || diff; |
// Older versions don't have a separate full name; don't overwrite full name |
// in this case. |
if (specifics.name_full().size() > 0) { |
- diff = UpdateMultivaluedField(NAME_FULL, |
- specifics.name_full(), profile) || diff; |
+ values = specifics.name_full(); |
+ diff = UpdateField(NAME_FULL, |
+ values.size() < 1 ? std::string() : values.Get(0), |
+ profile) || diff; |
} |
- diff = UpdateMultivaluedField(EMAIL_ADDRESS, |
- specifics.email_address(), profile) || diff; |
- diff = UpdateMultivaluedField(PHONE_HOME_WHOLE_NUMBER, |
- specifics.phone_home_whole_number(), |
- profile) || diff; |
+ values = specifics.email_address(); |
+ diff = |
+ UpdateField(EMAIL_ADDRESS, |
+ values.size() < 1 ? std::string() : values.Get(0), |
+ profile) || diff; |
+ values = specifics.phone_home_whole_number(); |
+ diff = |
+ UpdateField(PHONE_HOME_WHOLE_NUMBER, |
+ values.size() < 1 ? std::string() : values.Get(0), |
+ profile) || diff; |
// Update all simple single-valued address fields. |
diff = UpdateField(COMPANY_NAME, specifics.company_name(), profile) || diff; |
@@ -456,7 +471,6 @@ void AutofillProfileSyncableService::WriteAutofillProfile( |
// TODO(estade): this should be set_email_address. |
specifics->add_email_address( |
LimitData(UTF16ToUTF8(profile.GetRawInfo(EMAIL_ADDRESS)))); |
- std::vector<base::string16> values; |
specifics->set_company_name( |
LimitData(UTF16ToUTF8(profile.GetRawInfo(COMPANY_NAME)))); |
@@ -624,16 +638,6 @@ bool AutofillProfileSyncableService::UpdateField( |
return true; |
} |
-// TODO(estade): remove this function. |
-bool AutofillProfileSyncableService::UpdateMultivaluedField( |
- ServerFieldType field_type, |
- const ::google::protobuf::RepeatedPtrField<std::string>& new_values, |
- AutofillProfile* autofill_profile) { |
- return UpdateField(field_type, |
- new_values.size() < 1 ? std::string() : new_values.Get(0), |
- autofill_profile); |
-} |
- |
bool AutofillProfileSyncableService::MergeProfile( |
const AutofillProfile& merge_from, |
AutofillProfile* merge_into, |