| 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 |