Chromium Code Reviews| 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..3aad0f07c5fc13407015ed0fa24f44bca533f3b3 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,7 +21,8 @@ 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; |
| @@ -43,9 +46,20 @@ class ViewsScreenLocker : public LockScreenClient::Delegate, |
| private: |
| // LockScreenClient::Delegate |
| + void HandleAuthenticateUser(const AccountId& account_id, |
| + const std::string& hashed_password, |
| + bool authenticated_by_pin) override; |
| void HandleAttemptUnlock(const AccountId& account_id) override; |
| void HandleHardlockPod(const AccountId& account_id) override; |
| void HandleRecordClickOnLockIcon(const AccountId& account_id) override; |
| + void HandleFocusPod(const AccountId& account_id) override; |
| + void HandleNoPodFocused() override; |
| + |
| + // PowerManagerClient::Observer: |
| + void SuspendDone(const base::TimeDelta& sleep_duration) override; |
| + |
| + void UpdatePinKeyboardState(const AccountId& account_id); |
|
jdufault
2017/06/08 21:12:06
These methods should go above the overrides.
xiaoyinh(OOO Sep 11-29)
2017/06/09 00:47:11
Done.
|
| + void OnAllowedInputMethodsChanged(); |
| std::unique_ptr<UserSelectionScreenProxy> user_selection_screen_proxy_; |
| std::unique_ptr<UserSelectionScreen> user_selection_screen_; |
| @@ -56,6 +70,16 @@ class ViewsScreenLocker : public LockScreenClient::Delegate, |
| // Time when lock was initiated, required for metrics. |
| base::TimeTicks lock_time_; |
| + std::unique_ptr<AccountId> focused_pod_account_id_; |
|
jdufault
2017/06/08 21:12:06
base::Optional
- avoids heap allocation
- I'm g
xiaoyinh(OOO Sep 11-29)
2017/06/09 00:47:11
Done.
|
| + |
| + // 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); |