Chromium Code Reviews| Index: chrome/browser/autofill/form_field.cc |
| diff --git a/chrome/browser/autofill/form_field.cc b/chrome/browser/autofill/form_field.cc |
| index b8f941bbace5e5027199d471979a97d707da5a15..9d7e8f196572b0899709645b7ca55e4ac6ecd876 100644 |
| --- a/chrome/browser/autofill/form_field.cc |
| +++ b/chrome/browser/autofill/form_field.cc |
| @@ -45,6 +45,10 @@ bool IsSelectField(const std::string& type) { |
| return type == "select-one"; |
| } |
| +bool IsCheckable(const AutofillField* field) { |
| + return field->is_checkable; |
| +} |
| + |
| } // namespace |
| // static |
| @@ -54,6 +58,13 @@ void FormField::ParseFormFields(const std::vector<AutofillField*>& fields, |
| std::vector<const AutofillField*> remaining_fields(fields.size()); |
| std::copy(fields.begin(), fields.end(), remaining_fields.begin()); |
| + // Ignore checkable fields as they interfere with parsers assuming context. |
| + // Eg., while parsing address, "Is PO box" checkbox after ADDRESS_LINE1 |
| + // interferes with correctly understanding ADDRESS_LINE2. |
| + remaining_fields.erase( |
| + std::remove_if(remaining_fields.begin(), remaining_fields.end(), |
| + IsCheckable), remaining_fields.end()); |
|
Ilya Sherman
2012/12/18 04:32:40
nit: Please move the "remaining_fields.end()" argu
Raman Kakilate
2012/12/18 04:37:32
Done.
|
| + |
| const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
| bool parse_new_field_types = |
| command_line.HasSwitch(switches::kEnableNewAutofillHeuristics); |