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

Unified Diff: chrome/browser/chromeos/login/session/chrome_session_manager.cc

Issue 2553863002: cros: Preload and reuse the lock screen across lock sessions (Closed)
Patch Set: Initial upload Created 4 years 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/session/chrome_session_manager.cc
diff --git a/chrome/browser/chromeos/login/session/chrome_session_manager.cc b/chrome/browser/chromeos/login/session/chrome_session_manager.cc
index 194efe6379c98e87ab6343df008c229fc507cdcb..0964f95f68e61c23e7423ded83c860ea2dd1fa17 100644
--- a/chrome/browser/chromeos/login/session/chrome_session_manager.cc
+++ b/chrome/browser/chromeos/login/session/chrome_session_manager.cc
@@ -17,6 +17,8 @@
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
#include "chrome/browser/chromeos/arc/arc_service_launcher.h"
#include "chrome/browser/chromeos/boot_times_recorder.h"
+#include "chrome/browser/chromeos/idle_detector.h"
+#include "chrome/browser/chromeos/login/lock/webui_screen_locker.h"
#include "chrome/browser/chromeos/login/login_wizard.h"
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
@@ -44,6 +46,9 @@ namespace chromeos {
namespace {
+// Duration of user inactivity before preloading the lock screen.
+const int IDLE_SECONDS_BEFORE_PRELOADING_LOCK_SCREEN = 8;
xiyuan 2016/12/09 22:59:55 const -> constexpr IDLE_SECONDS_BEFORE_PRELOADING
jdufault 2016/12/12 20:08:27 Done.
+
// Whether kiosk auto launch should be started.
bool ShouldAutoLaunchKioskApp(const base::CommandLine& command_line) {
KioskAppManager* app_manager = KioskAppManager::Get();
@@ -232,6 +237,13 @@ void ChromeSessionManager::SessionStarted() {
content::Source<session_manager::SessionManager>(this),
content::Details<const user_manager::User>(
user_manager->GetActiveUser()));
+
+ if (chromeos::WebUIScreenLocker::ShouldShareLockScreen()) {
+ idle_detector_ = base::MakeUnique<chromeos::IdleDetector>(
+ base::Bind(&chromeos::WebUIScreenLocker::Preload));
+ idle_detector_->Start(base::TimeDelta::FromSeconds(
+ IDLE_SECONDS_BEFORE_PRELOADING_LOCK_SCREEN));
+ }
}
void ChromeSessionManager::NotifyUserLoggedIn(const AccountId& user_account_id,

Powered by Google App Engine
This is Rietveld 408576698