| 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)
|
| 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.
|
| 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();
|
|
|