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

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

Issue 1028163002: Processing USERNAME reply from Autofill server in Password Manager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 9 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.h
diff --git a/components/autofill/content/renderer/password_autofill_agent.h b/components/autofill/content/renderer/password_autofill_agent.h
index 4609930eefb4b9b464d88fde2d4675c368c8b71c..711c02a2e899e4c985e970902def82d520e93afc 100644
--- a/components/autofill/content/renderer/password_autofill_agent.h
+++ b/components/autofill/content/renderer/password_autofill_agent.h
@@ -11,6 +11,7 @@
#include "base/gtest_prod_util.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
+#include "components/autofill/core/common/form_data_predictions.h"
#include "components/autofill/core/common/password_form_fill_data.h"
#include "content/public/renderer/render_frame_observer.h"
#include "content/public/renderer/render_view_observer.h"
@@ -106,6 +107,8 @@ class PasswordAutofillAgent : public content::RenderFrameObserver {
typedef std::map<blink::WebElement, int> LoginToPasswordInfoKeyMap;
typedef std::map<blink::WebInputElement, blink::WebInputElement>
PasswordToLoginMap;
+ using FormDataFieldDataMap =
+ std::map<autofill::FormData, autofill::FormFieldData>;
// This class keeps track of autofilled password input elements and makes sure
// the autofilled password value is not accessible to JavaScript code until
@@ -177,6 +180,7 @@ class PasswordAutofillAgent : public content::RenderFrameObserver {
// RenderView IPC handlers:
void OnFillPasswordForm(int key, const PasswordFormFillData& form_data);
void OnSetLoggingState(bool active);
+ void OnAutofillUsernameDataReceived(const FormDataFieldDataMap& predictions);
// Scans the given frame for password forms and sends them up to the browser.
// If |only_visible| is true, only forms visible in the layout are sent.
@@ -278,6 +282,10 @@ class PasswordAutofillAgent : public content::RenderFrameObserver {
// save password prompt on in-page navigations.
bool save_password_on_in_page_navigation_;
+ // Contains server predictions for which field is the username field for forms
+ // on the page.
+ FormDataFieldDataMap form_predictions_;
+
base::WeakPtrFactory<PasswordAutofillAgent> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(PasswordAutofillAgent);

Powered by Google App Engine
This is Rietveld 408576698