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 f6d486216d9c5464b268b2a0a6da61b47598e9d1..f3dce2a40b6afcd3070593a46df1751ba3259a2c 100644 |
--- a/chrome/browser/chromeos/login/user_manager_impl.cc |
+++ b/chrome/browser/chromeos/login/user_manager_impl.cc |
@@ -36,6 +36,8 @@ |
#include "chrome/browser/chromeos/login/login_display.h" |
#include "chrome/browser/chromeos/login/login_utils.h" |
#include "chrome/browser/chromeos/login/multi_profile_user_controller.h" |
+#include "chrome/browser/chromeos/login/owner_key_reloader_service.h" |
+#include "chrome/browser/chromeos/login/owner_key_reloader_service_factory.h" |
#include "chrome/browser/chromeos/login/remove_user_delegate.h" |
#include "chrome/browser/chromeos/login/supervised_user_manager_impl.h" |
#include "chrome/browser/chromeos/login/user_image_manager_impl.h" |
@@ -979,6 +981,14 @@ void UserManagerImpl::Observe(int type, |
pending_user_switch_)); |
pending_user_switch_.clear(); |
} |
+ if (profile && !ProfileHelper::IsSigninProfile(profile) && |
Mattias Nissler (ping if slow)
2014/05/14 12:18:10
Why isn't this just handled by the factory or ctor
ygorshenin1
2014/05/14 15:30:07
Done.
|
+ !profile->IsGuestSession()) { |
+ OwnerKeyReloaderService* reloader = |
+ OwnerKeyReloaderServiceFactory::GetInstance()->GetForProfile( |
+ profile); |
+ if (reloader) |
+ reloader->ReloadOwnerKey(); |
+ } |
break; |
} |
default: |
@@ -1563,9 +1573,8 @@ void UserManagerImpl::NotifyOnLogin() { |
// Owner must be first user in session. DeviceSettingsService can't deal with |
// multiple user and will mix up ownership, crbug.com/230018. |
if (GetLoggedInUsers().size() == 1) { |
- // Indicate to DeviceSettingsService that the owner key may have become |
- // available. |
- DeviceSettingsService::Get()->SetUsername(active_user_->email()); |
+ // Try to load owner key for the active user. |
+ OwnerKeyReloaderService::SetUsername(active_user_->email()); |
if (NetworkPortalDetector::IsInitialized()) { |
NetworkPortalDetector::Get()->SetStrategy( |