| Index: chromeos/ime/input_method_manager.h
|
| diff --git a/chromeos/ime/input_method_manager.h b/chromeos/ime/input_method_manager.h
|
| index 1ef694e7018a54b48d315f9bf9d8851ca73ae72a..809ee11db879a616c98ecda4ba15e1869cc0d597 100644
|
| --- a/chromeos/ime/input_method_manager.h
|
| +++ b/chromeos/ime/input_method_manager.h
|
| @@ -9,6 +9,7 @@
|
| #include <string>
|
| #include <vector>
|
|
|
| +#include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "chromeos/chromeos_export.h"
|
| #include "chromeos/ime/input_method_descriptor.h"
|
| @@ -31,7 +32,7 @@ class ImeKeyboard;
|
| // InputMethodManager::Get().
|
| class CHROMEOS_EXPORT InputMethodManager {
|
| public:
|
| - enum State {
|
| + enum UISessionState {
|
| STATE_LOGIN_SCREEN = 0,
|
| STATE_BROWSER_SCREEN,
|
| STATE_LOCK_SCREEN,
|
| @@ -61,6 +62,13 @@ class CHROMEOS_EXPORT InputMethodManager {
|
| virtual void CandidateWindowClosed(InputMethodManager* manager) = 0;
|
| };
|
|
|
| + class State : public base::RefCounted<InputMethodManager::State> {
|
| + protected:
|
| + friend base::RefCounted<InputMethodManager::State>;
|
| +
|
| + virtual ~State();
|
| + };
|
| +
|
| virtual ~InputMethodManager() {}
|
|
|
| // Gets the global instance of InputMethodManager. Initialize() must be called
|
| @@ -199,6 +207,11 @@ class CHROMEOS_EXPORT InputMethodManager {
|
| // Migrates the input method id to extension-based input method id.
|
| virtual bool MigrateInputMethods(
|
| std::vector<std::string>* input_method_ids) = 0;
|
| +
|
| + virtual scoped_refptr<State> CreateNewState(
|
| + const std::string& debug_name) const = 0;
|
| +
|
| + virtual void SetState(scoped_refptr<State> state) = 0;
|
| };
|
|
|
| } // namespace input_method
|
|
|