| Index: chrome/browser/webdata/autofill_profile_syncable_service.cc
|
| diff --git a/chrome/browser/webdata/autofill_profile_syncable_service.cc b/chrome/browser/webdata/autofill_profile_syncable_service.cc
|
| index 9815f36e22c325ff8bc620700188c0c467c42605..e9ea5c76527b909d253eee5e9071c3c8bc33c1cf 100644
|
| --- a/chrome/browser/webdata/autofill_profile_syncable_service.cc
|
| +++ b/chrome/browser/webdata/autofill_profile_syncable_service.cc
|
| @@ -344,16 +344,17 @@ bool AutofillProfileSyncableService::OverwriteProfileWithServerData(
|
|
|
| // Update all simple single-valued address fields.
|
| diff = UpdateField(COMPANY_NAME, specifics.company_name(), profile) || diff;
|
| - diff = UpdateField(ADDRESS_HOME_LINE1,
|
| - specifics.address_home_line1(), profile) || diff;
|
| - diff = UpdateField(ADDRESS_HOME_LINE2,
|
| - specifics.address_home_line2(), profile) || diff;
|
| diff = UpdateField(ADDRESS_HOME_CITY,
|
| specifics.address_home_city(), profile) || diff;
|
| diff = UpdateField(ADDRESS_HOME_STATE,
|
| specifics.address_home_state(), profile) || diff;
|
| diff = UpdateField(ADDRESS_HOME_ZIP,
|
| specifics.address_home_zip(), profile) || diff;
|
| + diff = UpdateField(ADDRESS_HOME_SORTING_CODE,
|
| + specifics.address_home_sorting_code(), profile) || diff;
|
| + diff = UpdateField(ADDRESS_HOME_DEPENDENT_LOCALITY,
|
| + specifics.address_home_dependent_locality(),
|
| + profile) || diff;
|
|
|
| // Update the country field, which can contain either a country code (if set
|
| // by a newer version of Chrome), or a country name (if set by an older
|
| @@ -364,6 +365,19 @@ bool AutofillProfileSyncableService::OverwriteProfileWithServerData(
|
| AutofillCountry::GetCountryCode(country_name_or_code, app_locale);
|
| diff = UpdateField(ADDRESS_HOME_COUNTRY, country_code, profile) || diff;
|
|
|
| + // Update the street address. In newer versions of Chrome (M34+), this data
|
| + // is stored in the |address_home_street_address| field. In older versions,
|
| + // this data is stored separated out by address line.
|
| + if (specifics.has_address_home_street_address()) {
|
| + diff = UpdateField(ADDRESS_HOME_STREET_ADDRESS,
|
| + specifics.address_home_street_address(),
|
| + profile) || diff;
|
| + } else {
|
| + diff = UpdateField(ADDRESS_HOME_LINE1,
|
| + specifics.address_home_line1(), profile) || diff;
|
| + diff = UpdateField(ADDRESS_HOME_LINE2,
|
| + specifics.address_home_line2(), profile) || diff;
|
| + }
|
| return diff;
|
| }
|
|
|
| @@ -414,6 +428,13 @@ void AutofillProfileSyncableService::WriteAutofillProfile(
|
| LimitData(UTF16ToUTF8(profile.GetRawInfo(ADDRESS_HOME_ZIP))));
|
| specifics->set_address_home_country(
|
| LimitData(UTF16ToUTF8(profile.GetRawInfo(ADDRESS_HOME_COUNTRY))));
|
| + specifics->set_address_home_street_address(
|
| + LimitData(UTF16ToUTF8(profile.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS))));
|
| + specifics->set_address_home_sorting_code(
|
| + LimitData(UTF16ToUTF8(profile.GetRawInfo(ADDRESS_HOME_SORTING_CODE))));
|
| + specifics->set_address_home_dependent_locality(
|
| + LimitData(
|
| + UTF16ToUTF8(profile.GetRawInfo(ADDRESS_HOME_DEPENDENT_LOCALITY))));
|
|
|
| profile.GetRawMultiInfo(EMAIL_ADDRESS, &values);
|
| for (size_t i = 0; i < values.size(); ++i) {
|
|
|