| Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
|
| index 2cc7bd5b0ed9e9a82857a9dd142750df5799e8be..265034058379fcd466d1d2ec5a8c8114eb413cb5 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
|
| +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
|
| @@ -28,6 +28,7 @@
|
| #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
|
| #include "chrome/browser/ui/webui/chromeos/touch_view_controller_delegate.h"
|
| #include "chromeos/ime/ime_keyboard.h"
|
| +#include "chromeos/ime/input_method_manager.h"
|
| #include "chromeos/network/portal_detector/network_portal_detector.h"
|
| #include "components/user_manager/user_manager.h"
|
| #include "content/public/browser/notification_observer.h"
|
| @@ -213,7 +214,8 @@ class SigninScreenHandler
|
| public ScreenlockBridge::LockHandler,
|
| public NetworkStateInformer::NetworkStateInformerObserver,
|
| public input_method::ImeKeyboard::Observer,
|
| - public TouchViewControllerDelegate::Observer {
|
| + public TouchViewControllerDelegate::Observer,
|
| + public OobeUI::Observer {
|
| public:
|
| SigninScreenHandler(
|
| const scoped_refptr<NetworkStateInformer>& network_state_informer,
|
| @@ -246,6 +248,15 @@ class SigninScreenHandler
|
| kiosk_enable_flow_aborted_callback_for_test_ = callback;
|
| }
|
|
|
| + // OobeUI::Observer implemetation.
|
| + virtual void OnCurrentScreenChanged(OobeUI::Screen current_screen,
|
| + OobeUI::Screen new_screen) OVERRIDE;
|
| +
|
| + // Returns least used user login input method.
|
| + std::string GetUserLRUInputMethod(const std::string& username) const;
|
| +
|
| + void SetFocusPODCallbackForTesting(base::Closure callback);
|
| +
|
| private:
|
| enum UIState {
|
| UI_STATE_UNKNOWN = 0,
|
| @@ -422,8 +433,10 @@ class SigninScreenHandler
|
|
|
| bool ShouldLoadGaia() const;
|
|
|
| - // Update current input method (namely keyboard layout) to LRU by this user.
|
| - void SetUserInputMethod(const std::string& username);
|
| + // Update current input method (namely keyboard layout) in the given IME state
|
| + // to LRU by this user.
|
| + void SetUserInputMethod(const std::string& username,
|
| + input_method::InputMethodManager::State* ime_state);
|
|
|
| // Invoked when auto enrollment check progresses to decide whether to
|
| // continue kiosk enable flow. Kiosk enable flow is resumed when
|
| @@ -439,6 +452,9 @@ class SigninScreenHandler
|
| // input_method::ImeKeyboard::Observer implementation:
|
| virtual void OnCapsLockChanged(bool enabled) OVERRIDE;
|
|
|
| + // Returns OobeUI object of NULL.
|
| + OobeUI* GetOobeUI() const;
|
| +
|
| // Current UI state of the signin screen.
|
| UIState ui_state_;
|
|
|
| @@ -501,6 +517,15 @@ class SigninScreenHandler
|
| // Whether consumer management enrollment is in progress.
|
| bool is_enrolling_consumer_management_;
|
|
|
| + // Input Method Engine state used at signin screen.
|
| + scoped_refptr<input_method::InputMethodManager::State> ime_state_;
|
| +
|
| + // This callback captures "focusPod finished" event for tests.
|
| + base::Closure test_focus_pod_callback_;
|
| +
|
| + // True if SigninScreenHandler has already been added to OobeUI observers.
|
| + bool oobe_ui_observer_added_;
|
| +
|
| base::WeakPtrFactory<SigninScreenHandler> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(SigninScreenHandler);
|
|
|