Chromium Code Reviews| Index: chrome/browser/chromeos/login/lock/webui_screen_locker.cc |
| diff --git a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc |
| index 6d8261046aac672b50082e34de99eb9952510e99..ef7cb8f3d41b0110d6fe52f0279de257d7274819 100644 |
| --- a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc |
| +++ b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc |
| @@ -154,6 +154,14 @@ void WebUIScreenLocker::FocusUserPod() { |
| GetWebUI()->CallJavascriptFunction("cr.ui.Oobe.forceLockedUserPodFocus"); |
| } |
| +void WebUIScreenLocker::ResetAndFocusUserPod() { |
| + if (!webui_ready_) |
| + return; |
| + GetWebUI()->CallJavascriptFunction("cr.ui.Oobe.clearUserPodPassword"); |
| + webui_login_->RequestFocus(); |
|
Nikita (slow)
2015/02/10 13:00:10
FocusUserPod()
Dmitry Polukhin
2015/02/10 13:05:33
Done.
|
| + GetWebUI()->CallJavascriptFunction("cr.ui.Oobe.forceLockedUserPodFocus"); |
| +} |
| + |
| WebUIScreenLocker::~WebUIScreenLocker() { |
| DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this); |
| ash::Shell::GetScreen()->RemoveObserver(this); |
| @@ -308,10 +316,19 @@ void WebUIScreenLocker::OnWidgetDestroying(views::Widget* widget) { |
| void WebUIScreenLocker::LidEventReceived(bool open, |
| const base::TimeTicks& time) { |
| + if (open) { |
| + content::BrowserThread::PostTask( |
| + content::BrowserThread::UI, FROM_HERE, |
| + base::Bind(&WebUIScreenLocker::FocusUserPod, |
| + weak_factory_.GetWeakPtr())); |
| + } |
| +} |
| + |
| +void WebUIScreenLocker::SuspendImminent() { |
| content::BrowserThread::PostTask( |
| - content::BrowserThread::UI, |
| - FROM_HERE, |
| - base::Bind(&WebUIScreenLocker::FocusUserPod, weak_factory_.GetWeakPtr())); |
| + content::BrowserThread::UI, FROM_HERE, |
| + base::Bind(&WebUIScreenLocker::ResetAndFocusUserPod, |
| + weak_factory_.GetWeakPtr())); |
| } |
| void WebUIScreenLocker::SuspendDone(const base::TimeDelta& sleep_duration) { |