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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc

Issue 2715823004: Add FingerprintUnlock KeyedService for each profile (Closed)
Patch Set: rebase Created 3 years, 9 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
« no previous file with comments | « chrome/browser/chromeos/login/screens/user_selection_screen.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/ui/webui/chromeos/login/signin_screen_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <vector> 10 #include <vector>
(...skipping 23 matching lines...) Expand all
34 #include "chrome/browser/browser_process_platform_part_chromeos.h" 34 #include "chrome/browser/browser_process_platform_part_chromeos.h"
35 #include "chrome/browser/browser_shutdown.h" 35 #include "chrome/browser/browser_shutdown.h"
36 #include "chrome/browser/chrome_notification_types.h" 36 #include "chrome/browser/chrome_notification_types.h"
37 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" 37 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
38 #include "chrome/browser/chromeos/input_method/input_method_util.h" 38 #include "chrome/browser/chromeos/input_method/input_method_util.h"
39 #include "chrome/browser/chromeos/language_preferences.h" 39 #include "chrome/browser/chromeos/language_preferences.h"
40 #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h" 40 #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h"
41 #include "chrome/browser/chromeos/login/hwid_checker.h" 41 #include "chrome/browser/chromeos/login/hwid_checker.h"
42 #include "chrome/browser/chromeos/login/lock/screen_locker.h" 42 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
43 #include "chrome/browser/chromeos/login/lock/webui_screen_locker.h" 43 #include "chrome/browser/chromeos/login/lock/webui_screen_locker.h"
44 #include "chrome/browser/chromeos/login/quick_unlock/pin_storage.h" 44 #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_factory.h"
45 #include "chrome/browser/chromeos/login/quick_unlock/pin_storage_factory.h" 45 #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_storage.h"
46 #include "chrome/browser/chromeos/login/reauth_stats.h" 46 #include "chrome/browser/chromeos/login/reauth_stats.h"
47 #include "chrome/browser/chromeos/login/screens/core_oobe_view.h" 47 #include "chrome/browser/chromeos/login/screens/core_oobe_view.h"
48 #include "chrome/browser/chromeos/login/screens/network_error.h" 48 #include "chrome/browser/chromeos/login/screens/network_error.h"
49 #include "chrome/browser/chromeos/login/startup_utils.h" 49 #include "chrome/browser/chromeos/login/startup_utils.h"
50 #include "chrome/browser/chromeos/login/ui/login_display_host.h" 50 #include "chrome/browser/chromeos/login/ui/login_display_host.h"
51 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 51 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
52 #include "chrome/browser/chromeos/login/ui/login_feedback.h" 52 #include "chrome/browser/chromeos/login/ui/login_feedback.h"
53 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" 53 #include "chrome/browser/chromeos/login/ui/webui_login_display.h"
54 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" 54 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
55 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" 55 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
(...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after
949 949
950 void SigninScreenHandler::ReloadGaia(bool force_reload) { 950 void SigninScreenHandler::ReloadGaia(bool force_reload) {
951 gaia_screen_handler_->ReloadGaia(force_reload); 951 gaia_screen_handler_->ReloadGaia(force_reload);
952 } 952 }
953 953
954 void SigninScreenHandler::Initialize() { 954 void SigninScreenHandler::Initialize() {
955 // Preload PIN keyboard if any of the users can authenticate via PIN. 955 // Preload PIN keyboard if any of the users can authenticate via PIN.
956 if (user_manager::UserManager::IsInitialized()) { 956 if (user_manager::UserManager::IsInitialized()) {
957 for (user_manager::User* user : 957 for (user_manager::User* user :
958 user_manager::UserManager::Get()->GetLoggedInUsers()) { 958 user_manager::UserManager::Get()->GetLoggedInUsers()) {
959 959 chromeos::quick_unlock::QuickUnlockStorage* quick_unlock_storage =
960 chromeos::quick_unlock::PinStorage* pin_storage = 960 chromeos::quick_unlock::QuickUnlockFactory::GetForUser(user);
961 chromeos::quick_unlock::PinStorageFactory::GetForUser(user); 961 if (quick_unlock_storage &&
962 if (pin_storage && pin_storage->IsPinAuthenticationAvailable()) { 962 quick_unlock_storage->IsPinAuthenticationAvailable()) {
963 CallJS("cr.ui.Oobe.preloadPinKeyboard"); 963 CallJS("cr.ui.Oobe.preloadPinKeyboard");
964 break; 964 break;
965 } 965 }
966 } 966 }
967 } 967 }
968 968
969 // |delegate_| is null when we are preloading the lock screen. 969 // |delegate_| is null when we are preloading the lock screen.
970 if (delegate_ && show_on_init_) { 970 if (delegate_ && show_on_init_) {
971 show_on_init_ = false; 971 show_on_init_ = false;
972 ShowImpl(); 972 ShowImpl();
(...skipping 24 matching lines...) Expand all
997 997
998 void SigninScreenHandler::ClearUserPodPassword() { 998 void SigninScreenHandler::ClearUserPodPassword() {
999 core_oobe_view_->ClearUserPodPassword(); 999 core_oobe_view_->ClearUserPodPassword();
1000 } 1000 }
1001 1001
1002 void SigninScreenHandler::RefocusCurrentPod() { 1002 void SigninScreenHandler::RefocusCurrentPod() {
1003 core_oobe_view_->RefocusCurrentPod(); 1003 core_oobe_view_->RefocusCurrentPod();
1004 } 1004 }
1005 1005
1006 void SigninScreenHandler::HidePinKeyboardIfNeeded(const AccountId& account_id) { 1006 void SigninScreenHandler::HidePinKeyboardIfNeeded(const AccountId& account_id) {
1007 chromeos::quick_unlock::PinStorage* pin_storage = 1007 chromeos::quick_unlock::QuickUnlockStorage* quick_unlock_storage =
1008 chromeos::quick_unlock::PinStorageFactory::GetForAccountId(account_id); 1008 chromeos::quick_unlock::QuickUnlockFactory::GetForAccountId(account_id);
1009 if (pin_storage && !pin_storage->IsPinAuthenticationAvailable()) 1009 if (quick_unlock_storage &&
1010 !quick_unlock_storage->IsPinAuthenticationAvailable())
1010 CallJS("login.AccountPickerScreen.disablePinKeyboardForUser", account_id); 1011 CallJS("login.AccountPickerScreen.disablePinKeyboardForUser", account_id);
1011 } 1012 }
1012 1013
1013 void SigninScreenHandler::OnUserRemoved(const AccountId& account_id, 1014 void SigninScreenHandler::OnUserRemoved(const AccountId& account_id,
1014 bool last_user_removed) { 1015 bool last_user_removed) {
1015 CallJS("login.AccountPickerScreen.removeUser", account_id); 1016 CallJS("login.AccountPickerScreen.removeUser", account_id);
1016 if (last_user_removed) 1017 if (last_user_removed)
1017 OnShowAddUser(); 1018 OnShowAddUser();
1018 } 1019 }
1019 1020
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
1152 AllWhitelistedUsersPresent()); 1153 AllWhitelistedUsersPresent());
1153 } 1154 }
1154 1155
1155 void SigninScreenHandler::HandleAuthenticateUser(const AccountId& account_id, 1156 void SigninScreenHandler::HandleAuthenticateUser(const AccountId& account_id,
1156 const std::string& password, 1157 const std::string& password,
1157 bool authenticated_by_pin) { 1158 bool authenticated_by_pin) {
1158 if (!delegate_) 1159 if (!delegate_)
1159 return; 1160 return;
1160 DCHECK_EQ(account_id.GetUserEmail(), 1161 DCHECK_EQ(account_id.GetUserEmail(),
1161 gaia::SanitizeEmail(account_id.GetUserEmail())); 1162 gaia::SanitizeEmail(account_id.GetUserEmail()));
1162 chromeos::quick_unlock::PinStorage* pin_storage = 1163 chromeos::quick_unlock::QuickUnlockStorage* quick_unlock_storage =
1163 chromeos::quick_unlock::PinStorageFactory::GetForAccountId(account_id); 1164 chromeos::quick_unlock::QuickUnlockFactory::GetForAccountId(account_id);
1164 // If pin storage is unavailable, authenticated by PIN must be false. 1165 // If pin storage is unavailable, authenticated by PIN must be false.
1165 DCHECK(!pin_storage || pin_storage->IsPinAuthenticationAvailable() || 1166 DCHECK(!quick_unlock_storage ||
1167 quick_unlock_storage->IsPinAuthenticationAvailable() ||
1166 !authenticated_by_pin); 1168 !authenticated_by_pin);
1167 1169
1168 UserContext user_context(account_id); 1170 UserContext user_context(account_id);
1169 user_context.SetKey(Key(password)); 1171 user_context.SetKey(Key(password));
1170 user_context.SetIsUsingPin(authenticated_by_pin); 1172 user_context.SetIsUsingPin(authenticated_by_pin);
1171 if (account_id.GetAccountType() == AccountType::ACTIVE_DIRECTORY) 1173 if (account_id.GetAccountType() == AccountType::ACTIVE_DIRECTORY)
1172 user_context.SetUserType(user_manager::USER_TYPE_ACTIVE_DIRECTORY); 1174 user_context.SetUserType(user_manager::USER_TYPE_ACTIVE_DIRECTORY);
1173 delegate_->Login(user_context, SigninSpecifics()); 1175 delegate_->Login(user_context, SigninSpecifics());
1174 1176
1175 HidePinKeyboardIfNeeded(account_id); 1177 HidePinKeyboardIfNeeded(account_id);
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
1645 rate.initial_delay_in_ms = auto_repeat_delay; 1647 rate.initial_delay_in_ms = auto_repeat_delay;
1646 rate.repeat_interval_in_ms = auto_repeat_interval; 1648 rate.repeat_interval_in_ms = auto_repeat_interval;
1647 input_method::InputMethodManager::Get() 1649 input_method::InputMethodManager::Get()
1648 ->GetImeKeyboard() 1650 ->GetImeKeyboard()
1649 ->SetAutoRepeatEnabled(true); 1651 ->SetAutoRepeatEnabled(true);
1650 input_method::InputMethodManager::Get()->GetImeKeyboard()->SetAutoRepeatRate( 1652 input_method::InputMethodManager::Get()->GetImeKeyboard()->SetAutoRepeatRate(
1651 rate); 1653 rate);
1652 } 1654 }
1653 1655
1654 } // namespace chromeos 1656 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/screens/user_selection_screen.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698