Chromium Code Reviews| Index: components/autofill/core/browser/autofill_manager.cc |
| diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc |
| index 94049ff0729ae84a3a7cbdb5ffd41a22cbebdb68..6e445db5ea3b04de2a653f66db801d2eeaeed564 100644 |
| --- a/components/autofill/core/browser/autofill_manager.cc |
| +++ b/components/autofill/core/browser/autofill_manager.cc |
| @@ -44,6 +44,7 @@ |
| #include "components/autofill/core/browser/phone_number.h" |
| #include "components/autofill/core/browser/phone_number_i18n.h" |
| #include "components/autofill/core/browser/popup_item_ids.h" |
| +#include "components/autofill/core/common/autofill_constants.h" |
| #include "components/autofill/core/common/autofill_data_validation.h" |
| #include "components/autofill/core/common/autofill_pref_names.h" |
| #include "components/autofill/core/common/autofill_switches.h" |
| @@ -386,8 +387,8 @@ void AutofillManager::OnQueryFormFieldAutofill(int query_id, |
| AutofillField* autofill_field = NULL; |
| bool got_autofillable_form = |
| GetCachedFormAndField(form, field, &form_structure, &autofill_field) && |
| - // Don't send suggestions or track forms that aren't auto-fillable. |
| - form_structure->IsAutofillable(); |
| + // Don't send suggestions or track forms that should not be parsed. |
| + form_structure->ShouldBeParsed(); |
| // Logging interactions of forms that are autofillable. |
| if (got_autofillable_form) { |
| @@ -803,17 +804,9 @@ bool AutofillManager::IsAutofillEnabled() const { |
| } |
| bool AutofillManager::ShouldUploadForm(const FormStructure& form) { |
| - if (!IsAutofillEnabled()) |
| - return false; |
| - |
| - if (driver_->IsOffTheRecord()) |
| - return false; |
| - |
| - // Disregard forms that we wouldn't ever autofill in the first place. |
| - if (!form.ShouldBeParsed()) |
| - return false; |
| - |
| - return true; |
| + return IsAutofillEnabled() && !driver_->IsOffTheRecord() && |
| + form.ShouldBeParsed() && |
| + form.active_field_count() >= kRequiredFieldsForUpload; |
| } |
| void AutofillManager::ImportFormData(const FormStructure& submitted_form) { |
| @@ -1360,6 +1353,8 @@ void AutofillManager::ParseForms(const std::vector<FormData>& forms) { |
| for (const FormData& form : forms) { |
| scoped_ptr<FormStructure> form_structure(new FormStructure(form)); |
|
Evan Stade
2015/11/18 22:59:15
^H
sebsg
2015/11/19 19:25:03
Done.
|
| + form_structure->ParseFieldTypesFromAutocompleteAttributes(); |
| + |
| if (!form_structure->ShouldBeParsed()) { |
| if (form_structure->has_password_field()) { |
| AutofillMetrics::LogPasswordFormQueryVolume( |