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, |