| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROFILE_H_ | 5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROFILE_H_ |
| 6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROFILE_H_ | 6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROFILE_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <iosfwd> | 10 #include <iosfwd> |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 // Returns true if the data in this AutofillProfile is a subset of the data in | 107 // Returns true if the data in this AutofillProfile is a subset of the data in |
| 108 // |profile|. | 108 // |profile|. |
| 109 bool IsSubsetOf(const AutofillProfile& profile, | 109 bool IsSubsetOf(const AutofillProfile& profile, |
| 110 const std::string& app_locale) const; | 110 const std::string& app_locale) const; |
| 111 | 111 |
| 112 // Like IsSubsetOf, but only considers the types present in |types|. | 112 // Like IsSubsetOf, but only considers the types present in |types|. |
| 113 bool IsSubsetOfForFieldSet(const AutofillProfile& profile, | 113 bool IsSubsetOfForFieldSet(const AutofillProfile& profile, |
| 114 const std::string& app_locale, | 114 const std::string& app_locale, |
| 115 const ServerFieldTypeSet& types) const; | 115 const ServerFieldTypeSet& types) const; |
| 116 | 116 |
| 117 // Overwrites the field data in |profile| with this Profile. | 117 // Overwrites the field data in |profile| with this Profile. Returns |true| if |
| 118 void OverwriteWith(const AutofillProfile& profile, | 118 // at least one field was overwritten. |
| 119 bool OverwriteWith(const AutofillProfile& profile, |
| 119 const std::string& app_locale); | 120 const std::string& app_locale); |
| 120 | 121 |
| 121 // Saves info from |profile| into |this|, provided |this| and |profile| do not | 122 // Saves info from |profile| into |this|, provided |this| and |profile| do not |
| 122 // have any direct conflicts (i.e. data is present but different). Will not | 123 // have any direct conflicts (i.e. data is present but different). Will not |
| 123 // make changes if |this| is verified and |profile| is not. Returns true if | 124 // make changes if |this| is verified and |profile| is not. Returns true if |
| 124 // |this| and |profile| are similar. | 125 // |this| and |profile| are similar. |
| 125 bool SaveAdditionalInfo(const AutofillProfile& profile, | 126 bool SaveAdditionalInfo(const AutofillProfile& profile, |
| 126 const std::string& app_locale); | 127 const std::string& app_locale); |
| 127 | 128 |
| 128 // Returns |true| if |type| accepts multi-values. | 129 // Returns |true| if |type| accepts multi-values. |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 | 217 |
| 217 // Utilities for listing and lookup of the data members that constitute | 218 // Utilities for listing and lookup of the data members that constitute |
| 218 // user-visible profile information. | 219 // user-visible profile information. |
| 219 FormGroupList FormGroups() const; | 220 FormGroupList FormGroups() const; |
| 220 const FormGroup* FormGroupForType(const AutofillType& type) const; | 221 const FormGroup* FormGroupForType(const AutofillType& type) const; |
| 221 FormGroup* MutableFormGroupForType(const AutofillType& type); | 222 FormGroup* MutableFormGroupForType(const AutofillType& type); |
| 222 | 223 |
| 223 // If |name| has the same full name representation as |name_|, | 224 // If |name| has the same full name representation as |name_|, |
| 224 // this will keep the one that has more information (i.e. | 225 // this will keep the one that has more information (i.e. |
| 225 // is not reconstructible via a heuristic parse of the full name string). | 226 // is not reconstructible via a heuristic parse of the full name string). |
| 226 void OverwriteName(const NameInfo& name, const std::string& app_locale); | 227 // Returns |true| is |name_| was overwritten. |
| 228 bool OverwriteName(const NameInfo& name, const std::string& app_locale); |
| 227 | 229 |
| 228 // Same as operator==, but ignores differences in GUID. | 230 // Same as operator==, but ignores differences in GUID. |
| 229 bool EqualsSansGuid(const AutofillProfile& profile) const; | 231 bool EqualsSansGuid(const AutofillProfile& profile) const; |
| 230 | 232 |
| 231 RecordType record_type_; | 233 RecordType record_type_; |
| 232 | 234 |
| 233 // Personal information for this profile. | 235 // Personal information for this profile. |
| 234 NameInfo name_; | 236 NameInfo name_; |
| 235 EmailInfo email_; | 237 EmailInfo email_; |
| 236 CompanyInfo company_; | 238 CompanyInfo company_; |
| 237 PhoneNumber phone_number_; | 239 PhoneNumber phone_number_; |
| 238 Address address_; | 240 Address address_; |
| 239 | 241 |
| 240 // The BCP 47 language code that can be used to format |address_| for display. | 242 // The BCP 47 language code that can be used to format |address_| for display. |
| 241 std::string language_code_; | 243 std::string language_code_; |
| 242 | 244 |
| 243 // ID used for identifying this profile. Only set for SERVER_PROFILEs. This is | 245 // ID used for identifying this profile. Only set for SERVER_PROFILEs. This is |
| 244 // a hash of the contents. | 246 // a hash of the contents. |
| 245 std::string server_id_; | 247 std::string server_id_; |
| 246 }; | 248 }; |
| 247 | 249 |
| 248 // So we can compare AutofillProfiles with EXPECT_EQ(). | 250 // So we can compare AutofillProfiles with EXPECT_EQ(). |
| 249 std::ostream& operator<<(std::ostream& os, const AutofillProfile& profile); | 251 std::ostream& operator<<(std::ostream& os, const AutofillProfile& profile); |
| 250 | 252 |
| 251 } // namespace autofill | 253 } // namespace autofill |
| 252 | 254 |
| 253 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROFILE_H_ | 255 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROFILE_H_ |
| OLD | NEW |