| Index: chrome/browser/chromeos/login/user_manager_impl.cc
|
| diff --git a/chrome/browser/chromeos/login/user_manager_impl.cc b/chrome/browser/chromeos/login/user_manager_impl.cc
|
| index e01a251020084fd6f776e8d15a7acac948ab62e0..bf4097acd75fbb8b31ee905d4fc65a0c399fdef4 100644
|
| --- a/chrome/browser/chromeos/login/user_manager_impl.cc
|
| +++ b/chrome/browser/chromeos/login/user_manager_impl.cc
|
| @@ -235,10 +235,14 @@ UserManagerImpl::UserManagerImpl()
|
| registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED,
|
| content::NotificationService::AllSources());
|
| RetrieveTrustedDevicePolicies();
|
| - cros_settings_->AddSettingsObserver(kAccountsPrefDeviceLocalAccounts,
|
| - this);
|
| - cros_settings_->AddSettingsObserver(kAccountsPrefSupervisedUsersEnabled,
|
| - this);
|
| + local_accounts_subscription_ = cros_settings_->AddSettingsObserver(
|
| + kAccountsPrefDeviceLocalAccounts,
|
| + base::Bind(&UserManagerImpl::RetrieveTrustedDevicePolicies,
|
| + base::Unretained(this)));
|
| + supervised_users_subscription_ = cros_settings_->AddSettingsObserver(
|
| + kAccountsPrefSupervisedUsersEnabled,
|
| + base::Bind(&UserManagerImpl::RetrieveTrustedDevicePolicies,
|
| + base::Unretained(this)));
|
| UpdateLoginState();
|
| }
|
|
|
| @@ -259,11 +263,8 @@ UserManagerImpl::~UserManagerImpl() {
|
|
|
| void UserManagerImpl::Shutdown() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| - cros_settings_->RemoveSettingsObserver(kAccountsPrefDeviceLocalAccounts,
|
| - this);
|
| - cros_settings_->RemoveSettingsObserver(
|
| - kAccountsPrefSupervisedUsersEnabled,
|
| - this);
|
| + local_accounts_subscription_.reset();
|
| + supervised_users_subscription_.reset();
|
| // Stop the session length limiter.
|
| session_length_limiter_.reset();
|
|
|
| @@ -776,14 +777,6 @@ void UserManagerImpl::Observe(int type,
|
| }
|
| }
|
| break;
|
| - case chrome::NOTIFICATION_SYSTEM_SETTING_CHANGED: {
|
| - std::string changed_setting =
|
| - *content::Details<const std::string>(details).ptr();
|
| - DCHECK(changed_setting == kAccountsPrefDeviceLocalAccounts ||
|
| - changed_setting == kAccountsPrefSupervisedUsersEnabled);
|
| - RetrieveTrustedDevicePolicies();
|
| - break;
|
| - }
|
| default:
|
| NOTREACHED();
|
| }
|
|
|