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

Unified Diff: chrome/browser/chromeos/login/lock/views_screen_locker.h

Issue 2923773003: Adding mojo calls for several lock screen related operations. (Closed)
Patch Set: comments and rebase Created 3 years, 6 months 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/BUILD.gn ('k') | chrome/browser/chromeos/login/lock/views_screen_locker.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/login/lock/views_screen_locker.h
diff --git a/chrome/browser/chromeos/login/lock/views_screen_locker.h b/chrome/browser/chromeos/login/lock/views_screen_locker.h
index 35dc235dcae1970e60b4f30b499657504577abd2..a7f692a151bd729f568614ad7f694dfcf8452251 100644
--- a/chrome/browser/chromeos/login/lock/views_screen_locker.h
+++ b/chrome/browser/chromeos/login/lock/views_screen_locker.h
@@ -7,7 +7,9 @@
#include "base/memory/weak_ptr.h"
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
+#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/ui/ash/lock_screen_client.h"
+#include "chromeos/dbus/power_manager_client.h"
namespace chromeos {
@@ -19,11 +21,15 @@ class UserSelectionScreenProxy;
// It is also a ScreenLocker::Delegate which handles calls from chrome into
// ash (views-based lockscreen).
class ViewsScreenLocker : public LockScreenClient::Delegate,
- public ScreenLocker::Delegate {
+ public ScreenLocker::Delegate,
+ public PowerManagerClient::Observer {
public:
explicit ViewsScreenLocker(ScreenLocker* screen_locker);
~ViewsScreenLocker() override;
+ void Init();
+ void OnLockScreenReady();
+
// ScreenLocker::Delegate:
void SetPasswordInputEnabled(bool enabled) override;
void ShowErrorMessage(int error_msg_id,
@@ -38,14 +44,23 @@ class ViewsScreenLocker : public LockScreenClient::Delegate,
ScreenLocker::FingerprintState state) override;
content::WebContents* GetWebContents() override;
- void Init();
- void OnLockScreenReady();
-
- private:
// LockScreenClient::Delegate
+ void HandleAuthenticateUser(const AccountId& account_id,
+ const std::string& hashed_password,
+ bool authenticated_by_pin,
+ AuthenticateUserCallback callback) override;
void HandleAttemptUnlock(const AccountId& account_id) override;
void HandleHardlockPod(const AccountId& account_id) override;
void HandleRecordClickOnLockIcon(const AccountId& account_id) override;
+ void HandleOnFocusPod(const AccountId& account_id) override;
+ void HandleOnNoPodFocused() override;
+
+ // PowerManagerClient::Observer:
+ void SuspendDone(const base::TimeDelta& sleep_duration) override;
+
+ private:
+ void UpdatePinKeyboardState(const AccountId& account_id);
+ void OnAllowedInputMethodsChanged();
std::unique_ptr<UserSelectionScreenProxy> user_selection_screen_proxy_;
std::unique_ptr<UserSelectionScreen> user_selection_screen_;
@@ -56,6 +71,16 @@ class ViewsScreenLocker : public LockScreenClient::Delegate,
// Time when lock was initiated, required for metrics.
base::TimeTicks lock_time_;
+ base::Optional<AccountId> focused_pod_account_id_;
+
+ // Input Method Engine state used at lock screen.
+ scoped_refptr<input_method::InputMethodManager::State> ime_state_;
+
+ std::unique_ptr<CrosSettings::ObserverSubscription>
+ allowed_input_methods_subscription_;
+
+ bool lock_screen_ready_ = false;
+
base::WeakPtrFactory<ViewsScreenLocker> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(ViewsScreenLocker);
« no previous file with comments | « chrome/browser/chromeos/BUILD.gn ('k') | chrome/browser/chromeos/login/lock/views_screen_locker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698