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/ui/webui/options/supervised_user_import_handler.h" | 5 #include "chrome/browser/ui/webui/options/supervised_user_import_handler.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
11 #include "base/values.h" | 11 #include "base/values.h" |
12 #include "chrome/browser/browser_process.h" | 12 #include "chrome/browser/browser_process.h" |
13 #include "chrome/browser/profiles/profile.h" | 13 #include "chrome/browser/profiles/profile.h" |
14 #include "chrome/browser/profiles/profile_avatar_icon_util.h" | 14 #include "chrome/browser/profiles/profile_avatar_icon_util.h" |
15 #include "chrome/browser/profiles/profile_info_cache.h" | 15 #include "chrome/browser/profiles/profile_info_cache.h" |
16 #include "chrome/browser/profiles/profile_manager.h" | 16 #include "chrome/browser/profiles/profile_manager.h" |
17 #include "chrome/browser/signin/signin_error_controller_factory.h" | 17 #include "chrome/browser/signin/signin_error_controller_factory.h" |
18 #include "chrome/browser/signin/signin_manager_factory.h" | 18 #include "chrome/browser/signin/signin_manager_factory.h" |
19 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service.h" | 19 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service.h" |
20 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service_factory.h" | 20 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service_factory.h" |
21 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service.h" | 21 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service.h" |
22 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service_fac
tory.h" | 22 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service_fac
tory.h" |
23 #include "chrome/browser/supervised_user/supervised_user_constants.h" | 23 #include "chrome/browser/supervised_user/supervised_user_constants.h" |
24 #include "chrome/common/url_constants.h" | 24 #include "chrome/common/url_constants.h" |
25 #include "chrome/grit/generated_resources.h" | 25 #include "chrome/grit/generated_resources.h" |
26 #include "components/signin/core/browser/signin_error_controller.h" | 26 #include "components/signin/core/browser/signin_error_controller.h" |
27 #include "components/signin/core/browser/signin_manager.h" | 27 #include "components/signin/core/browser/signin_manager.h" |
| 28 #include "components/user_manager/user_id.h" |
28 #include "content/public/browser/web_ui.h" | 29 #include "content/public/browser/web_ui.h" |
29 #include "grit/theme_resources.h" | 30 #include "grit/theme_resources.h" |
30 | 31 |
31 namespace { | 32 namespace { |
32 | 33 |
33 scoped_ptr<base::ListValue> GetAvatarIcons() { | 34 scoped_ptr<base::ListValue> GetAvatarIcons() { |
34 scoped_ptr<base::ListValue> avatar_icons(new base::ListValue); | 35 scoped_ptr<base::ListValue> avatar_icons(new base::ListValue); |
35 for (size_t i = 0; i < profiles::GetDefaultAvatarIconCount(); ++i) { | 36 for (size_t i = 0; i < profiles::GetDefaultAvatarIconCount(); ++i) { |
36 std::string avatar_url = profiles::GetDefaultAvatarIconUrl(i); | 37 std::string avatar_url = profiles::GetDefaultAvatarIconUrl(i); |
37 avatar_icons->Append(new base::StringValue(avatar_url)); | 38 avatar_icons->Append(new base::StringValue(avatar_url)); |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 } | 179 } |
179 } | 180 } |
180 | 181 |
181 void SupervisedUserImportHandler::SendExistingSupervisedUsers( | 182 void SupervisedUserImportHandler::SendExistingSupervisedUsers( |
182 const base::DictionaryValue* dict) { | 183 const base::DictionaryValue* dict) { |
183 DCHECK(dict); | 184 DCHECK(dict); |
184 const ProfileInfoCache& cache = | 185 const ProfileInfoCache& cache = |
185 g_browser_process->profile_manager()->GetProfileInfoCache(); | 186 g_browser_process->profile_manager()->GetProfileInfoCache(); |
186 | 187 |
187 // Collect the ids of local supervised user profiles. | 188 // Collect the ids of local supervised user profiles. |
188 std::set<std::string> supervised_user_ids; | 189 std::set<user_manager::UserID> supervised_user_ids; |
189 for (size_t i = 0; i < cache.GetNumberOfProfiles(); ++i) { | 190 for (size_t i = 0; i < cache.GetNumberOfProfiles(); ++i) { |
190 if (cache.ProfileIsLegacySupervisedAtIndex(i)) | 191 if (cache.ProfileIsLegacySupervisedAtIndex(i)) |
191 supervised_user_ids.insert(cache.GetSupervisedUserIdOfProfileAtIndex(i)); | 192 supervised_user_ids.insert(cache.GetSupervisedUserIdOfProfileAtIndex(i)); |
192 } | 193 } |
193 | 194 |
194 base::ListValue supervised_users; | 195 base::ListValue supervised_users; |
195 Profile* profile = Profile::FromWebUI(web_ui()); | 196 Profile* profile = Profile::FromWebUI(web_ui()); |
196 SupervisedUserSharedSettingsService* service = | 197 SupervisedUserSharedSettingsService* service = |
197 SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext(profile); | 198 SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext(profile); |
198 for (base::DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) { | 199 for (base::DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) { |
(...skipping 26 matching lines...) Expand all Loading... |
225 | 226 |
226 std::string supervised_user_icon = | 227 std::string supervised_user_icon = |
227 std::string(chrome::kChromeUIThemeURL) + | 228 std::string(chrome::kChromeUIThemeURL) + |
228 "IDR_SUPERVISED_USER_PLACEHOLDER"; | 229 "IDR_SUPERVISED_USER_PLACEHOLDER"; |
229 std::string avatar_url = | 230 std::string avatar_url = |
230 avatar_index == SupervisedUserSyncService::kNoAvatar ? | 231 avatar_index == SupervisedUserSyncService::kNoAvatar ? |
231 supervised_user_icon : | 232 supervised_user_icon : |
232 profiles::GetDefaultAvatarIconUrl(avatar_index); | 233 profiles::GetDefaultAvatarIconUrl(avatar_index); |
233 supervised_user->SetString("iconURL", avatar_url); | 234 supervised_user->SetString("iconURL", avatar_url); |
234 bool on_current_device = | 235 bool on_current_device = |
235 supervised_user_ids.find(it.key()) != supervised_user_ids.end(); | 236 supervised_user_ids.find(user_manager::UserID::FromUserEmail(it.key()))
!= supervised_user_ids.end(); |
236 supervised_user->SetBoolean("onCurrentDevice", on_current_device); | 237 supervised_user->SetBoolean("onCurrentDevice", on_current_device); |
237 | 238 |
238 supervised_users.Append(supervised_user); | 239 supervised_users.Append(supervised_user); |
239 } | 240 } |
240 | 241 |
241 web_ui()->CallJavascriptFunction( | 242 web_ui()->CallJavascriptFunction( |
242 "options.SupervisedUserListData.receiveExistingSupervisedUsers", | 243 "options.SupervisedUserListData.receiveExistingSupervisedUsers", |
243 supervised_users); | 244 supervised_users); |
244 } | 245 } |
245 | 246 |
(...skipping 29 matching lines...) Expand all Loading... |
275 const std::string& key) { | 276 const std::string& key) { |
276 if (key == supervised_users::kChromeAvatarIndex) | 277 if (key == supervised_users::kChromeAvatarIndex) |
277 FetchSupervisedUsers(); | 278 FetchSupervisedUsers(); |
278 } | 279 } |
279 | 280 |
280 void SupervisedUserImportHandler::OnErrorChanged() { | 281 void SupervisedUserImportHandler::OnErrorChanged() { |
281 FetchSupervisedUsers(); | 282 FetchSupervisedUsers(); |
282 } | 283 } |
283 | 284 |
284 } // namespace options | 285 } // namespace options |
OLD | NEW |