| 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 15115d1526449a8ba16921542433cd6a35e3f3b0..a3fb8b0a33ea7a8fc589fa5416d54ce42b5c3922 100644 | 
| --- a/components/autofill/content/renderer/autofill_agent.cc | 
| +++ b/components/autofill/content/renderer/autofill_agent.cc | 
| @@ -208,7 +208,7 @@ void AutofillAgent::DidCommitProvisionalLoad(WebFrame* frame, | 
| } | 
|  | 
| void AutofillAgent::FrameDetached(WebFrame* frame) { | 
| -  form_cache_.ResetFrame(*frame); | 
| +  form_cache_.ResetFrame(*frame); | 
| } | 
|  | 
| void AutofillAgent::WillSubmitForm(WebFrame* frame, | 
| @@ -607,9 +607,18 @@ void AutofillAgent::HideAutofillUI() { | 
| Send(new AutofillHostMsg_HideAutofillUI(routing_id())); | 
| } | 
|  | 
| -// TODO(isherman): Decide if we want to support autofill with AJAX. | 
| +// TODO(isherman): Decide if we want to support non-password autofill with AJAX. | 
| void AutofillAgent::didAssociateFormControls( | 
| const WebKit::WebVector<WebKit::WebNode>& nodes) { | 
| +  for (size_t i = 0; i < nodes.size(); ++i) { | 
| +    WebKit::WebFrame* frame = nodes[i].document().frame(); | 
| +    // Only monitors dynamic forms created in the top frame. Dynamic forms | 
| +    // inserted in iframes are not captured yet. | 
| +    if (!frame->parent()) { | 
| +      password_autofill_agent_->OnDynamicFormsSeen(frame); | 
| +      return; | 
| +    } | 
| +  } | 
| } | 
|  | 
| }  // namespace autofill | 
|  |