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/chromeos/login/users/supervised_user_manager_impl.h" | 5 #include "chrome/browser/chromeos/login/users/supervised_user_manager_impl.h" |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 ListPrefUpdate prefs_new_users_update(local_state, | 201 ListPrefUpdate prefs_new_users_update(local_state, |
202 kSupervisedUsersFirstRun); | 202 kSupervisedUsersFirstRun); |
203 DictionaryPrefUpdate sync_id_update(local_state, kSupervisedUserSyncId); | 203 DictionaryPrefUpdate sync_id_update(local_state, kSupervisedUserSyncId); |
204 DictionaryPrefUpdate manager_update(local_state, kSupervisedUserManagers); | 204 DictionaryPrefUpdate manager_update(local_state, kSupervisedUserManagers); |
205 DictionaryPrefUpdate manager_name_update(local_state, | 205 DictionaryPrefUpdate manager_name_update(local_state, |
206 kSupervisedUserManagerNames); | 206 kSupervisedUserManagerNames); |
207 DictionaryPrefUpdate manager_email_update( | 207 DictionaryPrefUpdate manager_email_update( |
208 local_state, | 208 local_state, |
209 kSupervisedUserManagerDisplayEmails); | 209 kSupervisedUserManagerDisplayEmails); |
210 | 210 |
211 prefs_new_users_update->Insert( | 211 prefs_new_users_update->Insert(0, |
212 0, base::MakeUnique<base::StringValue>(local_user_id)); | 212 base::MakeUnique<base::Value>(local_user_id)); |
213 | 213 |
214 sync_id_update->SetWithoutPathExpansion(local_user_id, | 214 sync_id_update->SetWithoutPathExpansion(local_user_id, |
215 new base::StringValue(sync_user_id)); | 215 new base::Value(sync_user_id)); |
216 manager_update->SetWithoutPathExpansion( | 216 manager_update->SetWithoutPathExpansion( |
217 local_user_id, | 217 local_user_id, new base::Value(manager->GetAccountId().GetUserEmail())); |
218 new base::StringValue(manager->GetAccountId().GetUserEmail())); | 218 manager_name_update->SetWithoutPathExpansion( |
219 manager_name_update->SetWithoutPathExpansion(local_user_id, | 219 local_user_id, new base::Value(manager->GetDisplayName())); |
220 new base::StringValue(manager->GetDisplayName())); | 220 manager_email_update->SetWithoutPathExpansion( |
221 manager_email_update->SetWithoutPathExpansion(local_user_id, | 221 local_user_id, new base::Value(manager->display_email())); |
222 new base::StringValue(manager->display_email())); | |
223 | 222 |
224 owner_->SaveUserDisplayName(AccountId::FromUserEmail(local_user_id), | 223 owner_->SaveUserDisplayName(AccountId::FromUserEmail(local_user_id), |
225 display_name); | 224 display_name); |
226 | 225 |
227 g_browser_process->local_state()->CommitPendingWrite(); | 226 g_browser_process->local_state()->CommitPendingWrite(); |
228 return new_user; | 227 return new_user; |
229 } | 228 } |
230 | 229 |
231 std::string SupervisedUserManagerImpl::GetUserSyncId(const std::string& user_id) | 230 std::string SupervisedUserManagerImpl::GetUserSyncId(const std::string& user_id) |
232 const { | 231 const { |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 | 450 |
452 prefs->ClearPref(kSupervisedUserCreationTransactionDisplayName); | 451 prefs->ClearPref(kSupervisedUserCreationTransactionDisplayName); |
453 prefs->ClearPref(kSupervisedUserCreationTransactionUserId); | 452 prefs->ClearPref(kSupervisedUserCreationTransactionUserId); |
454 prefs->CommitPendingWrite(); | 453 prefs->CommitPendingWrite(); |
455 } | 454 } |
456 | 455 |
457 void SupervisedUserManagerImpl::RemoveNonCryptohomeData( | 456 void SupervisedUserManagerImpl::RemoveNonCryptohomeData( |
458 const std::string& user_id) { | 457 const std::string& user_id) { |
459 PrefService* prefs = g_browser_process->local_state(); | 458 PrefService* prefs = g_browser_process->local_state(); |
460 ListPrefUpdate prefs_new_users_update(prefs, kSupervisedUsersFirstRun); | 459 ListPrefUpdate prefs_new_users_update(prefs, kSupervisedUsersFirstRun); |
461 prefs_new_users_update->Remove(base::StringValue(user_id), NULL); | 460 prefs_new_users_update->Remove(base::Value(user_id), NULL); |
462 | 461 |
463 CleanPref(user_id, kSupervisedUserSyncId); | 462 CleanPref(user_id, kSupervisedUserSyncId); |
464 CleanPref(user_id, kSupervisedUserManagers); | 463 CleanPref(user_id, kSupervisedUserManagers); |
465 CleanPref(user_id, kSupervisedUserManagerNames); | 464 CleanPref(user_id, kSupervisedUserManagerNames); |
466 CleanPref(user_id, kSupervisedUserManagerDisplayEmails); | 465 CleanPref(user_id, kSupervisedUserManagerDisplayEmails); |
467 CleanPref(user_id, kSupervisedUserPasswordSalt); | 466 CleanPref(user_id, kSupervisedUserPasswordSalt); |
468 CleanPref(user_id, kSupervisedUserPasswordSchema); | 467 CleanPref(user_id, kSupervisedUserPasswordSchema); |
469 CleanPref(user_id, kSupervisedUserPasswordRevision); | 468 CleanPref(user_id, kSupervisedUserPasswordRevision); |
470 CleanPref(user_id, kSupervisedUserNeedPasswordUpdate); | 469 CleanPref(user_id, kSupervisedUserNeedPasswordUpdate); |
471 CleanPref(user_id, kSupervisedUserIncompleteKey); | 470 CleanPref(user_id, kSupervisedUserIncompleteKey); |
472 } | 471 } |
473 | 472 |
474 void SupervisedUserManagerImpl::CleanPref(const std::string& user_id, | 473 void SupervisedUserManagerImpl::CleanPref(const std::string& user_id, |
475 const char* key) { | 474 const char* key) { |
476 PrefService* prefs = g_browser_process->local_state(); | 475 PrefService* prefs = g_browser_process->local_state(); |
477 DictionaryPrefUpdate dict_update(prefs, key); | 476 DictionaryPrefUpdate dict_update(prefs, key); |
478 dict_update->RemoveWithoutPathExpansion(user_id, NULL); | 477 dict_update->RemoveWithoutPathExpansion(user_id, NULL); |
479 } | 478 } |
480 | 479 |
481 bool SupervisedUserManagerImpl::CheckForFirstRun(const std::string& user_id) { | 480 bool SupervisedUserManagerImpl::CheckForFirstRun(const std::string& user_id) { |
482 ListPrefUpdate prefs_new_users_update(g_browser_process->local_state(), | 481 ListPrefUpdate prefs_new_users_update(g_browser_process->local_state(), |
483 kSupervisedUsersFirstRun); | 482 kSupervisedUsersFirstRun); |
484 return prefs_new_users_update->Remove(base::StringValue(user_id), NULL); | 483 return prefs_new_users_update->Remove(base::Value(user_id), NULL); |
485 } | 484 } |
486 | 485 |
487 void SupervisedUserManagerImpl::UpdateManagerName(const std::string& manager_id, | 486 void SupervisedUserManagerImpl::UpdateManagerName(const std::string& manager_id, |
488 const base::string16& new_display_name) { | 487 const base::string16& new_display_name) { |
489 PrefService* local_state = g_browser_process->local_state(); | 488 PrefService* local_state = g_browser_process->local_state(); |
490 | 489 |
491 const base::DictionaryValue* manager_ids = | 490 const base::DictionaryValue* manager_ids = |
492 local_state->GetDictionary(kSupervisedUserManagers); | 491 local_state->GetDictionary(kSupervisedUserManagers); |
493 | 492 |
494 DictionaryPrefUpdate manager_name_update(local_state, | 493 DictionaryPrefUpdate manager_name_update(local_state, |
495 kSupervisedUserManagerNames); | 494 kSupervisedUserManagerNames); |
496 for (base::DictionaryValue::Iterator it(*manager_ids); !it.IsAtEnd(); | 495 for (base::DictionaryValue::Iterator it(*manager_ids); !it.IsAtEnd(); |
497 it.Advance()) { | 496 it.Advance()) { |
498 std::string user_id; | 497 std::string user_id; |
499 bool has_manager_id = it.value().GetAsString(&user_id); | 498 bool has_manager_id = it.value().GetAsString(&user_id); |
500 DCHECK(has_manager_id); | 499 DCHECK(has_manager_id); |
501 if (user_id == manager_id) { | 500 if (user_id == manager_id) { |
502 manager_name_update->SetWithoutPathExpansion( | 501 manager_name_update->SetWithoutPathExpansion( |
503 it.key(), | 502 it.key(), new base::Value(new_display_name)); |
504 new base::StringValue(new_display_name)); | |
505 } | 503 } |
506 } | 504 } |
507 } | 505 } |
508 | 506 |
509 SupervisedUserAuthentication* SupervisedUserManagerImpl::GetAuthentication() { | 507 SupervisedUserAuthentication* SupervisedUserManagerImpl::GetAuthentication() { |
510 return authentication_.get(); | 508 return authentication_.get(); |
511 } | 509 } |
512 | 510 |
513 void SupervisedUserManagerImpl::LoadSupervisedUserToken( | 511 void SupervisedUserManagerImpl::LoadSupervisedUserToken( |
514 Profile* profile, | 512 Profile* profile, |
(...skipping 10 matching lines...) Expand all Loading... |
525 } | 523 } |
526 | 524 |
527 void SupervisedUserManagerImpl::ConfigureSyncWithToken( | 525 void SupervisedUserManagerImpl::ConfigureSyncWithToken( |
528 Profile* profile, | 526 Profile* profile, |
529 const std::string& token) { | 527 const std::string& token) { |
530 if (!token.empty()) | 528 if (!token.empty()) |
531 SupervisedUserServiceFactory::GetForProfile(profile)->InitSync(token); | 529 SupervisedUserServiceFactory::GetForProfile(profile)->InitSync(token); |
532 } | 530 } |
533 | 531 |
534 } // namespace chromeos | 532 } // namespace chromeos |
OLD | NEW |