| 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 d50902ec6c83f497fd86330fd241741ae53bfb1c..ae1d7bdfa080f684d0479f21f1537f69412f363e 100644
|
| --- a/chrome/browser/policy/cloud/user_policy_signin_service_base.cc
|
| +++ b/chrome/browser/policy/cloud/user_policy_signin_service_base.cc
|
| @@ -133,6 +133,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();
|
|
|