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

Unified Diff: chrome/browser/chromeos/login/existing_user_controller.h

Issue 2510203002: Implement auto-login for ARC kiosk. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@kiosk_session
Patch Set: Created 4 years, 1 month 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/existing_user_controller.h
diff --git a/chrome/browser/chromeos/login/existing_user_controller.h b/chrome/browser/chromeos/login/existing_user_controller.h
index e1bc66c7a5ec50e8ad8816de9d157a43b8b72a43..9eda834821f8b4793d725cd5cecaa0308c838c55 100644
--- a/chrome/browser/chromeos/login/existing_user_controller.h
+++ b/chrome/browser/chromeos/login/existing_user_controller.h
@@ -18,6 +18,7 @@
#include "base/strings/string16.h"
#include "base/time/time.h"
#include "base/timer/timer.h"
+#include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h"
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
#include "chrome/browser/chromeos/login/signin/token_handle_util.h"
@@ -55,10 +56,12 @@ class NetworkStateHelper;
// all login UI implementation.
// ExistingUserController maintains it's own life cycle and deletes itself when
// the user logs in (or chooses to see other settings).
-class ExistingUserController : public LoginDisplay::Delegate,
- public content::NotificationObserver,
- public LoginPerformer::Delegate,
- public UserSessionManagerDelegate {
+class ExistingUserController
+ : public LoginDisplay::Delegate,
+ public content::NotificationObserver,
+ public LoginPerformer::Delegate,
+ public UserSessionManagerDelegate,
+ public ArcKioskAppManager::ArcKioskAppManagerObserver {
public:
// All UI initialization is deferred till Init() call.
explicit ExistingUserController(LoginDisplayHost* host);
@@ -72,11 +75,11 @@ class ExistingUserController : public LoginDisplay::Delegate,
// Creates and shows login UI for known users.
void Init(const user_manager::UserList& users);
- // Start the public session auto-login timer.
- void StartPublicSessionAutoLoginTimer();
+ // Start the auto-login timer.
+ void StartAutoLoginTimer();
- // Stop the public session auto-login timer when a login attempt begins.
- void StopPublicSessionAutoLoginTimer();
+ // Stop the auto-login timer when a login attempt begins.
+ void StopAutoLoginTimer();
// LoginDisplay::Delegate: implementation
void CancelPasswordChangedFlow() override;
@@ -103,6 +106,9 @@ class ExistingUserController : public LoginDisplay::Delegate,
const content::NotificationSource& source,
const content::NotificationDetails& details) override;
+ // ArcKioskAppManager::ArcKioskAppManagerObserver overrides.
+ void OnArcKioskAppsChanged() override;
+
// Set a delegate that we will pass AuthStatusConsumer events to.
// Used for testing.
void set_login_status_consumer(AuthStatusConsumer* consumer) {
@@ -138,12 +144,14 @@ class ExistingUserController : public LoginDisplay::Delegate,
void LoginAsPublicSession(const UserContext& user_context);
void LoginAsKioskApp(const std::string& app_id, bool diagnostic_mode);
void LoginAsArcKioskApp(const AccountId& account_id);
-
- // Retrieve public session auto-login policy and update the timer.
- void ConfigurePublicSessionAutoLogin();
+ // Retrieve public session and ARC kiosk auto-login policy and update the
+ // timer.
+ void ConfigureAutoLogin();
// Trigger public session auto-login.
void OnPublicSessionAutoLoginTimerFire();
+ // Trigger ARC kiosk auto-login.
+ void OnArcKioskAutoLoginTimerFire();
// LoginPerformer::Delegate implementation:
void OnAuthFailure(const AuthFailure& error) override;
@@ -255,12 +263,15 @@ class ExistingUserController : public LoginDisplay::Delegate,
// Public session auto-login timer.
std::unique_ptr<base::OneShotTimer> auto_login_timer_;
- // Public session auto-login timeout, in milliseconds.
- int public_session_auto_login_delay_;
+ // Auto-login timeout, in milliseconds.
+ int auto_login_delay_;
// AccountId for public session auto-login.
AccountId public_session_auto_login_account_id_ = EmptyAccountId();
+ // AccountId for ARC kiosk auto-login.
+ AccountId arc_kiosk_auto_login_account_id_ = EmptyAccountId();
+
// Used to execute login operations.
std::unique_ptr<LoginPerformer> login_performer_;

Powered by Google App Engine
This is Rietveld 408576698