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 |