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 |