Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Unified Diff: chrome/browser/managed_mode/managed_user_registration_utility.cc

Issue 147083016: Add avatar syncing for supervised users. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add unit tests. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698