Index: chrome/browser/autofill/form_field.h |
diff --git a/chrome/browser/autofill/form_field.h b/chrome/browser/autofill/form_field.h |
index db00e9e7f9efa9951937324cd5c462551d5d7a99..9ad8d0d071ab06f94ba3886762bec0e4b5170583 100644 |
--- a/chrome/browser/autofill/form_field.h |
+++ b/chrome/browser/autofill/form_field.h |
@@ -32,9 +32,20 @@ class FormField { |
protected: |
// A bit-field used for matching specific parts of a field in question. |
enum MatchType { |
- MATCH_LABEL = 1 << 0, |
- MATCH_NAME = 1 << 1, |
- MATCH_ALL = MATCH_LABEL | MATCH_NAME |
+ // Attributes. |
+ MATCH_LABEL = 1 << 0, |
+ MATCH_NAME = 1 << 1, |
+ |
+ // Input types. |
+ MATCH_TEXT = 1 << 2, |
+ MATCH_EMAIL = 1 << 3, |
+ MATCH_TELEPHONE = 1 << 4, |
+ MATCH_SELECT = 1 << 5, |
+ MATCH_ALL_INPUTS = |
+ MATCH_TEXT | MATCH_EMAIL | MATCH_TELEPHONE | MATCH_SELECT, |
+ |
+ // By default match label and name for input/text types. |
+ MATCH_DEFAULT = MATCH_LABEL | MATCH_NAME | MATCH_TEXT, |
}; |
// Only derived classes may instantiate. |
@@ -75,6 +86,15 @@ class FormField { |
private: |
FRIEND_TEST_ALL_PREFIXES(FormFieldTest, Match); |
+ // Matches |pattern| to the contents of the field at the head of the |
+ // |scanner|. |
+ // Returns |true| if a match is found according to |match_type|, and |false| |
+ // otherwise. |
+ static bool MatchAndAdvance(AutofillScanner* scanner, |
+ const string16& pattern, |
+ int match_type, |
+ const AutofillField** match); |
+ |
// Matches the regular expression |pattern| against the components of |field| |
// as specified in the |match_type| bit field (see |MatchType|). |
static bool Match(const AutofillField* field, |