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