Chromium Code Reviews| Index: components/password_manager/content/browser/content_password_manager_driver.cc |
| diff --git a/components/password_manager/content/browser/content_password_manager_driver.cc b/components/password_manager/content/browser/content_password_manager_driver.cc |
| index c95a292aaf79ca6f0dd790c51f754e7a03855440..091047074b80b7e9762c790c0a278bbe35cefc80 100644 |
| --- a/components/password_manager/content/browser/content_password_manager_driver.cc |
| +++ b/components/password_manager/content/browser/content_password_manager_driver.cc |
| @@ -23,7 +23,8 @@ ContentPasswordManagerDriver::ContentPasswordManagerDriver( |
| PasswordManagerClient* client) |
| : WebContentsObserver(web_contents), |
| password_manager_(client), |
| - password_generation_manager_(client) { |
| + password_generation_manager_(client), |
| + password_autofill_manager_(client, GetAutofillManager()->delegate()) { |
| DCHECK(web_contents); |
| } |
| @@ -49,6 +50,17 @@ void ContentPasswordManagerDriver::AccountCreationFormsFound( |
| forms)); |
| } |
| +void ContentPasswordManagerDriver::AcceptPasswordAutofillSuggestion( |
| + const base::string16& username, |
| + const base::string16& password) { |
| + DCHECK(web_contents()); |
|
Ilya Sherman
2014/03/18 00:14:27
nit: This seems redundant with calling a method on
Patrick Dubroy
2014/03/28 15:44:22
Well, some have it, some don't. But, I agree that
|
| + content::RenderViewHost* host = web_contents()->GetRenderViewHost(); |
| + host->Send( |
| + new AutofillMsg_AcceptPasswordAutofillSuggestion(host->GetRoutingID(), |
| + username, |
| + password)); |
| +} |
| + |
| bool ContentPasswordManagerDriver::DidLastPageLoadEncounterSSLErrors() { |
| DCHECK(web_contents()); |
| content::NavigationEntry* entry = |
| @@ -75,6 +87,11 @@ PasswordManager* ContentPasswordManagerDriver::GetPasswordManager() { |
| return &password_manager_; |
| } |
| +PasswordAutofillManager* |
| +ContentPasswordManagerDriver::GetPasswordAutofillManager() { |
| + return &password_autofill_manager_; |
| +} |
| + |
| void ContentPasswordManagerDriver::DidNavigateMainFrame( |
| const content::LoadCommittedDetails& details, |
| const content::FrameNavigateParams& params) { |
| @@ -94,6 +111,12 @@ bool ContentPasswordManagerDriver::OnMessageReceived( |
| IPC_MESSAGE_FORWARD(AutofillHostMsg_PasswordFormSubmitted, |
| &password_manager_, |
| PasswordManager::OnPasswordFormSubmitted) |
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_ShowPasswordSuggestions, |
| + &password_autofill_manager_, |
| + PasswordAutofillManager::OnShowPasswordSuggestions) |
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_AddPasswordFormMapping, |
| + &password_autofill_manager_, |
| + PasswordAutofillManager::OnAddPasswordFormMapping) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |