Chromium Code Reviews| 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..e467038308ab2ee9fbf8deb982440d2f5ff02fae 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,23 @@ 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); |
|
Ilya Sherman
2014/04/09 23:58:31
nit: Looks like this fits on a single line now?
please use gerrit instead
2014/04/10 00:14:23
Done.
|
| +} |
| + |
| bool AutofillProfile::operator!=(const AutofillProfile& profile) const { |
| return !operator==(profile); |
| } |
| @@ -500,6 +511,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 +857,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)); |
| } |