Chromium Code Reviews| Index: chrome/browser/chromeos/input_method/ibus_controller_impl.h |
| diff --git a/chrome/browser/chromeos/input_method/ibus_controller_impl.h b/chrome/browser/chromeos/input_method/ibus_controller_impl.h |
| index eb59d2b425376b72067a86eb4aafcc97e08ad401..7b2f666662c81d509a42586cb3d58800b8fbcf68 100644 |
| --- a/chrome/browser/chromeos/input_method/ibus_controller_impl.h |
| +++ b/chrome/browser/chromeos/input_method/ibus_controller_impl.h |
| @@ -10,11 +10,16 @@ |
| #include <string> |
| #include <vector> |
| +#include "base/memory/ref_counted.h" |
| #include "base/process_util.h" |
| #include "chrome/browser/chromeos/input_method/ibus_controller_base.h" |
| #include "chrome/browser/chromeos/input_method/input_method_whitelist.h" |
| #include "chromeos/dbus/ibus/ibus_panel_service.h" |
| +namespace base { |
| +class SequencedTaskRunner; |
| +} // namespace base |
| + |
| namespace ui { |
| class InputMethodIBus; |
| } // namespace ui |
| @@ -30,7 +35,9 @@ typedef std::vector<InputMethodProperty> InputMethodPropertyList; |
| class IBusControllerImpl : public IBusControllerBase, |
| public ibus::IBusPanelPropertyHandlerInterface { |
| public: |
| - IBusControllerImpl(); |
| + IBusControllerImpl( |
|
Seigo Nonaka
2012/12/13 05:40:11
nit: please add comment for |default_task_runner|
|
| + const scoped_refptr<base::SequencedTaskRunner>& default_task_runner, |
| + const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner); |
| virtual ~IBusControllerImpl(); |
| // IBusController overrides: |
| @@ -46,9 +53,6 @@ class IBusControllerImpl : public IBusControllerBase, |
| const InputMethodProperty& new_prop, |
| InputMethodPropertyList* prop_list); |
| - static void IBusDaemonInitializationDone(IBusControllerImpl* controller, |
| - const std::string& ibus_address); |
| - |
| private: |
| enum IBusDaemonStatus{ |
| IBUS_DAEMON_INITIALIZING, |
| @@ -95,6 +99,13 @@ class IBusControllerImpl : public IBusControllerBase, |
| // The injected object must be released by caller. |
| void set_input_method_for_testing(ui::InputMethodIBus* input_method); |
| + // Receives a notification on a worker thread and posts a call to |
| + // IBusDaemonInitializationDone on the default task runner. |
| + void IBusDaemonInitializationDoneWorkerCallback( |
| + const std::string& ibus_address); |
| + |
| + void IBusDaemonInitializationDone(const std::string& ibus_address); |
| + |
| // Called when the IBusConfigClient is initialized. |
| void OnIBusConfigClientInitialized(); |
| @@ -127,6 +138,9 @@ class IBusControllerImpl : public IBusControllerBase, |
| // The pointer to global input method. We can inject this value for testing. |
| ui::InputMethodIBus* input_method_; |
| + scoped_refptr<base::SequencedTaskRunner> default_task_runner_; |
| + scoped_refptr<base::SequencedTaskRunner> worker_task_runner_; |
| + |
| // Used for making callbacks for PostTask. |
| base::WeakPtrFactory<IBusControllerImpl> weak_ptr_factory_; |