Chromium Code Reviews| 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(); |