| Index: components/autofill/content/renderer/autofill_agent.cc
|
| diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
|
| index ee1ddd2970ef00e42208fa5675e9996f44bf9398..31068330ae94793b6238892e9bc27b57bc7ca8d7 100644
|
| --- a/components/autofill/content/renderer/autofill_agent.cc
|
| +++ b/components/autofill/content/renderer/autofill_agent.cc
|
| @@ -123,7 +123,7 @@ void TrimStringVectorForIPC(std::vector<base::string16>* strings) {
|
| // successful.
|
| bool ExtractFormDataOnSave(const WebFormElement& form_element, FormData* data) {
|
| return WebFormElementToFormData(
|
| - form_element, WebFormControlElement(), REQUIRE_NONE,
|
| + form_element, WebFormControlElement(),
|
| static_cast<ExtractMask>(EXTRACT_VALUE | EXTRACT_OPTION_TEXT), data,
|
| NULL);
|
| }
|
| @@ -133,7 +133,6 @@ bool ExtractFormDataOnSave(const WebFormElement& form_element, FormData* data) {
|
| AutofillAgent::ShowSuggestionsOptions::ShowSuggestionsOptions()
|
| : autofill_on_empty_values(false),
|
| requires_caret_at_end(false),
|
| - display_warning_if_disabled(false),
|
| datalist_only(false),
|
| show_full_suggestion_list(false),
|
| show_password_suggestions_only(false) {
|
| @@ -148,7 +147,6 @@ AutofillAgent::AutofillAgent(content::RenderFrame* render_frame,
|
| password_generation_agent_(password_generation_agent),
|
| legacy_(render_frame->GetRenderView(), this),
|
| autofill_query_id_(0),
|
| - display_warning_if_disabled_(false),
|
| was_query_node_autofilled_(false),
|
| has_shown_autofill_popup_for_current_edit_(false),
|
| did_set_node_text_(false),
|
| @@ -303,7 +301,6 @@ void AutofillAgent::didRequestAutocomplete(
|
| "must use a secure connection or --reduce-security-for-testing.";
|
| } else if (!WebFormElementToFormData(form,
|
| WebFormControlElement(),
|
| - REQUIRE_AUTOCOMPLETE,
|
| static_cast<ExtractMask>(
|
| EXTRACT_VALUE |
|
| EXTRACT_OPTION_TEXT |
|
| @@ -349,7 +346,6 @@ void AutofillAgent::FormControlElementClicked(
|
|
|
| ShowSuggestionsOptions options;
|
| options.autofill_on_empty_values = true;
|
| - options.display_warning_if_disabled = true;
|
| options.show_full_suggestion_list = element.isAutofilled();
|
|
|
| // On Android, default to showing the dropdown on field focus.
|
| @@ -431,10 +427,7 @@ void AutofillAgent::TextFieldDidChangeImpl(
|
|
|
| FormData form;
|
| FormFieldData field;
|
| - if (FindFormAndFieldForFormControlElement(element,
|
| - &form,
|
| - &field,
|
| - REQUIRE_NONE)) {
|
| + if (FindFormAndFieldForFormControlElement(element, &form, &field)) {
|
| Send(new AutofillHostMsg_TextFieldDidChange(routing_id(), form, field,
|
| base::TimeTicks::Now()));
|
| }
|
| @@ -452,7 +445,6 @@ void AutofillAgent::textFieldDidReceiveKeyDown(const WebInputElement& element,
|
| ShowSuggestionsOptions options;
|
| options.autofill_on_empty_values = true;
|
| options.requires_caret_at_end = true;
|
| - options.display_warning_if_disabled = true;
|
| ShowSuggestions(element, options);
|
| }
|
| }
|
| @@ -670,25 +662,11 @@ void AutofillAgent::ShowSuggestions(const WebFormControlElement& element,
|
| if (input_element && input_element->isPasswordField())
|
| return;
|
|
|
| - // If autocomplete is disabled at the field level, ensure that the native
|
| - // UI won't try to show a warning, since that may conflict with a custom
|
| - // popup. Note that we cannot use the WebKit method element.autoComplete()
|
| - // as it does not allow us to distinguish the case where autocomplete is
|
| - // disabled for *both* the element and for the form.
|
| - bool display_warning = options.display_warning_if_disabled;
|
| - if (display_warning) {
|
| - const base::string16 autocomplete_attribute =
|
| - element.getAttribute("autocomplete");
|
| - if (LowerCaseEqualsASCII(autocomplete_attribute, "off"))
|
| - display_warning = false;
|
| - }
|
| -
|
| - QueryAutofillSuggestions(element, display_warning, options.datalist_only);
|
| + QueryAutofillSuggestions(element, options.datalist_only);
|
| }
|
|
|
| void AutofillAgent::QueryAutofillSuggestions(
|
| const WebFormControlElement& element,
|
| - bool display_warning_if_disabled,
|
| bool datalist_only) {
|
| if (!element.document().frame())
|
| return;
|
| @@ -697,26 +675,10 @@ void AutofillAgent::QueryAutofillSuggestions(
|
|
|
| static int query_counter = 0;
|
| autofill_query_id_ = query_counter++;
|
| - display_warning_if_disabled_ = display_warning_if_disabled;
|
| -
|
| - // If autocomplete is disabled at the form level, we want to see if there
|
| - // would have been any suggestions were it enabled, so that we can show a
|
| - // warning. Otherwise, we want to ignore fields that disable autocomplete, so
|
| - // that the suggestions list does not include suggestions for these form
|
| - // fields -- see comment 1 on http://crbug.com/69914
|
| - RequirementsMask requirements =
|
| - element.autoComplete() ? REQUIRE_AUTOCOMPLETE : REQUIRE_NONE;
|
| -
|
| - // If we're ignoring autocomplete="off", always extract everything.
|
| - if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kRespectAutocompleteOffForAutofill)) {
|
| - requirements = REQUIRE_NONE;
|
| - }
|
|
|
| FormData form;
|
| FormFieldData field;
|
| - if (!FindFormAndFieldForFormControlElement(element, &form, &field,
|
| - requirements)) {
|
| + if (!FindFormAndFieldForFormControlElement(element, &form, &field)) {
|
| // If we didn't find the cached form, at least let autocomplete have a shot
|
| // at providing suggestions.
|
| WebFormControlElementToFormField(element, EXTRACT_VALUE, &field);
|
| @@ -746,12 +708,8 @@ void AutofillAgent::QueryAutofillSuggestions(
|
| data_list_values,
|
| data_list_labels));
|
|
|
| - Send(new AutofillHostMsg_QueryFormFieldAutofill(routing_id(),
|
| - autofill_query_id_,
|
| - form,
|
| - field,
|
| - bounding_box_scaled,
|
| - display_warning_if_disabled));
|
| + Send(new AutofillHostMsg_QueryFormFieldAutofill(
|
| + routing_id(), autofill_query_id_, form, field, bounding_box_scaled));
|
| }
|
|
|
| void AutofillAgent::FillFieldWithValue(const base::string16& value,
|
|
|