OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/supervised_user/supervised_user_sync_service.h" | 5 #include "chrome/browser/supervised_user/supervised_user_sync_service.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/prefs/scoped_user_pref_update.h" | 9 #include "base/prefs/scoped_user_pref_update.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
11 #include "base/strings/stringprintf.h" | 11 #include "base/strings/stringprintf.h" |
12 #include "base/values.h" | 12 #include "base/values.h" |
13 #include "chrome/browser/profiles/profile_avatar_icon_util.h" | 13 #include "chrome/browser/profiles/profile_avatar_icon_util.h" |
14 #include "chrome/common/pref_names.h" | 14 #include "chrome/common/pref_names.h" |
15 #include "components/pref_registry/pref_registry_syncable.h" | 15 #include "components/pref_registry/pref_registry_syncable.h" |
16 #include "sync/api/sync_change.h" | 16 #include "sync/api/sync_change.h" |
17 #include "sync/api/sync_data.h" | 17 #include "sync/api/sync_data.h" |
18 #include "sync/api/sync_error.h" | 18 #include "sync/api/sync_error.h" |
19 #include "sync/api/sync_error_factory.h" | 19 #include "sync/api/sync_error_factory.h" |
20 #include "sync/api/sync_merge_result.h" | 20 #include "sync/api/sync_merge_result.h" |
21 #include "sync/protocol/sync.pb.h" | 21 #include "sync/protocol/sync.pb.h" |
22 | 22 |
23 #if defined(OS_CHROMEOS) | 23 #if defined(OS_CHROMEOS) |
24 #include "components/user_manager/user_image/default_user_images.h" | 24 #include "chrome/browser/chromeos/login/users/avatar/default_user_images.h" |
25 #endif | 25 #endif |
26 | 26 |
27 using base::DictionaryValue; | 27 using base::DictionaryValue; |
28 using user_prefs::PrefRegistrySyncable; | 28 using user_prefs::PrefRegistrySyncable; |
29 using syncer::SUPERVISED_USERS; | 29 using syncer::SUPERVISED_USERS; |
30 using syncer::ModelType; | 30 using syncer::ModelType; |
31 using syncer::SyncChange; | 31 using syncer::SyncChange; |
32 using syncer::SyncChangeList; | 32 using syncer::SyncChangeList; |
33 using syncer::SyncChangeProcessor; | 33 using syncer::SyncChangeProcessor; |
34 using syncer::SyncData; | 34 using syncer::SyncData; |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 return false; | 159 return false; |
160 } | 160 } |
161 | 161 |
162 if (!base::StringToInt(avatar_str.substr(prefix_len), avatar_index)) | 162 if (!base::StringToInt(avatar_str.substr(prefix_len), avatar_index)) |
163 return false; | 163 return false; |
164 | 164 |
165 const int kChromeOSDummyAvatarIndex = -111; | 165 const int kChromeOSDummyAvatarIndex = -111; |
166 | 166 |
167 #if defined(OS_CHROMEOS) | 167 #if defined(OS_CHROMEOS) |
168 return (*avatar_index == kChromeOSDummyAvatarIndex || | 168 return (*avatar_index == kChromeOSDummyAvatarIndex || |
169 (*avatar_index >= user_manager::kFirstDefaultImageIndex && | 169 (*avatar_index >= chromeos::kFirstDefaultImageIndex && |
170 *avatar_index < user_manager::kDefaultImagesCount)); | 170 *avatar_index < chromeos::kDefaultImagesCount)); |
171 #else | 171 #else |
172 // Check if the Chrome avatar index is set to a dummy value. Some early | 172 // Check if the Chrome avatar index is set to a dummy value. Some early |
173 // supervised user profiles on ChromeOS stored a dummy avatar index as a | 173 // supervised user profiles on ChromeOS stored a dummy avatar index as a |
174 // Chrome Avatar before there was logic to sync the ChromeOS avatar | 174 // Chrome Avatar before there was logic to sync the ChromeOS avatar |
175 // separately. Handle this as if the Chrome Avatar was not chosen yet (which | 175 // separately. Handle this as if the Chrome Avatar was not chosen yet (which |
176 // is correct for these profiles). | 176 // is correct for these profiles). |
177 if (*avatar_index == kChromeOSDummyAvatarIndex) | 177 if (*avatar_index == kChromeOSDummyAvatarIndex) |
178 *avatar_index = kNoAvatar; | 178 *avatar_index = kNoAvatar; |
179 return (*avatar_index == kNoAvatar || | 179 return (*avatar_index == kNoAvatar || |
180 (*avatar_index >= 0 && | 180 (*avatar_index >= 0 && |
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
568 | 568 |
569 void SupervisedUserSyncService::DispatchCallbacks() { | 569 void SupervisedUserSyncService::DispatchCallbacks() { |
570 const base::DictionaryValue* supervised_users = | 570 const base::DictionaryValue* supervised_users = |
571 prefs_->GetDictionary(prefs::kSupervisedUsers); | 571 prefs_->GetDictionary(prefs::kSupervisedUsers); |
572 for (std::vector<SupervisedUsersCallback>::iterator it = callbacks_.begin(); | 572 for (std::vector<SupervisedUsersCallback>::iterator it = callbacks_.begin(); |
573 it != callbacks_.end(); ++it) { | 573 it != callbacks_.end(); ++it) { |
574 it->Run(supervised_users); | 574 it->Run(supervised_users); |
575 } | 575 } |
576 callbacks_.clear(); | 576 callbacks_.clear(); |
577 } | 577 } |
OLD | NEW |