Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(353)

Unified Diff: chrome/browser/autofill/contact_info.h

Issue 6650014: Autofill extend profiles to include multi-valued fields, part 2. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..f08583d3203823b6aa3155b283c92c413abb959b 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;
virtual void GetPossibleFieldTypes(const string16& text,
FieldTypeSet* possible_types) const;
virtual void GetAvailableFieldTypes(FieldTypeSet* available_types) const;
@@ -31,12 +32,12 @@ 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);
+ typedef std::vector<string16> NameTokens;
Ilya Sherman 2011/03/09 00:50:50 I don't think this typedef helps readability at al
dhollowa 2011/03/09 01:55:47 Done.
+
+ FRIEND_TEST_ALL_PREFIXES(NameInfoTest, TestSetFullName);
// Returns the full name, which can include up to the first, middle, middle
- // initial, last name, and suffix.
+ // initial, and last name.
Ilya Sherman 2011/03/09 00:50:50 What does "middle, middle initial" mean? Presumab
dhollowa 2011/03/09 01:55:47 Done.
string16 FullName() const;
// Returns the middle initial if |middle_| is non-empty. Returns an empty
@@ -46,9 +47,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 +63,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;
@@ -97,19 +92,72 @@ 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_;
- // 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 implementation:
+ 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:
+ const string16& email() const { return email_; }
+
+ // A helper function for FindInfoMatches that only handles matching the info
+ // with the requested field type.
+ bool FindInfoMatchesHelper(const AutofillFieldType& field_type,
+ const string16& info,
+ string16* matched_text) const;
+
string16 email_;
+};
+
+class CompanyInfo : public FormGroup {
+ public:
+ CompanyInfo();
+ explicit CompanyInfo(const CompanyInfo& info);
+ virtual ~CompanyInfo();
+
+ CompanyInfo& operator=(const CompanyInfo& info);
+
+ // FormGroup implementation:
Ilya Sherman 2011/03/09 00:50:50 nit: I thought we were dropping the " implementati
dhollowa 2011/03/09 01:55:47 Done. Here and in AutoFillProfile.
+ 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:
+ const string16& company_name() const { return company_name_; }
+
+ // A helper function for FindInfoMatches that only handles matching the info
+ // with the requested field type.
+ bool FindInfoMatchesHelper(const AutofillFieldType& field_type,
+ const string16& info,
+ string16* matched_text) const;
string16 company_name_;
};

Powered by Google App Engine
This is Rietveld 408576698