Chromium Code Reviews| Index: chrome/browser/chromeos/login/supervised_user_manager_impl.cc |
| diff --git a/chrome/browser/chromeos/login/supervised_user_manager_impl.cc b/chrome/browser/chromeos/login/supervised_user_manager_impl.cc |
| index b4f84856f9d725ab8b2cfababa4098947cdc0ef9..4d35f0673622d572138949ef9a489ab42dea1a4f 100644 |
| --- a/chrome/browser/chromeos/login/supervised_user_manager_impl.cc |
| +++ b/chrome/browser/chromeos/login/supervised_user_manager_impl.cc |
| @@ -263,6 +263,7 @@ void SupervisedUserManagerImpl::RollbackUserCreationTransaction() { |
| if (user_id.empty()) { |
| // Not much to do - just remove transaction. |
| prefs->ClearPref(kLocallyManagedUserCreationTransactionDisplayName); |
| + prefs->CommitPendingWrite(); |
| return; |
| } |
| @@ -272,10 +273,10 @@ void SupervisedUserManagerImpl::RollbackUserCreationTransaction() { |
| << user_id << ", will not remove data"; |
| prefs->ClearPref(kLocallyManagedUserCreationTransactionDisplayName); |
| prefs->ClearPref(kLocallyManagedUserCreationTransactionUserId); |
| + prefs->CommitPendingWrite(); |
| return; |
| } |
| - |
| - owner_->RemoveUser(user_id, NULL); |
| + owner_->RemoveNonOwnerUserInternal(user_id, NULL); |
|
Nikita (slow)
2013/11/13 01:37:19
What was the issue with using just RemoveUser?
Denis Kuznetsov (DE-MUC)
2013/11/14 01:18:17
Yes, it tried to get a User* at some point, and as
|
| prefs->ClearPref(kLocallyManagedUserCreationTransactionDisplayName); |
| prefs->ClearPref(kLocallyManagedUserCreationTransactionUserId); |
| @@ -288,6 +289,9 @@ void SupervisedUserManagerImpl::RemoveNonCryptohomeData( |
| ListPrefUpdate prefs_new_users_update(prefs, kLocallyManagedUsersFirstRun); |
| prefs_new_users_update->Remove(base::StringValue(user_id), NULL); |
| + DictionaryPrefUpdate synd_id_update(prefs, kManagedUserSyncId); |
| + synd_id_update->RemoveWithoutPathExpansion(user_id, NULL); |
| + |
| DictionaryPrefUpdate managers_update(prefs, kManagedUserManagers); |
| managers_update->RemoveWithoutPathExpansion(user_id, NULL); |