1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_CONFIGURATION_H_ 6 #define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_CONFIGURATION_H_ 7 8 #include "base/sequenced_task_runner.h" 9 10 namespace chromeos { 11 namespace input_method { 12 13 class InputMethodManager; 14 15 // Initializes the InputMethodManager. Must be called before any calls to 16 // GetInstance(). We explicitly initialize and shut down the global instance, 17 // rather than making it a Singleton, to ensure clean startup and shutdown. 18 void Initialize( 19 const scoped_refptr<base::SequencedTaskRunner>& ui_task_runner, 20 const scoped_refptr<base::SequencedTaskRunner>& file_task_runner); 21 22 // Similar to Initialize(), but can inject an alternative 23 // InputMethodManager such as MockInputMethodManager for testing. 24 // The injected object will be owned by the internal pointer and deleted 25 // by Shutdown(). 26 // TODO(nona): Remove this and use InputMethodManager::Initialize instead. 27 void InitializeForTesting(InputMethodManager* mock_manager); 28 29 // Destroys the global InputMethodManager instance. 30 void Shutdown(); 31 32 } // namespace input_method 33 } // namespace chromeos 34 35 #endif // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_CONFIGURATION_H_ 36