| Index: chrome/browser/policy/cloud/user_policy_signin_service_base.cc
|
| diff --git a/chrome/browser/policy/cloud/user_policy_signin_service_base.cc b/chrome/browser/policy/cloud/user_policy_signin_service_base.cc
|
| index 2b78d89f5402e68c37ebad4aa59f9a477725fdda..7f832ca03c44f2de6b090f4c03961774fca5ef4d 100644
|
| --- a/chrome/browser/policy/cloud/user_policy_signin_service_base.cc
|
| +++ b/chrome/browser/policy/cloud/user_policy_signin_service_base.cc
|
| @@ -129,6 +129,10 @@ void UserPolicySigninServiceBase::OnClientError(CloudPolicyClient* client) {
|
| }
|
|
|
| void UserPolicySigninServiceBase::Shutdown() {
|
| + PrepareForUserCloudPolicyManagerShutdown();
|
| +}
|
| +
|
| +void UserPolicySigninServiceBase::PrepareForUserCloudPolicyManagerShutdown() {
|
| UserCloudPolicyManager* manager = GetManager();
|
| if (manager && manager->core()->client())
|
| manager->core()->client()->RemoveObserver(this);
|
| @@ -230,7 +234,7 @@ void UserPolicySigninServiceBase::InitializeUserCloudPolicyManager(
|
| }
|
|
|
| void UserPolicySigninServiceBase::ShutdownUserCloudPolicyManager() {
|
| - Shutdown();
|
| + PrepareForUserCloudPolicyManagerShutdown();
|
| UserCloudPolicyManager* manager = GetManager();
|
| if (manager)
|
| manager->DisconnectAndRemovePolicy();
|
|
|