| Index: chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc
|
| diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc
|
| index c37eadbea93e4c891abcf61832acb311ca254ad5..d22b7e1a370d5f4a63a9642463759aeff4028225 100644
|
| --- a/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc
|
| +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc
|
| @@ -48,8 +48,10 @@ void PasswordsPrivateEventRouter::Shutdown() {
|
| event_router_->UnregisterObserver(this);
|
|
|
| PasswordsPrivateDelegate* delegate =
|
| - PasswordsPrivateDelegateFactory::GetForBrowserContext(context_);
|
| - delegate->RemoveObserver(this);
|
| + PasswordsPrivateDelegateFactory::GetForBrowserContext(context_,
|
| + false /* create */);
|
| + if (delegate)
|
| + delegate->RemoveObserver(this);
|
| }
|
|
|
| void PasswordsPrivateEventRouter::OnListenerAdded(
|
| @@ -141,7 +143,8 @@ void PasswordsPrivateEventRouter::StartOrStopListeningForChanges() {
|
| should_listen_for_plaintext_password_retrieval;
|
|
|
| PasswordsPrivateDelegate* delegate =
|
| - PasswordsPrivateDelegateFactory::GetForBrowserContext(context_);
|
| + PasswordsPrivateDelegateFactory::GetForBrowserContext(context_,
|
| + true /* create */);
|
| if (should_listen && !listening_)
|
| delegate->AddObserver(this);
|
| else if (!should_listen && listening_)
|
|
|