Chromium Code Reviews| Index: chrome/renderer/autofill/autofill_agent.cc |
| diff --git a/chrome/renderer/autofill/autofill_agent.cc b/chrome/renderer/autofill/autofill_agent.cc |
| index 3977caae7a9ab189390c0b0e182b6885247eba68..8a58ae63852cc83bdc3861ff9f9a5d942414fdee 100644 |
| --- a/chrome/renderer/autofill/autofill_agent.cc |
| +++ b/chrome/renderer/autofill/autofill_agent.cc |
| @@ -159,6 +159,8 @@ bool AutofillAgent::OnMessageReceived(const IPC::Message& message) { |
| OnAcceptDataListSuggestion) |
| IPC_MESSAGE_HANDLER(AutofillMsg_AcceptPasswordAutofillSuggestion, |
| OnAcceptPasswordAutofillSuggestion) |
| + IPC_MESSAGE_HANDLER(AutofillMsg_RequestAutocompleteFinished, |
| + OnRequestAutocompleteFinished) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |
| return handled; |
| @@ -213,6 +215,25 @@ void AutofillAgent::DidChangeScrollOffset(WebKit::WebFrame*) { |
| Send(new AutofillHostMsg_HideAutofillPopup(routing_id())); |
| } |
| +void AutofillAgent::RequestAutocomplete(WebKit::WebFrame* frame, |
| + const WebFormElement& form) { |
| + |
| + // TODO(dbeam): should popups be hidden here? Maybe after a view message from |
| + // the browser to say whether the interactive autocomplete UI will show? |
|
Ilya Sherman
2012/10/26 03:30:52
Yes, we should hide popups and cancel any pending
Dan Beam
2012/10/26 05:51:44
creating separate counter for this request like we
|
| + |
| + FormData form_data; |
| + if (WebFormElementToFormData(form, |
| + WebFormControlElement(), |
| + REQUIRE_AUTOCOMPLETE, |
| + static_cast<ExtractMask>( |
| + EXTRACT_VALUE | EXTRACT_OPTION_TEXT), |
|
Ilya Sherman
2012/10/26 03:30:52
nit: I don't think we need to extract values or op
Dan Beam
2012/10/26 05:51:44
Done.
|
| + &form_data, |
| + NULL)) { |
| + form_ = form; |
| + Send(new AutofillHostMsg_RequestAutocomplete(routing_id(), form_data)); |
| + } |
| +} |
| + |
| bool AutofillAgent::InputElementClicked(const WebInputElement& element, |
| bool was_focused, |
| bool is_focused) { |
| @@ -582,6 +603,10 @@ void AutofillAgent::OnAcceptPasswordAutofillSuggestion(const string16& value) { |
| DCHECK(handled); |
| } |
| +void AutofillAgent::OnRequestAutocompleteFinished(bool success) { |
| + form_.dispatchAutocompleteEvent(success); |
|
Ilya Sherman
2012/10/26 03:30:52
We should do some sort of checking here to make su
Dan Beam
2012/10/26 05:51:44
why would it being removed from the DOM cause us t
|
| +} |
| + |
| void AutofillAgent::ShowSuggestions(const WebInputElement& element, |
| bool autofill_on_empty_values, |
| bool requires_caret_at_end, |