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

Side by Side Diff: chrome/browser/chromeos/login/users/fake_user_manager.cc

Issue 442043002: ProfileManager doesn't depend on "--login-profile" switch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
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/fake_user_manager.h" 5 #include "chrome/browser/chromeos/login/users/fake_user_manager.h"
6 6
7 #include "base/task_runner.h" 7 #include "base/task_runner.h"
8 #include "chrome/browser/chromeos/login/users/fake_supervised_user_manager.h" 8 #include "chrome/browser/chromeos/login/users/fake_supervised_user_manager.h"
9 #include "chrome/browser/chromeos/profiles/profile_helper.h" 9 #include "chrome/browser/chromeos/profiles/profile_helper.h"
10 #include "chrome/grit/theme_resources.h" 10 #include "chrome/grit/theme_resources.h"
11 #include "components/user_manager/user_image/user_image.h" 11 #include "components/user_manager/user_image/user_image.h"
12 #include "components/user_manager/user_type.h" 12 #include "components/user_manager/user_type.h"
13 #include "ui/base/resource/resource_bundle.h" 13 #include "ui/base/resource/resource_bundle.h"
14 14
15 namespace { 15 namespace {
16 16
17 // As defined in /chromeos/dbus/cryptohome_client.cc.
18 static const char kUserIdHashSuffix[] = "-hash";
19
20 class FakeTaskRunner : public base::TaskRunner { 17 class FakeTaskRunner : public base::TaskRunner {
21 public: 18 public:
22 virtual bool PostDelayedTask(const tracked_objects::Location& from_here, 19 virtual bool PostDelayedTask(const tracked_objects::Location& from_here,
23 const base::Closure& task, 20 const base::Closure& task,
24 base::TimeDelta delay) OVERRIDE { 21 base::TimeDelta delay) OVERRIDE {
25 task.Run(); 22 task.Run();
26 return true; 23 return true;
27 } 24 }
28 virtual bool RunsTasksOnCurrentThread() const OVERRIDE { return true; } 25 virtual bool RunsTasksOnCurrentThread() const OVERRIDE { return true; }
29 26
30 protected: 27 protected:
31 virtual ~FakeTaskRunner() {} 28 virtual ~FakeTaskRunner() {}
32 }; 29 };
33 30
34 } // namespace 31 } // namespace
35 32
36 namespace chromeos { 33 namespace chromeos {
37 34
38 FakeUserManager::FakeUserManager() 35 FakeUserManager::FakeUserManager()
39 : ChromeUserManager(new FakeTaskRunner(), new FakeTaskRunner()), 36 : ChromeUserManager(new FakeTaskRunner(), new FakeTaskRunner()),
40 supervised_user_manager_(new FakeSupervisedUserManager), 37 supervised_user_manager_(new FakeSupervisedUserManager),
41 primary_user_(NULL), 38 primary_user_(NULL),
42 multi_profile_user_controller_(NULL) { 39 multi_profile_user_controller_(NULL) {
43 ProfileHelper::SetProfileToUserForTestingEnabled(true);
44 } 40 }
45 41
46 FakeUserManager::~FakeUserManager() { 42 FakeUserManager::~FakeUserManager() {
47 ProfileHelper::SetProfileToUserForTestingEnabled(false);
48
49 // Can't use STLDeleteElements because of the private destructor of User. 43 // Can't use STLDeleteElements because of the private destructor of User.
50 for (user_manager::UserList::iterator it = user_list_.begin(); 44 for (user_manager::UserList::iterator it = user_list_.begin();
51 it != user_list_.end(); 45 it != user_list_.end();
52 it = user_list_.erase(it)) { 46 it = user_list_.erase(it)) {
53 delete *it; 47 delete *it;
54 } 48 }
55 } 49 }
56 50
57 const user_manager::User* FakeUserManager::AddUser(const std::string& email) { 51 const user_manager::User* FakeUserManager::AddUser(const std::string& email) {
58 user_manager::User* user = user_manager::User::CreateRegularUser(email); 52 user_manager::User* user = user_manager::User::CreateRegularUser(email);
59 user->set_username_hash(email + kUserIdHashSuffix); 53 user->set_username_hash(
54 ProfileHelper::GetUserIdHashByUserIdForTesting(email));
60 user->SetStubImage(user_manager::UserImage( 55 user->SetStubImage(user_manager::UserImage(
61 *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( 56 *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
62 IDR_PROFILE_PICTURE_LOADING)), 57 IDR_PROFILE_PICTURE_LOADING)),
63 user_manager::User::USER_IMAGE_PROFILE, 58 user_manager::User::USER_IMAGE_PROFILE,
64 false); 59 false);
65 user_list_.push_back(user); 60 user_list_.push_back(user);
66 ProfileHelper::Get()->SetProfileToUserMappingForTesting(user);
67 return user; 61 return user;
68 } 62 }
69 63
70 const user_manager::User* FakeUserManager::AddPublicAccountUser( 64 const user_manager::User* FakeUserManager::AddPublicAccountUser(
71 const std::string& email) { 65 const std::string& email) {
72 user_manager::User* user = user_manager::User::CreatePublicAccountUser(email); 66 user_manager::User* user = user_manager::User::CreatePublicAccountUser(email);
73 user->set_username_hash(email + kUserIdHashSuffix); 67 user->set_username_hash(
68 ProfileHelper::GetUserIdHashByUserIdForTesting(email));
74 user->SetStubImage(user_manager::UserImage( 69 user->SetStubImage(user_manager::UserImage(
75 *ResourceBundle::GetSharedInstance().GetImageSkiaNamed( 70 *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
76 IDR_PROFILE_PICTURE_LOADING)), 71 IDR_PROFILE_PICTURE_LOADING)),
77 user_manager::User::USER_IMAGE_PROFILE, 72 user_manager::User::USER_IMAGE_PROFILE,
78 false); 73 false);
79 user_list_.push_back(user); 74 user_list_.push_back(user);
80 ProfileHelper::Get()->SetProfileToUserMappingForTesting(user);
81 return user; 75 return user;
82 } 76 }
83 77
84 void FakeUserManager::AddKioskAppUser(const std::string& kiosk_app_username) { 78 void FakeUserManager::AddKioskAppUser(const std::string& kiosk_app_username) {
85 user_manager::User* user = 79 user_manager::User* user =
86 user_manager::User::CreateKioskAppUser(kiosk_app_username); 80 user_manager::User::CreateKioskAppUser(kiosk_app_username);
87 user->set_username_hash(kiosk_app_username + kUserIdHashSuffix); 81 user->set_username_hash(
82 ProfileHelper::GetUserIdHashByUserIdForTesting(kiosk_app_username));
88 user_list_.push_back(user); 83 user_list_.push_back(user);
89 ProfileHelper::Get()->SetProfileToUserMappingForTesting(user);
90 } 84 }
91 85
92 void FakeUserManager::RemoveUserFromList(const std::string& email) { 86 void FakeUserManager::RemoveUserFromList(const std::string& email) {
93 user_manager::UserList::iterator it = user_list_.begin(); 87 user_manager::UserList::iterator it = user_list_.begin();
94 while (it != user_list_.end() && (*it)->email() != email) ++it; 88 while (it != user_list_.end() && (*it)->email() != email) ++it;
95 if (it != user_list_.end()) { 89 if (it != user_list_.end()) {
96 delete *it; 90 delete *it;
97 user_list_.erase(it); 91 user_list_.erase(it);
98 } 92 }
99 } 93 }
100 94
101 void FakeUserManager::LoginUser(const std::string& email) { 95 void FakeUserManager::LoginUser(const std::string& email) {
102 UserLoggedIn(email, email + kUserIdHashSuffix, false); 96 UserLoggedIn(
97 email, ProfileHelper::GetUserIdHashByUserIdForTesting(email), false);
103 } 98 }
104 99
105 const user_manager::UserList& FakeUserManager::GetUsers() const { 100 const user_manager::UserList& FakeUserManager::GetUsers() const {
106 return user_list_; 101 return user_list_;
107 } 102 }
108 103
109 user_manager::UserList FakeUserManager::GetUsersAdmittedForMultiProfile() 104 user_manager::UserList FakeUserManager::GetUsersAdmittedForMultiProfile()
110 const { 105 const {
111 user_manager::UserList result; 106 user_manager::UserList result;
112 for (user_manager::UserList::const_iterator it = user_list_.begin(); 107 for (user_manager::UserList::const_iterator it = user_list_.begin();
(...skipping 11 matching lines...) Expand all
124 } 119 }
125 120
126 void FakeUserManager::UserLoggedIn(const std::string& email, 121 void FakeUserManager::UserLoggedIn(const std::string& email,
127 const std::string& username_hash, 122 const std::string& username_hash,
128 bool browser_restart) { 123 bool browser_restart) {
129 for (user_manager::UserList::const_iterator it = user_list_.begin(); 124 for (user_manager::UserList::const_iterator it = user_list_.begin();
130 it != user_list_.end(); 125 it != user_list_.end();
131 ++it) { 126 ++it) {
132 if ((*it)->username_hash() == username_hash) { 127 if ((*it)->username_hash() == username_hash) {
133 (*it)->set_is_logged_in(true); 128 (*it)->set_is_logged_in(true);
129 (*it)->set_profile_is_created();
134 logged_in_users_.push_back(*it); 130 logged_in_users_.push_back(*it);
135 131
136 if (!primary_user_) 132 if (!primary_user_)
137 primary_user_ = *it; 133 primary_user_ = *it;
138 break; 134 break;
139 } 135 }
140 } 136 }
141 } 137 }
142 138
143 user_manager::User* FakeUserManager::GetActiveUserInternal() const { 139 user_manager::User* FakeUserManager::GetActiveUserInternal() const {
(...skipping 14 matching lines...) Expand all
158 const user_manager::User* FakeUserManager::GetActiveUser() const { 154 const user_manager::User* FakeUserManager::GetActiveUser() const {
159 return GetActiveUserInternal(); 155 return GetActiveUserInternal();
160 } 156 }
161 157
162 user_manager::User* FakeUserManager::GetActiveUser() { 158 user_manager::User* FakeUserManager::GetActiveUser() {
163 return GetActiveUserInternal(); 159 return GetActiveUserInternal();
164 } 160 }
165 161
166 void FakeUserManager::SwitchActiveUser(const std::string& email) { 162 void FakeUserManager::SwitchActiveUser(const std::string& email) {
167 active_user_id_ = email; 163 active_user_id_ = email;
164 ProfileHelper::Get()->ActiveUserHashChanged(
165 ProfileHelper::GetUserIdHashByUserIdForTesting(email));
168 } 166 }
169 167
170 void FakeUserManager::SaveUserDisplayName( 168 void FakeUserManager::SaveUserDisplayName(
171 const std::string& username, 169 const std::string& username,
172 const base::string16& display_name) { 170 const base::string16& display_name) {
173 for (user_manager::UserList::iterator it = user_list_.begin(); 171 for (user_manager::UserList::iterator it = user_list_.begin();
174 it != user_list_.end(); 172 it != user_list_.end();
175 ++it) { 173 ++it) {
176 if ((*it)->email() == username) { 174 if ((*it)->email() == username) {
177 (*it)->set_display_name(display_name); 175 (*it)->set_display_name(display_name);
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 bool FakeUserManager::IsKioskApp(const std::string& user_id) const { 342 bool FakeUserManager::IsKioskApp(const std::string& user_id) const {
345 return false; 343 return false;
346 } 344 }
347 345
348 bool FakeUserManager::IsPublicAccountMarkedForRemoval( 346 bool FakeUserManager::IsPublicAccountMarkedForRemoval(
349 const std::string& user_id) const { 347 const std::string& user_id) const {
350 return false; 348 return false;
351 } 349 }
352 350
353 } // namespace chromeos 351 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698