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 10namespace chromeos { 11namespace input_method { 12 13class 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. 18void Initialize(); 19 20// Similar to Initialize(), but can inject an alternative 21// InputMethodManager such as MockInputMethodManager for testing. 22// The injected object will be owned by the internal pointer and deleted 23// by Shutdown(). 24// TODO(nona): Remove this and use InputMethodManager::Initialize instead. 25void InitializeForTesting(InputMethodManager* mock_manager); 26 27// Disables the IME extension loading (e.g. for browser tests). 28void DisableExtensionLoading(); 29 30// Destroys the global InputMethodManager instance. 31void Shutdown(); 32 33} // namespace input_method 34} // namespace chromeos 35 36#endif // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_CONFIGURATION_H_ 37