Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Unified Diff: components/autofill/content/renderer/autofill_agent.cc

Issue 803673002: Autofill: one FormCache per WebFrame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 36f688f348f8fd88c9c816083531da332bb71da7..16c8c0f3a20914baac33c436019651887dcbe61b 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,
@@ -760,7 +760,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()) {
« no previous file with comments | « chrome/renderer/autofill/form_autofill_browsertest.cc ('k') | components/autofill/content/renderer/form_cache.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698