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

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

Issue 100073004: Fix issues with supervised user recreation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add missing imageset statements. Created 7 years 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
« no previous file with comments | « no previous file | chrome/browser/resources/options/browser_options_profile_list.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/managed_mode/managed_user_sync_service.cc
diff --git a/chrome/browser/managed_mode/managed_user_sync_service.cc b/chrome/browser/managed_mode/managed_user_sync_service.cc
index 812a005ca4e3bdef30c45fce90ca8c4712cee532..cdb652d32be94a390c125734a96c360249dee7a6 100644
--- a/chrome/browser/managed_mode/managed_user_sync_service.cc
+++ b/chrome/browser/managed_mode/managed_user_sync_service.cc
@@ -52,8 +52,6 @@ SyncData CreateLocalSyncData(const std::string& id,
specifics.mutable_managed_user()->set_name(name);
if (!chrome_avatar.empty())
specifics.mutable_managed_user()->set_chrome_avatar(chrome_avatar);
- else
- specifics.mutable_managed_user()->clear_chrome_avatar();
if (!chromeos_avatar.empty())
specifics.mutable_managed_user()->set_chromeos_avatar(chromeos_avatar);
if (!master_key.empty())
@@ -115,9 +113,6 @@ void ManagedUserSyncService::RegisterProfilePrefs(
// static
bool ManagedUserSyncService::GetAvatarIndex(const std::string& avatar_str,
int* avatar_index) {
- // TODO(ibraaaa): when chrome OS supports supervised users avatar syncing
- // then update this method to support extracting the avatar index
- // for chrome OS as well.
DCHECK(avatar_index);
if (avatar_str.empty()) {
*avatar_index = kNoAvatar;
@@ -232,18 +227,29 @@ bool ManagedUserSyncService::UpdateManagedUserAvatarIfNeeded(
value->GetString(ManagedUserSyncService::kName, &name);
std::string master_key;
value->GetString(ManagedUserSyncService::kMasterKey, &master_key);
- // TODO(ibraaaa): this should be updated when avatar syncing for
- // supervised users is implemented on Chrome OS.
std::string chromeos_avatar;
value->GetString(ManagedUserSyncService::kChromeOsAvatar, &chromeos_avatar);
std::string chrome_avatar;
value->GetString(ManagedUserSyncService::kChromeAvatar, &chrome_avatar);
+ // The following check is just for safety. We want to avoid that the existing
+ // avatar selection is overwritten. Currently we don't allow the user to
+ // choose a different avatar in the recreation dialog, anyway, if there is
+ // already an avatar selected.
+#if defined(OS_CHROMEOS)
+ if (!chromeos_avatar.empty() && avatar_index != kNoAvatar)
+ return false;
+#else
if (!chrome_avatar.empty() && avatar_index != kNoAvatar)
return false;
+#endif
chrome_avatar = avatar_index == kNoAvatar ?
std::string() : BuildAvatarString(avatar_index);
+#if defined(OS_CHROMEOS)
+ value->SetString(kChromeOsAvatar, chrome_avatar);
+#else
value->SetString(kChromeAvatar, chrome_avatar);
+#endif
if (!sync_processor_)
return true;
« no previous file with comments | « no previous file | chrome/browser/resources/options/browser_options_profile_list.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698