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

Unified Diff: chrome/browser/chromeos/login/lock/screen_locker.cc

Issue 620663005: Lock screen for Chrome-Athena (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed crash Created 6 years, 2 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/chromeos/login/lock/screen_locker.cc
diff --git a/chrome/browser/chromeos/login/lock/screen_locker.cc b/chrome/browser/chromeos/login/lock/screen_locker.cc
index 5434bf0e22d6b239282df2ed748ca466b540e736..37301f661eed1221f7cdd52cd6dcdb8877e22b12 100644
--- a/chrome/browser/chromeos/login/lock/screen_locker.cc
+++ b/chrome/browser/chromeos/login/lock/screen_locker.cc
@@ -360,7 +360,9 @@ void ScreenLocker::HandleLockScreenRequest() {
if (g_screen_lock_observer->session_started() &&
user_manager::UserManager::Get()->CanCurrentUserLock()) {
ScreenLocker::Show();
+#if !defined(USE_ATHENA)
Jun Mukai 2014/10/13 18:20:24 Please note a crbug.com issue for the missing feat
Dmitry Polukhin 2014/10/14 11:20:34 Done, but I'm not sure what should be do here. In
ash::Shell::GetInstance()->lock_state_controller()->OnStartingLock();
+#endif
} else {
// If the current user's session cannot be locked or the user has not
// completed all sign-in steps yet, log out instead. The latter is done to
@@ -374,11 +376,6 @@ void ScreenLocker::HandleLockScreenRequest() {
// static
void ScreenLocker::Show() {
-#if defined(USE_ATHENA)
- // crbug.com/413926
- return;
-#endif
-
content::RecordAction(UserMetricsAction("ScreenLocker_Show"));
DCHECK(base::MessageLoopForUI::IsCurrent());
@@ -391,6 +388,7 @@ void ScreenLocker::Show() {
return;
}
+#if !defined(USE_ATHENA)
// If the active window is fullscreen, exit fullscreen to avoid the web page
// or app mimicking the lock screen. Do not exit fullscreen if the shelf is
// visible while in fullscreen because the shelf makes it harder for a web
@@ -402,6 +400,7 @@ void ScreenLocker::Show() {
const ash::wm::WMEvent event(ash::wm::WM_EVENT_TOGGLE_FULLSCREEN);
active_window_state->OnWMEvent(&event);
}
+#endif
if (!screen_locker_) {
ScreenLocker* locker =
@@ -418,11 +417,6 @@ void ScreenLocker::Show() {
// static
void ScreenLocker::Hide() {
-#if defined(USE_ATHENA)
- // crbug.com/413926
- return;
-#endif
-
DCHECK(base::MessageLoopForUI::IsCurrent());
// For a guest/demo user, screen_locker_ would have never been initialized.
if (user_manager::UserManager::Get()->IsLoggedInAsGuest() ||
@@ -434,8 +428,12 @@ void ScreenLocker::Hide() {
DCHECK(screen_locker_);
base::Callback<void(void)> callback =
base::Bind(&ScreenLocker::ScheduleDeletion);
+#if !defined(USE_ATHENA)
ash::Shell::GetInstance()->lock_state_controller()->
OnLockScreenHide(callback);
+#else
+ BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback);
+#endif
}
void ScreenLocker::ScheduleDeletion() {
@@ -444,7 +442,9 @@ void ScreenLocker::ScheduleDeletion() {
return;
VLOG(1) << "Deleting ScreenLocker " << screen_locker_;
+#if !defined(USE_ATHENA)
ash::PlaySystemSoundIfSpokenFeedback(SOUND_UNLOCK);
+#endif
delete screen_locker_;
screen_locker_ = NULL;
@@ -461,9 +461,12 @@ ScreenLocker::~ScreenLocker() {
authenticator_->SetConsumer(NULL);
ClearErrors();
+#if !defined(USE_ATHENA)
+ // TOOD(dpolukhin): we need to to something similar for Athena.
oshima 2014/10/13 18:52:20 we probably should simply make containers in betwe
Dmitry Polukhin 2014/10/14 11:20:33 I don't like approach with invisible windows on lo
oshima 2014/10/14 19:05:15 Moving container (or window) triggers a lot of obs
VLOG(1) << "Moving desktop background to unlocked container";
ash::Shell::GetInstance()->
desktop_background_controller()->MoveDesktopToUnlockedContainer();
+#endif
screen_locker_ = NULL;
bool state = false;
@@ -494,8 +497,10 @@ void ScreenLocker::ScreenLockReady() {
UMA_HISTOGRAM_TIMES("ScreenLocker.ScreenLockTime", delta);
VLOG(1) << "Moving desktop background to locked container";
+#if !defined(USE_ATHENA)
ash::Shell::GetInstance()->
desktop_background_controller()->MoveDesktopToLockedContainer();
+#endif
input_method::InputMethodManager* imm =
input_method::InputMethodManager::Get();

Powered by Google App Engine
This is Rietveld 408576698