| Index: ios/chrome/browser/passwords/password_controller.mm
|
| diff --git a/ios/chrome/browser/passwords/password_controller.mm b/ios/chrome/browser/passwords/password_controller.mm
|
| index b62751e6912dc48185e64ceef3f0e003e9b49350..7c252ae05261eb1a889dbcfcd05a7415c5997908 100644
|
| --- a/ios/chrome/browser/passwords/password_controller.mm
|
| +++ b/ios/chrome/browser/passwords/password_controller.mm
|
| @@ -39,7 +39,6 @@
|
| #include "ios/web/public/url_scheme_util.h"
|
| #import "ios/web/public/web_state/js/crw_js_injection_receiver.h"
|
| #import "ios/web/public/web_state/web_state.h"
|
| -#import "ios/web/public/web_state/web_state_observer_bridge.h"
|
| #include "url/gurl.h"
|
|
|
| using password_manager::PasswordFormManager;
|
| @@ -48,7 +47,7 @@ using password_manager::PasswordManager;
|
| using password_manager::PasswordManagerClient;
|
| using password_manager::PasswordManagerDriver;
|
|
|
| -@interface PasswordController ()<CRWWebStateObserver, FormSuggestionProvider>
|
| +@interface PasswordController ()<FormSuggestionProvider>
|
|
|
| // Parses the |jsonString| which contatins the password forms found on a web
|
| // page to populate the |forms| vector.
|
| @@ -244,12 +243,25 @@ bool GetPageURLAndCheckTrustLevel(web::WebState* web_state, GURL* page_url) {
|
|
|
| - (instancetype)initWithWebState:(web::WebState*)webState
|
| passwordsUiDelegate:(id<PasswordsUiDelegate>)UIDelegate {
|
| + self = [self initWithWebState:webState
|
| + passwordsUiDelegate:UIDelegate
|
| + client:nullptr];
|
| + return self;
|
| +}
|
| +
|
| +- (instancetype)initWithWebState:(web::WebState*)webState
|
| + passwordsUiDelegate:(id<PasswordsUiDelegate>)UIDelegate
|
| + client:(scoped_ptr<PasswordManagerClient>)
|
| + passwordManagerClient {
|
| DCHECK(webState);
|
| self = [super init];
|
| if (self) {
|
| webStateObserverBridge_.reset(
|
| new web::WebStateObserverBridge(webState, self));
|
| - passwordManagerClient_.reset(new IOSChromePasswordManagerClient(self));
|
| + if (passwordManagerClient)
|
| + passwordManagerClient_ = std::move(passwordManagerClient);
|
| + else
|
| + passwordManagerClient_.reset(new IOSChromePasswordManagerClient(self));
|
| passwordManager_.reset(new PasswordManager(passwordManagerClient_.get()));
|
| passwordManagerDriver_.reset(new IOSChromePasswordManagerDriver(self));
|
| if (experimental_flags::IsPasswordGenerationEnabled() &&
|
|
|