| Index: components/autofill/core/browser/autofill_profile.cc
|
| diff --git a/components/autofill/core/browser/autofill_profile.cc b/components/autofill/core/browser/autofill_profile.cc
|
| index 3e7e7aa14c5a5195f8b7fa5bca780f49c3c042a7..02d6197e8176a0128b5d24ea78b932e329d3c1ef 100644
|
| --- a/components/autofill/core/browser/autofill_profile.cc
|
| +++ b/components/autofill/core/browser/autofill_profile.cc
|
| @@ -262,6 +262,7 @@ AutofillProfile& AutofillProfile::operator=(const AutofillProfile& profile) {
|
| phone_number_[i].set_profile(this);
|
|
|
| address_ = profile.address_;
|
| + set_language_code(profile.language_code());
|
|
|
| return *this;
|
| }
|
| @@ -401,7 +402,6 @@ bool AutofillProfile::IsPresentButInvalid(ServerFieldType type) const {
|
| }
|
| }
|
|
|
| -
|
| int AutofillProfile::Compare(const AutofillProfile& profile) const {
|
| const ServerFieldType single_value_types[] = {
|
| COMPANY_NAME,
|
| @@ -447,12 +447,22 @@ int AutofillProfile::Compare(const AutofillProfile& profile) const {
|
| return 0;
|
| }
|
|
|
| -bool AutofillProfile::operator==(const AutofillProfile& profile) const {
|
| +bool AutofillProfile::EqualsSansOrigin(const AutofillProfile& profile) const {
|
| return guid() == profile.guid() &&
|
| - origin() == profile.origin() &&
|
| + language_code() == profile.language_code() &&
|
| + Compare(profile) == 0;
|
| +}
|
| +
|
| +bool AutofillProfile::EqualsSansGuid(const AutofillProfile& profile) const {
|
| + return origin() == profile.origin() &&
|
| + language_code() == profile.language_code() &&
|
| Compare(profile) == 0;
|
| }
|
|
|
| +bool AutofillProfile::operator==(const AutofillProfile& profile) const {
|
| + return guid() == profile.guid() && EqualsSansGuid(profile);
|
| +}
|
| +
|
| bool AutofillProfile::operator!=(const AutofillProfile& profile) const {
|
| return !operator==(profile);
|
| }
|
| @@ -500,6 +510,7 @@ void AutofillProfile::OverwriteWithOrAddTo(const AutofillProfile& profile,
|
| // Verified profiles should never be overwritten with unverified data.
|
| DCHECK(!IsVerified() || profile.IsVerified());
|
| set_origin(profile.origin());
|
| + set_language_code(profile.language_code());
|
|
|
| ServerFieldTypeSet field_types;
|
| profile.GetNonEmptyTypes(app_locale, &field_types);
|
| @@ -845,6 +856,8 @@ std::ostream& operator<<(std::ostream& os, const AutofillProfile& profile) {
|
| << " "
|
| << UTF16ToUTF8(profile.GetRawInfo(ADDRESS_HOME_COUNTRY))
|
| << " "
|
| + << profile.language_code()
|
| + << " "
|
| << UTF16ToUTF8(MultiString(profile, PHONE_HOME_WHOLE_NUMBER));
|
| }
|
|
|
|
|