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

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: Error handling in the autofill agent. 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..e9aed41ac28f17333d37044b99b6d7cf1b29a7a6 100644
--- a/components/autofill/content/renderer/password_autofill_agent.cc
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
@@ -967,6 +967,8 @@ bool PasswordAutofillAgent::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(AutofillMsg_SetLoggingState, OnSetLoggingState)
IPC_MESSAGE_HANDLER(AutofillMsg_AutofillUsernameDataReceived,
OnAutofillUsernameDataReceived)
+ IPC_MESSAGE_HANDLER(AutofillMsg_FindFocusedPasswordForm,
+ OnFindFocusedPasswordForm)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
@@ -1241,6 +1243,25 @@ void PasswordAutofillAgent::OnAutofillUsernameDataReceived(
form_predictions_ = predictions;
}
+void PasswordAutofillAgent::OnFindFocusedPasswordForm() {
+ scoped_ptr<PasswordForm> password_form;
+
+ blink::WebElement element = render_frame()->GetFocusedElement();
+ if (!element.isNull() && element.hasHTMLTagName("input")) {
+ blink::WebInputElement input = element.to<blink::WebInputElement>();
+ if (input.isPasswordField() && !input.form().isNull()) {
+ password_form = CreatePasswordForm(
+ input.form(), &nonscript_modified_values_, &form_predictions_);
+ }
+ }
+
+ if (!password_form.get())
+ password_form.reset(new PasswordForm());
Mike West 2015/05/29 12:26:53 Optional nit: I'd fold this into line 1247; that i
msramek 2015/05/29 12:38:55 If the WebFormElement is ununderstandable to Creat
+
+ Send(new AutofillHostMsg_FocusedPasswordFormFound(
+ routing_id(), *password_form));
+}
+
////////////////////////////////////////////////////////////////////////////////
// PasswordAutofillAgent, private:

Powered by Google App Engine
This is Rietveld 408576698