| Index: chrome/browser/autofill/autofill_profile.h
|
| diff --git a/chrome/browser/autofill/autofill_profile.h b/chrome/browser/autofill/autofill_profile.h
|
| index 72a7273677683c3279c0e69dd56feab8da04fabc..3465c1180835b656128389907611012257ba6cba 100644
|
| --- a/chrome/browser/autofill/autofill_profile.h
|
| +++ b/chrome/browser/autofill/autofill_profile.h
|
| @@ -11,7 +11,11 @@
|
| #include <vector>
|
|
|
| #include "base/string16.h"
|
| +#include "chrome/browser/autofill/address.h"
|
| +#include "chrome/browser/autofill/contact_info.h"
|
| +#include "chrome/browser/autofill/fax_number.h"
|
| #include "chrome/browser/autofill/form_group.h"
|
| +#include "chrome/browser/autofill/home_phone_number.h"
|
|
|
| // A collection of FormGroups stored in a profile. AutoFillProfile also
|
| // implements the FormGroup interface so that owners of this object can request
|
| @@ -26,21 +30,21 @@ class AutoFillProfile : public FormGroup {
|
| AutoFillProfile(const AutoFillProfile&);
|
| virtual ~AutoFillProfile();
|
|
|
| - // FormGroup implementation:
|
| + AutoFillProfile& operator=(const AutoFillProfile& profile);
|
| +
|
| + // FormGroup:
|
| virtual void GetPossibleFieldTypes(const string16& text,
|
| FieldTypeSet* possible_types) const;
|
| virtual void GetAvailableFieldTypes(FieldTypeSet* available_types) const;
|
| virtual string16 GetFieldText(const AutofillType& type) const;
|
| - // Returns true if the info matches the profile data corresponding to type.
|
| - // If the type is UNKNOWN_TYPE then info will be matched against all of the
|
| + // Returns true if the |value| matches the profile data corresponding to type.
|
| + // If the type is UNKNOWN_TYPE then |value| will be matched against all of the
|
| // profile data.
|
| virtual void FindInfoMatches(const AutofillType& type,
|
| - const string16& info,
|
| + const string16& value,
|
| std::vector<string16>* matched_text) const;
|
| virtual void SetInfo(const AutofillType& type, const string16& value);
|
| - // Returns a copy of the profile it is called on. The caller is responsible
|
| - // for deleting profile when they are done with it.
|
| - virtual FormGroup* Clone() const;
|
| +
|
| // The user-visible label of the profile, generated in relation to other
|
| // profiles. Shows at least 2 fields that differentiate profile from other
|
| // profiles. See AdjustInferredLabels() further down for more description.
|
| @@ -86,9 +90,6 @@ class AutoFillProfile : public FormGroup {
|
| // Returns true if there are no values (field types) set.
|
| bool IsEmpty() const;
|
|
|
| - // For use in STL containers.
|
| - void operator=(const AutoFillProfile&);
|
| -
|
| // Comparison for Sync. Returns 0 if the profile is the same as |this|,
|
| // or < 0, or > 0 if it is different. The implied ordering can be used for
|
| // culling duplicates. The ordering is based on collation order of the
|
| @@ -106,7 +107,9 @@ class AutoFillProfile : public FormGroup {
|
| const string16 PrimaryValue() const;
|
|
|
| private:
|
| - typedef std::map<FieldTypeGroup, FormGroup*> FormGroupMap;
|
| + typedef std::vector<const FormGroup*> FormGroupList;
|
| + typedef std::map<FieldTypeGroup, const FormGroup*> FormGroupMap;
|
| + typedef std::map<FieldTypeGroup, FormGroup*> MutableFormGroupMap;
|
|
|
| // Builds inferred label from the first |num_fields_to_include| non-empty
|
| // fields in |label_fields|. Uses as many fields as possible if there are not
|
| @@ -127,8 +130,11 @@ class AutoFillProfile : public FormGroup {
|
| size_t num_fields_to_include,
|
| std::vector<string16>* created_labels);
|
|
|
| - // Utility to initialize a |FormGroupMap|.
|
| - static void InitPersonalInfo(FormGroupMap* personal_info);
|
| + // Utilities for listing and lookup of the data members that constitute
|
| + // user-visible profile information.
|
| + FormGroupList info_list() const;
|
| + FormGroupMap info_map() const;
|
| + MutableFormGroupMap mutable_info_map();
|
|
|
| // The label presented to the user when selecting a profile.
|
| string16 label_;
|
| @@ -137,7 +143,12 @@ class AutoFillProfile : public FormGroup {
|
| std::string guid_;
|
|
|
| // Personal information for this profile.
|
| - FormGroupMap personal_info_;
|
| + NameInfo name_;
|
| + EmailInfo email_;
|
| + CompanyInfo company_;
|
| + HomePhoneNumber home_number_;
|
| + FaxNumber fax_number_;
|
| + Address address_;
|
| };
|
|
|
| // So we can compare AutoFillProfiles with EXPECT_EQ().
|
|
|