| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_CONFIGURATION_H_ |
| #define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_CONFIGURATION_H_ |
| |
| #include "base/sequenced_task_runner.h" |
| |
| namespace chromeos { |
| namespace input_method { |
| |
| class InputMethodManager; |
| |
| // Initializes the InputMethodManager. Must be called before any calls to |
| // GetInstance(). We explicitly initialize and shut down the global instance, |
| // rather than making it a Singleton, to ensure clean startup and shutdown. |
| void Initialize( |
| const scoped_refptr<base::SequencedTaskRunner>& ui_task_runner, |
| const scoped_refptr<base::SequencedTaskRunner>& file_task_runner); |
| |
| // Similar to Initialize(), but can inject an alternative |
| // InputMethodManager such as MockInputMethodManager for testing. |
| // The injected object will be owned by the internal pointer and deleted |
| // by Shutdown(). |
| // TODO(nona): Remove this and use InputMethodManager::Initialize instead. |
| void InitializeForTesting(InputMethodManager* mock_manager); |
| |
| // Destroys the global InputMethodManager instance. |
| void Shutdown(); |
| |
| } // namespace input_method |
| } // namespace chromeos |
| |
| #endif // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_CONFIGURATION_H_ |