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

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

Issue 1159143002: Add a basic functionality to the force-saving menu item. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months 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/password_autofill_agent.cc
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
index eb2e06dbe78683c9c03c13020eb30d85bad58718..a70a86a89b787bda8ae5340b4877aac3ea086b19 100644
--- a/components/autofill/content/renderer/password_autofill_agent.cc
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
@@ -967,6 +967,7 @@ bool PasswordAutofillAgent::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(AutofillMsg_SetLoggingState, OnSetLoggingState)
IPC_MESSAGE_HANDLER(AutofillMsg_AutofillUsernameDataReceived,
OnAutofillUsernameDataReceived)
+ IPC_MESSAGE_HANDLER(AutofillMsg_ForceSavePassword, OnForceSavePassword)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
@@ -1241,6 +1242,20 @@ void PasswordAutofillAgent::OnAutofillUsernameDataReceived(
form_predictions_ = predictions;
}
+void PasswordAutofillAgent::OnForceSavePassword() {
+ blink::WebElement element = render_frame()->GetFocusedElement();
+
+ DCHECK(!element.isNull());
+ DCHECK(element.hasHTMLTagName("input"));
vabr (Chromium) 2015/05/28 19:41:23 optional: Consider adding << element.tagName() to
msramek 2015/05/28 20:28:28 Done.
+
+ blink::WebInputElement input = element.to<blink::WebInputElement>();
+ DCHECK(input.isPasswordField());
+
+ ProvisionallySavePassword(input.form(), RESTRICTION_NONE);
vabr (Chromium) 2015/05/28 19:41:23 Why do we need to provisionally save the password,
msramek 2015/05/28 20:28:28 Here, ProvisionallySavePassword() is used to trans
vabr (Chromium) 2015/05/29 06:48:50 Acknowledged.
+ Send(new AutofillHostMsg_PasswordFormForceSaveRequested(
+ routing_id(), *provisionally_saved_form_));
+}
+
////////////////////////////////////////////////////////////////////////////////
// PasswordAutofillAgent, private:

Powered by Google App Engine
This is Rietveld 408576698