Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(945)

Side by Side Diff: components/user_manager/fake_user_manager.cc

Issue 824683002: UserManager stack refactoring. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Split for FakeManager complete. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/fake_user_manager.h" 5 #include "components/user_manager/fake_user_manager.h"
6 6
7 #include "base/callback.h"
7 #include "base/task_runner.h" 8 #include "base/task_runner.h"
8 #include "chrome/browser/chromeos/login/users/fake_supervised_user_manager.h"
9 #include "chrome/browser/chromeos/profiles/profile_helper.h"
10 #include "chrome/grit/theme_resources.h"
11 #include "components/user_manager/user_image/user_image.h"
12 #include "components/user_manager/user_type.h" 9 #include "components/user_manager/user_type.h"
13 #include "ui/base/resource/resource_bundle.h" 10 #include "ui/base/resource/resource_bundle.h"
14 11
15 namespace { 12 namespace {
16 13
17 class FakeTaskRunner : public base::TaskRunner { 14 class FakeTaskRunner : public base::TaskRunner {
18 public: 15 public:
19 bool PostDelayedTask(const tracked_objects::Location& from_here, 16 bool PostDelayedTask(const tracked_objects::Location& from_here,
20 const base::Closure& task, 17 const base::Closure& task,
Nikita (slow) 2015/01/20 18:18:22 nit: please run git cl format for your CL
merkulova 2015/01/21 14:10:34 Done.
21 base::TimeDelta delay) override { 18 base::TimeDelta delay) override {
22 task.Run(); 19 task.Run();
23 return true; 20 return true;
24 } 21 }
25 bool RunsTasksOnCurrentThread() const override { return true; } 22 bool RunsTasksOnCurrentThread() const override { return true; }
26 23
27 protected: 24 protected:
28 ~FakeTaskRunner() override {} 25 ~FakeTaskRunner() override {}
29 }; 26 };
30 27
31 } // namespace 28 } // namespace
32 29
33 namespace chromeos { 30 namespace user_manager {
34 31
35 FakeUserManager::FakeUserManager() 32 FakeUserManager::FakeUserManager()
36 : ChromeUserManager(new FakeTaskRunner(), new FakeTaskRunner()), 33 : UserManagerBase(new FakeTaskRunner(), new FakeTaskRunner()),
37 supervised_user_manager_(new FakeSupervisedUserManager),
38 primary_user_(NULL), 34 primary_user_(NULL),
39 multi_profile_user_controller_(NULL) { 35 owner_email_("") {
Nikita (slow) 2015/01/20 18:18:22 nit: std::string()
merkulova 2015/01/21 14:10:34 Done.
40 } 36 }
41 37
42 FakeUserManager::~FakeUserManager() { 38 FakeUserManager::~FakeUserManager() {
43 // Can't use STLDeleteElements because of the private destructor of User. 39 // Can't use STLDeleteElements because of the private destructor of User.
44 for (user_manager::UserList::iterator it = user_list_.begin(); 40 for (user_manager::UserList::iterator it = user_list_.begin();
45 it != user_list_.end(); 41 it != user_list_.end();
46 it = user_list_.erase(it)) { 42 it = user_list_.erase(it)) {
47 delete *it; 43 delete *it;
48 } 44 }
49 } 45 }
50 46
51 const user_manager::User* FakeUserManager::AddUser(const std::string& email) { 47 const user_manager::User* FakeUserManager::AddUser(const std::string& email) {
52 user_manager::User* user = user_manager::User::CreateRegularUser(email); 48 user_manager::User* user = user_manager::User::CreateRegularUser(email);
53 user->set_username_hash(
54 ProfileHelper::GetUserIdHashByUserIdForTesting(email));
55 user->SetStubImage(user_manager::UserImage(
56 *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
57 IDR_PROFILE_PICTURE_LOADING)),
58 user_manager::User::USER_IMAGE_PROFILE,
59 false);
60 user_list_.push_back(user); 49 user_list_.push_back(user);
61 return user; 50 return user;
62 } 51 }
63 52
64 const user_manager::User* FakeUserManager::AddPublicAccountUser(
65 const std::string& email) {
66 user_manager::User* user = user_manager::User::CreatePublicAccountUser(email);
67 user->set_username_hash(
68 ProfileHelper::GetUserIdHashByUserIdForTesting(email));
69 user->SetStubImage(user_manager::UserImage(
70 *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
71 IDR_PROFILE_PICTURE_LOADING)),
72 user_manager::User::USER_IMAGE_PROFILE,
73 false);
74 user_list_.push_back(user);
75 return user;
76 }
77
78 void FakeUserManager::AddKioskAppUser(const std::string& kiosk_app_username) {
79 user_manager::User* user =
80 user_manager::User::CreateKioskAppUser(kiosk_app_username);
81 user->set_username_hash(
82 ProfileHelper::GetUserIdHashByUserIdForTesting(kiosk_app_username));
83 user_list_.push_back(user);
84 }
85
86 void FakeUserManager::RemoveUserFromList(const std::string& email) { 53 void FakeUserManager::RemoveUserFromList(const std::string& email) {
87 user_manager::UserList::iterator it = user_list_.begin(); 54 user_manager::UserList::iterator it = user_list_.begin();
88 while (it != user_list_.end() && (*it)->email() != email) ++it; 55 while (it != user_list_.end() && (*it)->email() != email) ++it;
89 if (it != user_list_.end()) { 56 if (it != user_list_.end()) {
90 delete *it; 57 delete *it;
91 user_list_.erase(it); 58 user_list_.erase(it);
92 } 59 }
93 } 60 }
94 61
95 void FakeUserManager::LoginUser(const std::string& email) {
96 UserLoggedIn(
97 email, ProfileHelper::GetUserIdHashByUserIdForTesting(email), false);
98 }
99
100 const user_manager::UserList& FakeUserManager::GetUsers() const { 62 const user_manager::UserList& FakeUserManager::GetUsers() const {
101 return user_list_; 63 return user_list_;
102 } 64 }
103 65
104 user_manager::UserList FakeUserManager::GetUsersAllowedForMultiProfile() const { 66 user_manager::UserList FakeUserManager::GetUsersAllowedForMultiProfile() const {
105 user_manager::UserList result; 67 user_manager::UserList result;
106 for (user_manager::UserList::const_iterator it = user_list_.begin(); 68 for (user_manager::UserList::const_iterator it = user_list_.begin();
107 it != user_list_.end(); 69 it != user_list_.end();
108 ++it) { 70 ++it) {
109 if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR && 71 if ((*it)->GetType() == user_manager::USER_TYPE_REGULAR &&
110 !(*it)->is_logged_in()) 72 !(*it)->is_logged_in())
111 result.push_back(*it); 73 result.push_back(*it);
112 } 74 }
113 return result; 75 return result;
114 } 76 }
115 77
116 user_manager::UserList
117 FakeUserManager::GetUsersAllowedForSupervisedUsersCreation() const {
118 return ChromeUserManager::GetUsersAllowedAsSupervisedUserManagers(user_list_);
119 }
120
121 const user_manager::UserList& FakeUserManager::GetLoggedInUsers() const { 78 const user_manager::UserList& FakeUserManager::GetLoggedInUsers() const {
122 return logged_in_users_; 79 return logged_in_users_;
123 } 80 }
124 81
125 void FakeUserManager::UserLoggedIn(const std::string& email, 82 void FakeUserManager::UserLoggedIn(const std::string& email,
126 const std::string& username_hash, 83 const std::string& username_hash,
127 bool browser_restart) { 84 bool browser_restart) {
128 for (user_manager::UserList::const_iterator it = user_list_.begin(); 85 for (user_manager::UserList::const_iterator it = user_list_.begin();
129 it != user_list_.end(); 86 it != user_list_.end();
130 ++it) { 87 ++it) {
(...skipping 26 matching lines...) Expand all
157 114
158 const user_manager::User* FakeUserManager::GetActiveUser() const { 115 const user_manager::User* FakeUserManager::GetActiveUser() const {
159 return GetActiveUserInternal(); 116 return GetActiveUserInternal();
160 } 117 }
161 118
162 user_manager::User* FakeUserManager::GetActiveUser() { 119 user_manager::User* FakeUserManager::GetActiveUser() {
163 return GetActiveUserInternal(); 120 return GetActiveUserInternal();
164 } 121 }
165 122
166 void FakeUserManager::SwitchActiveUser(const std::string& email) { 123 void FakeUserManager::SwitchActiveUser(const std::string& email) {
167 active_user_id_ = email;
168 ProfileHelper::Get()->ActiveUserHashChanged(
169 ProfileHelper::GetUserIdHashByUserIdForTesting(email));
170 if (user_list_.size() && !active_user_id_.empty()) {
171 for (user_manager::UserList::const_iterator it = user_list_.begin();
172 it != user_list_.end(); ++it) {
173 (*it)->set_is_active((*it)->email() == active_user_id_);
174 }
175 }
176 } 124 }
177 125
178 void FakeUserManager::SaveUserDisplayName( 126 void FakeUserManager::SaveUserDisplayName(
179 const std::string& username, 127 const std::string& username,
180 const base::string16& display_name) { 128 const base::string16& display_name) {
181 for (user_manager::UserList::iterator it = user_list_.begin(); 129 for (user_manager::UserList::iterator it = user_list_.begin();
182 it != user_list_.end(); 130 it != user_list_.end();
183 ++it) { 131 ++it) {
184 if ((*it)->email() == username) { 132 if ((*it)->email() == username) {
185 (*it)->set_display_name(display_name); 133 (*it)->set_display_name(display_name);
186 return; 134 return;
187 } 135 }
188 } 136 }
189 } 137 }
190 138
191 MultiProfileUserController* FakeUserManager::GetMultiProfileUserController() {
192 return multi_profile_user_controller_;
193 }
194
195 SupervisedUserManager* FakeUserManager::GetSupervisedUserManager() {
196 return supervised_user_manager_.get();
197 }
198
199 UserImageManager* FakeUserManager::GetUserImageManager(
200 const std::string& /* user_id */) {
201 return NULL;
202 }
203
204 const user_manager::UserList& FakeUserManager::GetLRULoggedInUsers() const { 139 const user_manager::UserList& FakeUserManager::GetLRULoggedInUsers() const {
205 return user_list_; 140 return user_list_;
206 } 141 }
207 142
208 user_manager::UserList FakeUserManager::GetUnlockUsers() const { 143 user_manager::UserList FakeUserManager::GetUnlockUsers() const {
209 return user_list_; 144 return user_list_;
210 } 145 }
211 146
212 const std::string& FakeUserManager::GetOwnerEmail() const { 147 const std::string& FakeUserManager::GetOwnerEmail() const {
213 return owner_email_; 148 return owner_email_;
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 240
306 bool FakeUserManager::IsSessionStarted() const { 241 bool FakeUserManager::IsSessionStarted() const {
307 return false; 242 return false;
308 } 243 }
309 244
310 bool FakeUserManager::IsUserNonCryptohomeDataEphemeral( 245 bool FakeUserManager::IsUserNonCryptohomeDataEphemeral(
311 const std::string& email) const { 246 const std::string& email) const {
312 return false; 247 return false;
313 } 248 }
314 249
315 UserFlow* FakeUserManager::GetCurrentUserFlow() const {
316 return NULL;
317 }
318
319 UserFlow* FakeUserManager::GetUserFlow(const std::string& email) const {
320 return NULL;
321 }
322
323 bool FakeUserManager::AreSupervisedUsersAllowed() const { 250 bool FakeUserManager::AreSupervisedUsersAllowed() const {
324 return true; 251 return true;
325 } 252 }
326 253
327 bool FakeUserManager::AreEphemeralUsersEnabled() const { 254 bool FakeUserManager::AreEphemeralUsersEnabled() const {
328 return false; 255 return false;
329 } 256 }
330 257
331 const std::string& FakeUserManager::GetApplicationLocale() const { 258 const std::string& FakeUserManager::GetApplicationLocale() const {
332 static const std::string default_locale("en-US"); 259 static const std::string default_locale("en-US");
(...skipping 14 matching lines...) Expand all
347 274
348 bool FakeUserManager::IsKioskApp(const std::string& user_id) const { 275 bool FakeUserManager::IsKioskApp(const std::string& user_id) const {
349 return false; 276 return false;
350 } 277 }
351 278
352 bool FakeUserManager::IsPublicAccountMarkedForRemoval( 279 bool FakeUserManager::IsPublicAccountMarkedForRemoval(
353 const std::string& user_id) const { 280 const std::string& user_id) const {
354 return false; 281 return false;
355 } 282 }
356 283
357 } // namespace chromeos 284 } // namespace user_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698