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