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

Side by Side Diff: chrome/browser/chromeos/login/screens/user_selection_screen.cc

Issue 592893002: Rename ScreelockBridge to SigninScreenBridge Base URL: https://chromium.googlesource.com/chromium/src.git@easy_signin_auth_handler
Patch Set: Created 6 years, 3 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 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/screens/user_selection_screen.h" 5 #include "chrome/browser/chromeos/login/screens/user_selection_screen.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/browser_process.h" 12 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/browser_process_platform_part.h" 13 #include "chrome/browser/browser_process_platform_part.h"
14 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 14 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
15 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" 15 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
16 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" 16 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
17 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 17 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
18 #include "chrome/browser/signin/screenlock_bridge.h" 18 #include "chrome/browser/signin/signin_screen_bridge.h"
19 #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h" 19 #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h"
20 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" 20 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
21 #include "chrome/common/pref_names.h" 21 #include "chrome/common/pref_names.h"
22 #include "components/user_manager/user_manager.h" 22 #include "components/user_manager/user_manager.h"
23 #include "components/user_manager/user_type.h" 23 #include "components/user_manager/user_type.h"
24 #include "ui/wm/core/user_activity_detector.h" 24 #include "ui/wm/core/user_activity_detector.h"
25 25
26 namespace chromeos { 26 namespace chromeos {
27 27
28 namespace { 28 namespace {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 if (activity_detector->HasObserver(this)) 114 if (activity_detector->HasObserver(this))
115 activity_detector->RemoveObserver(this); 115 activity_detector->RemoveObserver(this);
116 #endif 116 #endif
117 } 117 }
118 118
119 // static 119 // static
120 void UserSelectionScreen::FillUserDictionary( 120 void UserSelectionScreen::FillUserDictionary(
121 user_manager::User* user, 121 user_manager::User* user,
122 bool is_owner, 122 bool is_owner,
123 bool is_signin_to_add, 123 bool is_signin_to_add,
124 ScreenlockBridge::LockHandler::AuthType auth_type, 124 SigninScreenBridge::LockHandler::AuthType auth_type,
125 const std::vector<std::string>* public_session_recommended_locales, 125 const std::vector<std::string>* public_session_recommended_locales,
126 base::DictionaryValue* user_dict) { 126 base::DictionaryValue* user_dict) {
127 const std::string& user_id = user->email(); 127 const std::string& user_id = user->email();
128 const bool is_public_session = 128 const bool is_public_session =
129 user->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT; 129 user->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT;
130 const bool is_supervised_user = 130 const bool is_supervised_user =
131 user->GetType() == user_manager::USER_TYPE_SUPERVISED; 131 user->GetType() == user_manager::USER_TYPE_SUPERVISED;
132 132
133 user_dict->SetString(kKeyUsername, user_id); 133 user_dict->SetString(kKeyUsername, user_id);
134 user_dict->SetString(kKeyEmailAddress, user->display_email()); 134 user_dict->SetString(kKeyEmailAddress, user->display_email());
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 for (user_manager::UserList::const_iterator it = users.begin(); 277 for (user_manager::UserList::const_iterator it = users.begin();
278 it != users.end(); 278 it != users.end();
279 ++it) { 279 ++it) {
280 const std::string& user_id = (*it)->email(); 280 const std::string& user_id = (*it)->email();
281 bool is_owner = (user_id == owner); 281 bool is_owner = (user_id == owner);
282 bool is_public_account = 282 bool is_public_account =
283 ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT); 283 ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT);
284 284
285 if ((is_public_account && !is_signin_to_add) || is_owner || 285 if ((is_public_account && !is_signin_to_add) || is_owner ||
286 (!is_public_account && non_owner_count < max_non_owner_users)) { 286 (!is_public_account && non_owner_count < max_non_owner_users)) {
287
288 if (!is_owner) 287 if (!is_owner)
289 ++non_owner_count; 288 ++non_owner_count;
290 if (is_owner && users_to_send.size() > kMaxUsers) { 289 if (is_owner && users_to_send.size() > kMaxUsers) {
291 // Owner is always in the list. 290 // Owner is always in the list.
292 users_to_send.insert(users_to_send.begin() + (kMaxUsers - 1), *it); 291 users_to_send.insert(users_to_send.begin() + (kMaxUsers - 1), *it);
293 while (users_to_send.size() > kMaxUsers) 292 while (users_to_send.size() > kMaxUsers)
294 users_to_send.erase(users_to_send.begin() + kMaxUsers); 293 users_to_send.erase(users_to_send.begin() + kMaxUsers);
295 } else if (users_to_send.size() < kMaxUsers) { 294 } else if (users_to_send.size() < kMaxUsers) {
296 users_to_send.push_back(*it); 295 users_to_send.push_back(*it);
297 } 296 }
(...skipping 24 matching lines...) Expand all
322 user_auth_type_map_.clear(); 321 user_auth_type_map_.clear();
323 322
324 const std::vector<std::string> kEmptyRecommendedLocales; 323 const std::vector<std::string> kEmptyRecommendedLocales;
325 for (user_manager::UserList::const_iterator it = users_to_send.begin(); 324 for (user_manager::UserList::const_iterator it = users_to_send.begin();
326 it != users_to_send.end(); 325 it != users_to_send.end();
327 ++it) { 326 ++it) {
328 const std::string& user_id = (*it)->email(); 327 const std::string& user_id = (*it)->email();
329 bool is_owner = (user_id == owner); 328 bool is_owner = (user_id == owner);
330 const bool is_public_account = 329 const bool is_public_account =
331 ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT); 330 ((*it)->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT);
332 const ScreenlockBridge::LockHandler::AuthType initial_auth_type = 331 const SigninScreenBridge::LockHandler::AuthType initial_auth_type =
333 is_public_account 332 is_public_account
334 ? ScreenlockBridge::LockHandler::EXPAND_THEN_USER_CLICK 333 ? SigninScreenBridge::LockHandler::EXPAND_THEN_USER_CLICK
335 : (ShouldForceOnlineSignIn(*it) 334 : (ShouldForceOnlineSignIn(*it)
336 ? ScreenlockBridge::LockHandler::ONLINE_SIGN_IN 335 ? SigninScreenBridge::LockHandler::ONLINE_SIGN_IN
337 : ScreenlockBridge::LockHandler::OFFLINE_PASSWORD); 336 : SigninScreenBridge::LockHandler::OFFLINE_PASSWORD);
338 user_auth_type_map_[user_id] = initial_auth_type; 337 user_auth_type_map_[user_id] = initial_auth_type;
339 338
340 base::DictionaryValue* user_dict = new base::DictionaryValue(); 339 base::DictionaryValue* user_dict = new base::DictionaryValue();
341 const std::vector<std::string>* public_session_recommended_locales = 340 const std::vector<std::string>* public_session_recommended_locales =
342 public_session_recommended_locales_.find(user_id) == 341 public_session_recommended_locales_.find(user_id) ==
343 public_session_recommended_locales_.end() ? 342 public_session_recommended_locales_.end() ?
344 &kEmptyRecommendedLocales : 343 &kEmptyRecommendedLocales :
345 &public_session_recommended_locales_[user_id]; 344 &public_session_recommended_locales_[user_id];
346 FillUserDictionary(*it, 345 FillUserDictionary(*it,
347 is_owner, 346 is_owner,
(...skipping 14 matching lines...) Expand all
362 361
363 handler_->LoadUsers(users_list, show_guest_); 362 handler_->LoadUsers(users_list, show_guest_);
364 } 363 }
365 364
366 void UserSelectionScreen::HandleGetUsers() { 365 void UserSelectionScreen::HandleGetUsers() {
367 SendUserList(); 366 SendUserList();
368 } 367 }
369 368
370 void UserSelectionScreen::SetAuthType( 369 void UserSelectionScreen::SetAuthType(
371 const std::string& username, 370 const std::string& username,
372 ScreenlockBridge::LockHandler::AuthType auth_type) { 371 SigninScreenBridge::LockHandler::AuthType auth_type) {
373 DCHECK(GetAuthType(username) != 372 DCHECK(GetAuthType(username) !=
374 ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD || 373 SigninScreenBridge::LockHandler::FORCE_OFFLINE_PASSWORD ||
375 auth_type == ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD); 374 auth_type == SigninScreenBridge::LockHandler::FORCE_OFFLINE_PASSWORD);
376 user_auth_type_map_[username] = auth_type; 375 user_auth_type_map_[username] = auth_type;
377 } 376 }
378 377
379 ScreenlockBridge::LockHandler::AuthType UserSelectionScreen::GetAuthType( 378 SigninScreenBridge::LockHandler::AuthType UserSelectionScreen::GetAuthType(
380 const std::string& username) const { 379 const std::string& username) const {
381 if (user_auth_type_map_.find(username) == user_auth_type_map_.end()) 380 if (user_auth_type_map_.find(username) == user_auth_type_map_.end())
382 return ScreenlockBridge::LockHandler::OFFLINE_PASSWORD; 381 return SigninScreenBridge::LockHandler::OFFLINE_PASSWORD;
383 return user_auth_type_map_.find(username)->second; 382 return user_auth_type_map_.find(username)->second;
384 } 383 }
385 384
386 } // namespace chromeos 385 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/screens/user_selection_screen.h ('k') | chrome/browser/chromeos/login/ui/webui_login_display.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698