| 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 8a9350e9304bc369045479377850335096a0421e..52eb5002d99023584f301e2ca24c8b34633fb7eb 100644
|
| --- a/components/autofill/content/renderer/autofill_agent.cc
|
| +++ b/components/autofill/content/renderer/autofill_agent.cc
|
| @@ -133,6 +133,7 @@ AutofillAgent::AutofillAgent(content::RenderFrame* render_frame,
|
| PasswordAutofillAgent* password_autofill_agent,
|
| PasswordGenerationAgent* password_generation_agent)
|
| : content::RenderFrameObserver(render_frame),
|
| + form_cache_(*render_frame->GetWebFrame()),
|
| password_autofill_agent_(password_autofill_agent),
|
| password_generation_agent_(password_generation_agent),
|
| legacy_(render_frame->GetRenderView(), this),
|
| @@ -179,8 +180,7 @@ bool AutofillAgent::OnMessageReceived(const IPC::Message& message) {
|
| }
|
|
|
| void AutofillAgent::DidCommitProvisionalLoad(bool is_new_navigation) {
|
| - // TODO(estade): |form_cache_| shouldn't track multiple frames.
|
| - form_cache_.ResetFrame(*render_frame()->GetWebFrame());
|
| + form_cache_.Reset();
|
| }
|
|
|
| void AutofillAgent::DidFinishDocumentLoad() {
|
| @@ -191,7 +191,7 @@ void AutofillAgent::FrameDetached(WebFrame* frame) {
|
| if (frame != render_frame()->GetWebFrame())
|
| return;
|
|
|
| - form_cache_.ResetFrame(*frame);
|
| + form_cache_.Reset();
|
| }
|
|
|
| void AutofillAgent::WillSubmitForm(WebLocalFrame* frame,
|
| @@ -748,7 +748,7 @@ void AutofillAgent::ProcessForms() {
|
| base::TimeTicks forms_seen_timestamp = base::TimeTicks::Now();
|
|
|
| WebLocalFrame* frame = render_frame()->GetWebFrame();
|
| - std::vector<FormData> forms = form_cache_.ExtractNewForms(*frame);
|
| + std::vector<FormData> forms = form_cache_.ExtractNewForms();
|
|
|
| // Always communicate to browser process for topmost frame.
|
| if (!forms.empty() || !frame->parent()) {
|
|
|