Index: chrome/browser/managed_mode/managed_user_registration_utility.cc |
diff --git a/chrome/browser/managed_mode/managed_user_registration_utility.cc b/chrome/browser/managed_mode/managed_user_registration_utility.cc |
index 65eb659b14b0e27287cc047ee369a92bc339bf23..cf26a62783d6d0f2f96bbaf3240c48009222fe71 100644 |
--- a/chrome/browser/managed_mode/managed_user_registration_utility.cc |
+++ b/chrome/browser/managed_mode/managed_user_registration_utility.cc |
@@ -11,7 +11,10 @@ |
#include "base/prefs/pref_service.h" |
#include "base/rand_util.h" |
#include "base/strings/utf_string_conversions.h" |
+#include "chrome/browser/managed_mode/managed_user_constants.h" |
#include "chrome/browser/managed_mode/managed_user_refresh_token_fetcher.h" |
+#include "chrome/browser/managed_mode/managed_user_shared_settings_service.h" |
+#include "chrome/browser/managed_mode/managed_user_shared_settings_service_factory.h" |
#include "chrome/browser/managed_mode/managed_user_sync_service.h" |
#include "chrome/browser/managed_mode/managed_user_sync_service_factory.h" |
#include "chrome/browser/profiles/profile.h" |
@@ -37,7 +40,8 @@ class ManagedUserRegistrationUtilityImpl |
ManagedUserRegistrationUtilityImpl( |
PrefService* prefs, |
scoped_ptr<ManagedUserRefreshTokenFetcher> token_fetcher, |
- ManagedUserSyncService* service); |
+ ManagedUserSyncService* service, |
+ ManagedUserSharedSettingsService* shared_settings_service); |
virtual ~ManagedUserRegistrationUtilityImpl(); |
@@ -91,6 +95,9 @@ class ManagedUserRegistrationUtilityImpl |
// A |BrowserContextKeyedService| owned by the custodian profile. |
ManagedUserSyncService* managed_user_sync_service_; |
+ // A |BrowserContextKeyedService| owned by the custodian profile. |
+ ManagedUserSharedSettingsService* managed_user_shared_settings_service_; |
+ |
std::string pending_managed_user_id_; |
std::string pending_managed_user_token_; |
bool pending_managed_user_acknowledged_; |
@@ -141,10 +148,13 @@ ManagedUserRegistrationUtility::Create(Profile* profile) { |
profile->GetRequestContext()); |
ManagedUserSyncService* managed_user_sync_service = |
ManagedUserSyncServiceFactory::GetForProfile(profile); |
+ ManagedUserSharedSettingsService* managed_user_shared_settings_service = |
+ ManagedUserSharedSettingsServiceFactory::GetForBrowserContext(profile); |
return make_scoped_ptr(ManagedUserRegistrationUtility::CreateImpl( |
profile->GetPrefs(), |
token_fetcher.Pass(), |
- managed_user_sync_service)); |
+ managed_user_sync_service, |
+ managed_user_shared_settings_service)); |
} |
// static |
@@ -166,10 +176,12 @@ void ManagedUserRegistrationUtility::SetUtilityForTests( |
ManagedUserRegistrationUtility* ManagedUserRegistrationUtility::CreateImpl( |
PrefService* prefs, |
scoped_ptr<ManagedUserRefreshTokenFetcher> token_fetcher, |
- ManagedUserSyncService* service) { |
+ ManagedUserSyncService* service, |
+ ManagedUserSharedSettingsService* shared_settings_service) { |
return new ManagedUserRegistrationUtilityImpl(prefs, |
token_fetcher.Pass(), |
- service); |
+ service, |
+ shared_settings_service); |
} |
namespace { |
@@ -177,10 +189,12 @@ namespace { |
ManagedUserRegistrationUtilityImpl::ManagedUserRegistrationUtilityImpl( |
PrefService* prefs, |
scoped_ptr<ManagedUserRefreshTokenFetcher> token_fetcher, |
- ManagedUserSyncService* service) |
+ ManagedUserSyncService* service, |
+ ManagedUserSharedSettingsService* shared_settings_service) |
: prefs_(prefs), |
token_fetcher_(token_fetcher.Pass()), |
managed_user_sync_service_(service), |
+ managed_user_shared_settings_service_(shared_settings_service), |
pending_managed_user_acknowledged_(false), |
is_existing_managed_user_(false), |
avatar_updated_(false), |
@@ -218,6 +232,14 @@ void ManagedUserRegistrationUtilityImpl::Register( |
// User already exists, don't wait for acknowledgment. |
OnManagedUserAcknowledged(managed_user_id); |
} |
+#if defined(OS_CHROMEOS) |
+ const char* kAvatarKey = managed_users::kChromeOSAvatarIndex; |
+#else |
+ const char* kAvatarKey = managed_users::kChromeAvatarIndex; |
+#endif |
+ managed_user_shared_settings_service_->SetValue( |
+ pending_managed_user_id_, kAvatarKey, |
+ base::FundamentalValue(info.avatar_index)); |
browser_sync::DeviceInfo::GetClientName( |
base::Bind(&ManagedUserRegistrationUtilityImpl::FetchToken, |