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

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: Rebase 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
« no previous file with comments | « chrome/browser/chromeos/login/session/chrome_session_manager.h ('k') | chrome/common/chrome_features.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..e6030f8413b88d1bea9eae4fbe143f52d7d6c897 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.
+constexpr int kIdleSecondsBeforePreloadingLockScreen = 8;
+
// 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(kIdleSecondsBeforePreloadingLockScreen));
+ }
}
void ChromeSessionManager::NotifyUserLoggedIn(const AccountId& user_account_id,
« no previous file with comments | « chrome/browser/chromeos/login/session/chrome_session_manager.h ('k') | chrome/common/chrome_features.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698