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

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

Issue 608693006: [Easy Unlock] When hardlocking, show a different icon on user (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
index f723bb5ec65df66a5bf53b11422f3c46d481dd90..41262b41e8d41f4eab9bc7e4f1d16ffc8ff376fc 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
@@ -1097,35 +1097,10 @@ void SigninScreenHandler::HandleAuthenticateUser(const std::string& username,
}
void SigninScreenHandler::HandleAttemptUnlock(const std::string& username) {
- if (!ScreenLocker::default_screen_locker()) {
- OobeUI* oobe_ui = static_cast<OobeUI*>(web_ui()->GetController());
- if (oobe_ui->display_type() != OobeUI::kLoginDisplay)
- return;
- }
-
- const user_manager::User* unlock_user = NULL;
- const user_manager::UserList& users = delegate_->GetUsers();
- for (user_manager::UserList::const_iterator it = users.begin();
- it != users.end();
- ++it) {
- if ((*it)->email() == username) {
- unlock_user = *it;
- break;
- }
- }
- if (!unlock_user)
+ EasyUnlockService* service = GetEasyUnlockServiceForUser(username);
+ if (!service)
return;
-
- ProfileHelper* profile_helper = ProfileHelper::Get();
- Profile* profile = profile_helper->GetProfileByUser(unlock_user);
-
- // The user profile should exists if and only if this is lock screen.
- DCHECK_NE(!profile, !ScreenLocker::default_screen_locker());
-
- if (!profile)
- profile = profile_helper->GetSigninProfile();
-
- EasyUnlockService::Get(profile)->AttemptAuth(username);
+ service->AttemptAuth(username);
}
void SigninScreenHandler::HandleLaunchDemoUser() {
@@ -1392,9 +1367,12 @@ void SigninScreenHandler::HandleFocusPod(const std::string& user_id) {
void SigninScreenHandler::HandleHardlockPod(const std::string& user_id) {
SetAuthType(user_id,
- ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD,
+ ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
base::string16());
- HideUserPodCustomIcon(user_id);
+ EasyUnlockService* service = GetEasyUnlockServiceForUser(user_id);
+ if (!service)
+ return;
+ service->SetHardlocked(true);
}
void SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail(
@@ -1492,6 +1470,37 @@ OobeUI* SigninScreenHandler::GetOobeUI() const {
return static_cast<OobeUI*>(web_ui()->GetController());
}
+EasyUnlockService* SigninScreenHandler::GetEasyUnlockServiceForUser(
+ const std::string& username) const {
+ if (!ScreenLocker::default_screen_locker() &&
+ GetOobeUI()->display_type() != OobeUI::kLoginDisplay)
+ return NULL;
+
+ const user_manager::User* unlock_user = NULL;
+ const user_manager::UserList& users = delegate_->GetUsers();
+ for (user_manager::UserList::const_iterator it = users.begin();
+ it != users.end();
+ ++it) {
+ if ((*it)->email() == username) {
+ unlock_user = *it;
+ break;
+ }
+ }
+ if (!unlock_user)
+ return NULL;
+
+ ProfileHelper* profile_helper = ProfileHelper::Get();
+ Profile* profile = profile_helper->GetProfileByUser(unlock_user);
+
+ // The user profile should exists if and only if this is lock screen.
+ DCHECK_NE(!profile, !ScreenLocker::default_screen_locker());
+
+ if (!profile)
+ profile = profile_helper->GetSigninProfile();
+
+ return EasyUnlockService::Get(profile);
+}
+
OobeUI::Screen SigninScreenHandler::GetCurrentScreen() const {
OobeUI::Screen screen = OobeUI::SCREEN_UNKNOWN;
OobeUI* oobe_ui = GetOobeUI();

Powered by Google App Engine
This is Rietveld 408576698