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

Unified Diff: chrome/browser/autofill/form_field.cc

Issue 7014011: Change heuristic regex and order to match grabber-continental. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 7 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/form_field.cc
diff --git a/chrome/browser/autofill/form_field.cc b/chrome/browser/autofill/form_field.cc
index 926d3409a746e8d02d2f319a3f2cb99da3cefb38..df0ef5bff196282f112ae89fa04d62a7d7a2b700 100644
--- a/chrome/browser/autofill/form_field.cc
+++ b/chrome/browser/autofill/form_field.cc
@@ -235,14 +235,14 @@ FormField* FormField::ParseFormField(AutofillScanner* scanner, bool is_ecml) {
}
// static
-bool FormField::ParseText(AutofillScanner* scanner, const string16& pattern) {
+bool FormField::ParseText(AutofillScanner* scanner, const Pattern& pattern) {
const AutofillField* field;
return ParseText(scanner, pattern, &field);
}
// static
bool FormField::ParseText(AutofillScanner* scanner,
- const string16& pattern,
+ const Pattern& pattern,
const AutofillField** dest) {
return ParseText(scanner, pattern, dest, false);
}
@@ -250,26 +250,31 @@ bool FormField::ParseText(AutofillScanner* scanner,
// static
bool FormField::ParseEmptyText(AutofillScanner* scanner,
const AutofillField** dest) {
- return ParseLabelText(scanner, ASCIIToUTF16("^$"), dest);
+ return ParseLabelText(scanner, Pattern(ASCIIToUTF16("^$")), dest);
}
// static
bool FormField::ParseLabelText(AutofillScanner* scanner,
- const string16& pattern,
+ const Pattern& pattern,
const AutofillField** dest) {
return ParseText(scanner, pattern, dest, true);
}
// static
bool FormField::ParseText(AutofillScanner* scanner,
- const string16& pattern,
+ const Pattern& pattern,
const AutofillField** dest,
bool match_label_only) {
if (scanner->IsEnd())
return false;
const AutofillField* field = scanner->Cursor();
- if (Match(field, pattern, match_label_only)) {
+
+ if (!pattern.select_one_is_ok &&
+ field->form_control_type == ASCIIToUTF16("select-one"))
+ return false;
+
+ if (Match(field, pattern.pattern, match_label_only)) {
if (dest)
*dest = field;
scanner->Advance();
« chrome/browser/autofill/form_field.h ('K') | « chrome/browser/autofill/form_field.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698