| Index: chrome/browser/autofill/contact_info.h
|
| diff --git a/chrome/browser/autofill/contact_info.h b/chrome/browser/autofill/contact_info.h
|
| index d743630674abaf604397f28a7d1076f1e4859361..22c618a6e5491e13b881d3a345280a8a294f1797 100644
|
| --- a/chrome/browser/autofill/contact_info.h
|
| +++ b/chrome/browser/autofill/contact_info.h
|
| @@ -8,19 +8,20 @@
|
|
|
| #include <vector>
|
|
|
| +#include "base/gtest_prod_util.h"
|
| #include "base/string16.h"
|
| #include "chrome/browser/autofill/form_group.h"
|
|
|
| -typedef std::vector<string16> NameTokens;
|
| -
|
| -// A form group that stores contact information.
|
| -class ContactInfo : public FormGroup {
|
| +// A form group that stores name information.
|
| +class NameInfo : public FormGroup {
|
| public:
|
| - ContactInfo();
|
| - virtual ~ContactInfo();
|
| + NameInfo();
|
| + explicit NameInfo(const NameInfo& info);
|
| + virtual ~NameInfo();
|
| +
|
| + NameInfo& operator=(const NameInfo& info);
|
|
|
| - // FormGroup implementation:
|
| - virtual FormGroup* Clone() const;
|
| + // FormGroup:
|
| virtual void GetPossibleFieldTypes(const string16& text,
|
| FieldTypeSet* possible_types) const;
|
| virtual void GetAvailableFieldTypes(FieldTypeSet* available_types) const;
|
| @@ -31,12 +32,10 @@ class ContactInfo : public FormGroup {
|
| virtual void SetInfo(const AutofillType& type, const string16& value);
|
|
|
| private:
|
| - friend class ContactInfoTest;
|
| - explicit ContactInfo(const ContactInfo& contact_info);
|
| - void operator=(const ContactInfo& info);
|
| + FRIEND_TEST_ALL_PREFIXES(NameInfoTest, TestSetFullName);
|
|
|
| - // Returns the full name, which can include up to the first, middle, middle
|
| - // initial, last name, and suffix.
|
| + // Returns the full name, which can include up to the first, middle, and last
|
| + // name.
|
| string16 FullName() const;
|
|
|
| // Returns the middle initial if |middle_| is non-empty. Returns an empty
|
| @@ -46,9 +45,6 @@ class ContactInfo : public FormGroup {
|
| const string16& first() const { return first_; }
|
| const string16& middle() const { return middle_; }
|
| const string16& last() const { return last_; }
|
| - const string16& suffix() const { return suffix_; }
|
| - const string16& email() const { return email_; }
|
| - const string16& company_name() const { return company_name_; }
|
|
|
| // A helper function for FindInfoMatches that only handles matching the info
|
| // with the requested field type.
|
| @@ -65,9 +61,6 @@ class ContactInfo : public FormGroup {
|
| // Returns true if |text| is the last name.
|
| bool IsLastName(const string16& text) const;
|
|
|
| - // Returns true if |text| is the suffix.
|
| - bool IsSuffix(const string16& text) const;
|
| -
|
| // Returns true if |text| is the middle initial.
|
| bool IsMiddleInitial(const string16& text) const;
|
|
|
| @@ -76,10 +69,12 @@ class ContactInfo : public FormGroup {
|
|
|
| // Returns true if all of the tokens in |text| match the tokens in
|
| // |name_tokens|.
|
| - bool IsNameMatch(const string16& text, const NameTokens& name_tokens) const;
|
| + bool IsNameMatch(const string16& text,
|
| + const std::vector<string16>& name_tokens) const;
|
|
|
| // Returns true if |word| is one of the tokens in |name_tokens|.
|
| - bool IsWordInName(const string16& word, const NameTokens& name_tokens) const;
|
| + bool IsWordInName(const string16& word,
|
| + const std::vector<string16>& name_tokens) const;
|
|
|
| // Sets |first_| to |first| and |first_tokens_| to the set of tokens in
|
| // |first|, made lowercase.
|
| @@ -97,19 +92,57 @@ class ContactInfo : public FormGroup {
|
| // |full|. It is tokenized on a space only.
|
| void SetFullName(const string16& full);
|
|
|
| - void set_suffix(const string16& suffix) { suffix_ = suffix; }
|
| -
|
| // List of tokens in each part of the name.
|
| - NameTokens first_tokens_;
|
| - NameTokens middle_tokens_;
|
| - NameTokens last_tokens_;
|
| + std::vector<string16> first_tokens_;
|
| + std::vector<string16> middle_tokens_;
|
| + std::vector<string16> last_tokens_;
|
|
|
| - // Contact information data.
|
| string16 first_;
|
| string16 middle_;
|
| string16 last_;
|
| - string16 suffix_;
|
| +};
|
| +
|
| +class EmailInfo : public FormGroup {
|
| + public:
|
| + EmailInfo();
|
| + explicit EmailInfo(const EmailInfo& info);
|
| + virtual ~EmailInfo();
|
| +
|
| + EmailInfo& operator=(const EmailInfo& info);
|
| +
|
| + // FormGroup:
|
| + virtual void GetPossibleFieldTypes(const string16& text,
|
| + FieldTypeSet* possible_types) const;
|
| + virtual void GetAvailableFieldTypes(FieldTypeSet* available_types) const;
|
| + virtual void FindInfoMatches(const AutofillType& type,
|
| + const string16& info,
|
| + std::vector<string16>* matched_text) const;
|
| + virtual string16 GetFieldText(const AutofillType& type) const;
|
| + virtual void SetInfo(const AutofillType& type, const string16& value);
|
| +
|
| + private:
|
| string16 email_;
|
| +};
|
| +
|
| +class CompanyInfo : public FormGroup {
|
| + public:
|
| + CompanyInfo();
|
| + explicit CompanyInfo(const CompanyInfo& info);
|
| + virtual ~CompanyInfo();
|
| +
|
| + CompanyInfo& operator=(const CompanyInfo& info);
|
| +
|
| + // FormGroup:
|
| + virtual void GetPossibleFieldTypes(const string16& text,
|
| + FieldTypeSet* possible_types) const;
|
| + virtual void GetAvailableFieldTypes(FieldTypeSet* available_types) const;
|
| + virtual void FindInfoMatches(const AutofillType& type,
|
| + const string16& info,
|
| + std::vector<string16>* matched_text) const;
|
| + virtual string16 GetFieldText(const AutofillType& type) const;
|
| + virtual void SetInfo(const AutofillType& type, const string16& value);
|
| +
|
| + private:
|
| string16 company_name_;
|
| };
|
|
|
|
|