summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/input_method/input_method_manager_impl.h
diff options
context:
space:
mode:
authornona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-31 04:16:16 +0000
committernona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-31 04:16:16 +0000
commit73b14fcad61ca35a19895cffadaf2739f2151f14 (patch)
treef70bef8311582ed45f4b31595b24bb9dcd86f2ea /chrome/browser/chromeos/input_method/input_method_manager_impl.h
parentd53ca02c249e9b4e53e325c7b93e8d673ef33f74 (diff)
downloadchromium_src-73b14fcad61ca35a19895cffadaf2739f2151f14.zip
chromium_src-73b14fcad61ca35a19895cffadaf2739f2151f14.tar.gz
chromium_src-73b14fcad61ca35a19895cffadaf2739f2151f14.tar.bz2
Introduce GetComponentExtensionIMEManager.
BUG=164377 TEST=None Review URL: https://chromiumcodereview.appspot.com/13207005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191572 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/input_method/input_method_manager_impl.h')
-rw-r--r--chrome/browser/chromeos/input_method/input_method_manager_impl.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.h b/chrome/browser/chromeos/input_method/input_method_manager_impl.h
index abaae6d..3a167bf 100644
--- a/chrome/browser/chromeos/input_method/input_method_manager_impl.h
+++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.h
@@ -11,6 +11,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/observer_list.h"
+#include "base/threading/thread_checker.h"
#include "chrome/browser/chromeos/input_method/candidate_window_controller.h"
#include "chrome/browser/chromeos/input_method/ibus_controller.h"
#include "chrome/browser/chromeos/input_method/input_method_manager.h"
@@ -19,6 +20,8 @@
#include "chromeos/ime/input_method_whitelist.h"
namespace chromeos {
+class ComponentExtensionIMEManager;
+class ComponentExtensionIMEManagerDelegate;
class InputMethodEngineIBus;
namespace input_method {
class InputMethodDelegate;
@@ -39,7 +42,8 @@ class InputMethodManagerImpl : public InputMethodManager,
// to the InputMethodManagerImpl object. You don't have to call this function
// if you attach them yourself (e.g. in unit tests) using the protected
// setters.
- void Init();
+ void Init(const scoped_refptr<base::SequencedTaskRunner>& ui_task_runner,
+ const scoped_refptr<base::SequencedTaskRunner>& file_task_runner);
// Receives notification of an InputMethodManager::State transition.
void SetState(State new_state);
@@ -84,6 +88,8 @@ class InputMethodManagerImpl : public InputMethodManager,
GetCurrentInputMethodProperties() const OVERRIDE;
virtual XKeyboard* GetXKeyboard() OVERRIDE;
virtual InputMethodUtil* GetInputMethodUtil() OVERRIDE;
+ virtual ComponentExtensionIMEManager*
+ GetComponentExtensionIMEManager() OVERRIDE;
// Sets |ibus_controller_|.
void SetIBusControllerForTesting(IBusController* ibus_controller);
@@ -137,6 +143,10 @@ class InputMethodManagerImpl : public InputMethodManager,
void ChangeInputMethodInternal(const std::string& input_method_id,
bool show_message);
+ // Called when the ComponentExtensionIMEManagerDelegate is initialized.
+ void OnComponentExtensionInitialized(
+ ComponentExtensionIMEManagerDelegate* delegate);
+
scoped_ptr<InputMethodDelegate> delegate_;
// The current browser status.
@@ -182,10 +192,17 @@ class InputMethodManagerImpl : public InputMethodManager,
// that |util_| is required to initialize |xkeyboard_|.
InputMethodUtil util_;
+ // An object which provides component extension ime management functions.
+ scoped_ptr<ComponentExtensionIMEManager> component_extension_ime_manager_;
+
// An object for switching XKB layouts and keyboard status like caps lock and
// auto-repeat interval.
scoped_ptr<XKeyboard> xkeyboard_;
+ base::ThreadChecker thread_checker_;
+
+ base::WeakPtrFactory<InputMethodManagerImpl> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(InputMethodManagerImpl);
};