Chromium Code Reviews| Index: chrome/browser/password_manager/password_generation_manager.cc |
| diff --git a/chrome/browser/password_manager/password_generation_manager.cc b/chrome/browser/password_manager/password_generation_manager.cc |
| index d808b2fdbc40a27b338ec64ffaf1ee5de95cbb54..4a46a722a69641cd54ecfe436523d931a3e4ccbd 100644 |
| --- a/chrome/browser/password_manager/password_generation_manager.cc |
| +++ b/chrome/browser/password_manager/password_generation_manager.cc |
| @@ -5,6 +5,8 @@ |
| #include "chrome/browser/password_manager/password_generation_manager.h" |
| #include "chrome/browser/password_manager/password_manager.h" |
| +#include "chrome/browser/password_manager/password_manager_delegate.h" |
| +#include "chrome/browser/password_manager/password_manager_driver.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/sync/profile_sync_service.h" |
| #include "chrome/browser/sync/profile_sync_service_factory.h" |
| @@ -26,12 +28,13 @@ |
| #include "ipc/ipc_message_macros.h" |
| #include "ui/gfx/rect.h" |
| -DEFINE_WEB_CONTENTS_USER_DATA_KEY(PasswordGenerationManager); |
| - |
| PasswordGenerationManager::PasswordGenerationManager( |
| - content::WebContents* contents) |
| + content::WebContents* contents, |
| + PasswordManagerDelegate* delegate) |
| : content::WebContentsObserver(contents), |
| - observer_(NULL) {} |
| + observer_(NULL), |
| + delegate_(delegate), |
| + driver_(delegate->GetDriver()) {} |
| PasswordGenerationManager::~PasswordGenerationManager() {} |
| @@ -86,7 +89,7 @@ bool PasswordGenerationManager::IsGenerationEnabled() const { |
| Profile* profile = Profile::FromBrowserContext( |
| web_contents()->GetBrowserContext()); |
| - if (!PasswordManager::FromWebContents(web_contents())->IsSavingEnabled()) { |
| + if (!driver_->GetPasswordManager()->IsSavingEnabled()) { |
| DVLOG(2) << "Generation disabled because password saving is disabled"; |
| return false; |
| } |
| @@ -125,6 +128,8 @@ void PasswordGenerationManager::OnShowPasswordGenerationPopup( |
| const gfx::RectF& bounds, |
| int max_length, |
| const autofill::PasswordForm& form) { |
| +// TODO(blundell): Should this short-circuit out if web_contents() is NULL? |
|
Garrett Casto
2014/02/04 12:53:36
Won't web_contents_ always be valid if this object
blundell
2014/02/04 13:16:18
There is a period of time for WCO's when web_conte
|
| + |
| // TODO(gcasto): Validate data in PasswordForm. |
| // Only implemented for Aura right now. |
| @@ -140,7 +145,7 @@ void PasswordGenerationManager::OnShowPasswordGenerationPopup( |
| element_bounds_in_screen_space, |
| form, |
| password_generator_.get(), |
| - PasswordManager::FromWebContents(web_contents()), |
| + driver_->GetPasswordManager(), |
| observer_, |
| web_contents(), |
| web_contents()->GetView()->GetNativeView()); |