Chromium Code Reviews| Index: chrome/browser/password_manager/chrome_password_manager_client.cc |
| diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc |
| index d20d5ac70df05459676438bd923de050dcabe119..1040a8f1817b98f7e57db4139fada18eb55f5bfa 100644 |
| --- a/chrome/browser/password_manager/chrome_password_manager_client.cc |
| +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc |
| @@ -28,7 +28,6 @@ |
| #include "chrome/common/url_constants.h" |
| #include "components/autofill/content/browser/content_autofill_driver.h" |
| #include "components/autofill/content/browser/content_autofill_driver_factory.h" |
| -#include "components/autofill/content/common/autofill_messages.h" |
| #include "components/autofill/core/browser/password_generator.h" |
| #include "components/autofill/core/common/password_form.h" |
| #include "components/browser_sync/profile_sync_service.h" |
| @@ -142,6 +141,7 @@ ChromePasswordManagerClient::ChromePasswordManagerClient( |
| password_manager_(this), |
| driver_factory_(nullptr), |
| credential_manager_impl_(web_contents, this), |
| + password_manager_client_bindings_(web_contents, this), |
|
Ken Rockot(use gerrit already)
2016/09/20 18:26:19
Looks like you're hitting DCHECKs on construction
leonhsl(Using Gerrit)
2016/09/21 11:46:57
Yeah this is because another mock ChromePasswordMa
|
| observer_(nullptr), |
| credentials_filter_(this, |
| base::Bind(&GetSyncService, profile_), |
| @@ -460,31 +460,6 @@ void ChromePasswordManagerClient::SetTestObserver( |
| observer_ = observer; |
| } |
| -bool ChromePasswordManagerClient::OnMessageReceived( |
| - const IPC::Message& message, |
| - content::RenderFrameHost* render_frame_host) { |
| - bool handled = true; |
| - IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(ChromePasswordManagerClient, message, |
| - render_frame_host) |
| - // Autofill messages: |
| - IPC_MESSAGE_HANDLER(AutofillHostMsg_ShowPasswordGenerationPopup, |
| - ShowPasswordGenerationPopup) |
| - IPC_MESSAGE_HANDLER(AutofillHostMsg_ShowPasswordEditingPopup, |
| - ShowPasswordEditingPopup) |
| - IPC_END_MESSAGE_MAP() |
| - |
| - IPC_BEGIN_MESSAGE_MAP(ChromePasswordManagerClient, message) |
| - IPC_MESSAGE_HANDLER(AutofillHostMsg_HidePasswordGenerationPopup, |
| - HidePasswordGenerationPopup) |
| - IPC_MESSAGE_HANDLER(AutofillHostMsg_GenerationAvailableForForm, |
| - GenerationAvailableForForm) |
| - // Default: |
| - IPC_MESSAGE_UNHANDLED(handled = false) |
| - IPC_END_MESSAGE_MAP() |
| - |
| - return handled; |
| -} |
| - |
| void ChromePasswordManagerClient::DidStartNavigation( |
| content::NavigationHandle* navigation_handle) { |
| // Logging has no sense on WebUI sites. |
| @@ -498,7 +473,6 @@ gfx::RectF ChromePasswordManagerClient::GetBoundsInScreenSpace( |
| } |
| void ChromePasswordManagerClient::ShowPasswordGenerationPopup( |
| - content::RenderFrameHost* render_frame_host, |
| const gfx::RectF& bounds, |
| int max_length, |
| const base::string16& generation_element, |
| @@ -506,7 +480,8 @@ void ChromePasswordManagerClient::ShowPasswordGenerationPopup( |
| const autofill::PasswordForm& form) { |
| // TODO(gcasto): Validate data in PasswordForm. |
| - auto* driver = driver_factory_->GetDriverForFrame(render_frame_host); |
| + auto* driver = driver_factory_->GetDriverForFrame( |
| + password_manager_client_bindings_.GetCurrentTargetFrame()); |
| password_manager_.SetGenerationElementAndReasonForForm( |
| driver, form, generation_element, is_manually_triggered); |
| gfx::RectF element_bounds_in_screen_space = GetBoundsInScreenSpace(bounds); |
| @@ -520,7 +495,6 @@ void ChromePasswordManagerClient::ShowPasswordGenerationPopup( |
| } |
| void ChromePasswordManagerClient::ShowPasswordEditingPopup( |
| - content::RenderFrameHost* render_frame_host, |
| const gfx::RectF& bounds, |
| const autofill::PasswordForm& form) { |
| gfx::RectF element_bounds_in_screen_space = GetBoundsInScreenSpace(bounds); |
| @@ -529,8 +503,9 @@ void ChromePasswordManagerClient::ShowPasswordEditingPopup( |
| popup_controller_, element_bounds_in_screen_space, form, |
| 0, // Unspecified max length. |
| &password_manager_, |
| - driver_factory_->GetDriverForFrame(render_frame_host), observer_, |
| - web_contents(), web_contents()->GetNativeView()); |
| + driver_factory_->GetDriverForFrame( |
| + password_manager_client_bindings_.GetCurrentTargetFrame()), |
| + observer_, web_contents(), web_contents()->GetNativeView()); |
| popup_controller_->Show(false /* display_password */); |
| } |