| Index: chrome/renderer/render_view.cc
|
| diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
|
| index 052788950034ac117e98c37d9ee8bdc124abfa97..cd649e77387e025fc96adac5f0f819efdc572178 100644
|
| --- a/chrome/renderer/render_view.cc
|
| +++ b/chrome/renderer/render_view.cc
|
| @@ -1952,10 +1952,24 @@ void RenderView::queryAutofillSuggestions(const WebNode& node,
|
| static int query_counter = 0;
|
| autofill_query_id_ = query_counter++;
|
| autofill_query_node_ = node;
|
| - const WebKit::WebInputElement input_element =
|
| - node.toConstElement<WebInputElement>();
|
| - Send(new ViewHostMsg_QueryFormFieldAutofill(
|
| - routing_id_, autofill_query_id_, FormField(input_element)));
|
| +
|
| + const WebFormControlElement& element =
|
| + node.toConstElement<WebFormControlElement>();
|
| +
|
| + FormData form;
|
| + if (!form_manager_.FindFormWithFormControlElement(element,
|
| + FormManager::REQUIRE_NONE,
|
| + &form))
|
| + return;
|
| +
|
| + // TODO(jhawkins): This is very slow. Add a label cache to FormManager.
|
| + for (std::vector<FormField>::const_iterator iter = form.fields.begin();
|
| + iter != form.fields.end(); ++iter) {
|
| + if (iter->name() == element.nameForAutofill()) {
|
| + Send(new ViewHostMsg_QueryFormFieldAutofill(
|
| + routing_id_, autofill_query_id_, *iter));
|
| + }
|
| + }
|
| }
|
|
|
| void RenderView::removeAutofillSuggestions(const WebString& name,
|
|
|