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

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

Issue 824683002: UserManager stack refactoring. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
6
7 #include "chrome/browser/chromeos/login/users/chrome_user_manager.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/browser/chromeos/settings/cros_settings.h"
11 #include "chrome/grit/theme_resources.h"
12 #include "components/user_manager/user_image/user_image.h"
13 #include "components/user_manager/user_type.h"
14 #include "ui/base/resource/resource_bundle.h"
15
16 namespace chromeos {
17
18 class FakeSupervisedUserManager;
19
20 FakeChromeUserManager::FakeChromeUserManager()
21 : supervised_user_manager_(new FakeSupervisedUserManager),
22 multi_profile_user_controller_(NULL) {
23 }
24
25 FakeChromeUserManager::~FakeChromeUserManager() {
26 }
27
28 const user_manager::User* FakeChromeUserManager::AddUser(
29 const std::string& email) {
30 user_manager::User* user = user_manager::User::CreateRegularUser(email);
31 user->set_username_hash(
32 ProfileHelper::GetUserIdHashByUserIdForTesting(email));
33 user->SetStubImage(user_manager::UserImage(
34 *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
35 IDR_PROFILE_PICTURE_LOADING)),
36 user_manager::User::USER_IMAGE_PROFILE, false);
37 users_.push_back(user);
38 return user;
39 }
40
41 const user_manager::User* FakeChromeUserManager::AddPublicAccountUser(
42 const std::string& email) {
43 user_manager::User* user = user_manager::User::CreatePublicAccountUser(email);
44 user->set_username_hash(
45 ProfileHelper::GetUserIdHashByUserIdForTesting(email));
46 user->SetStubImage(user_manager::UserImage(
47 *ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
48 IDR_PROFILE_PICTURE_LOADING)),
49 user_manager::User::USER_IMAGE_PROFILE, false);
50 users_.push_back(user);
51 return user;
52 }
53
54 void FakeChromeUserManager::AddKioskAppUser(
55 const std::string& kiosk_app_username) {
56 user_manager::User* user =
57 user_manager::User::CreateKioskAppUser(kiosk_app_username);
58 user->set_username_hash(
59 ProfileHelper::GetUserIdHashByUserIdForTesting(kiosk_app_username));
60 users_.push_back(user);
61 }
62
63 void FakeChromeUserManager::LoginUser(const std::string& email) {
64 UserLoggedIn(email, ProfileHelper::GetUserIdHashByUserIdForTesting(email),
65 false /* browser_restart */);
66 }
67
68 MultiProfileUserController*
69 FakeChromeUserManager::GetMultiProfileUserController() {
70 return multi_profile_user_controller_;
71 }
72
73 SupervisedUserManager* FakeChromeUserManager::GetSupervisedUserManager() {
74 return supervised_user_manager_.get();
75 }
76
77 UserImageManager* FakeChromeUserManager::GetUserImageManager(
78 const std::string& /* user_id */) {
79 return nullptr;
80 }
81
82 void FakeChromeUserManager::SetUserFlow(const std::string& email,
83 UserFlow* flow) {
84 }
85
86 UserFlow* FakeChromeUserManager::GetCurrentUserFlow() const {
87 return nullptr;
88 }
89
90 UserFlow* FakeChromeUserManager::GetUserFlow(const std::string& email) const {
91 return nullptr;
92 }
93
94 void FakeChromeUserManager::ResetUserFlow(const std::string& email) {
95 }
96
97 void FakeChromeUserManager::SwitchActiveUser(const std::string& email) {
98 active_user_id_ = email;
99 ProfileHelper::Get()->ActiveUserHashChanged(
100 ProfileHelper::GetUserIdHashByUserIdForTesting(email));
101 if (users_.size() && !active_user_id_.empty()) {
ygorshenin1 2015/01/23 10:18:03 Could you please change users_.size() by !users_.e
merkulova 2015/01/23 12:59:09 Done.
102 for (user_manager::User* user : users_)
103 user->set_is_active(user->email() == active_user_id_);
104 }
105 }
106
107 const std::string& FakeChromeUserManager::GetOwnerEmail() const {
108 return owner_email_;
109 }
110
111 void FakeChromeUserManager::SessionStarted() {
112 }
113
114 void FakeChromeUserManager::RemoveUser(
115 const std::string& email,
116 user_manager::RemoveUserDelegate* delegate) {
117 }
118
119 user_manager::UserList
120 FakeChromeUserManager::GetUsersAllowedForSupervisedUsersCreation() const {
121 CrosSettings* cros_settings = CrosSettings::Get();
122 bool allow_new_user = true;
123 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user);
124 bool supervised_users_allowed = AreSupervisedUsersAllowed();
125
126 // Restricted either by policy or by owner.
127 if (!allow_new_user || !supervised_users_allowed)
128 return user_manager::UserList();
129
130 return ChromeUserManager::GetUsersAllowedAsSupervisedUserManagers(GetUsers());
131 }
132
133 user_manager::UserList FakeChromeUserManager::GetUsersAllowedForMultiProfile()
134 const {
135 // Supervised users are not allowed to use multi-profiles.
136 if (GetLoggedInUsers().size() == 1 &&
137 GetPrimaryUser()->GetType() != user_manager::USER_TYPE_REGULAR) {
138 return user_manager::UserList();
139 }
140
141 user_manager::UserList result;
142 const user_manager::UserList& users = GetUsers();
143 for (user_manager::User* user : users) {
144 if (user->GetType() == user_manager::USER_TYPE_REGULAR &&
145 !user->is_logged_in()) {
146 result.push_back(user);
147 }
148 }
149
150 return result;
151 }
152
153 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698