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); |