blob: 5aed087512fe638d59762b4ec58268bf5d31e887 [file] [log] [blame]
// Copyright 2011 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_BASE_IME_INIT_INPUT_METHOD_FACTORY_H_
#define UI_BASE_IME_INIT_INPUT_METHOD_FACTORY_H_
#include <memory>
#include "base/component_export.h"
#include "ui/base/ime/init/input_method_initializer.h"
#include "ui/gfx/native_widget_types.h"
namespace ui {
class InputMethod;
class ImeKeyEventDispatcher;
// Creates a new instance of InputMethod and returns it.
COMPONENT_EXPORT(UI_BASE_IME_INIT)
std::unique_ptr<InputMethod> CreateInputMethod(
ImeKeyEventDispatcher* ime_key_event_dispatcher,
gfx::AcceleratedWidget widget);
// Makes CreateInputMethod return a MockInputMethod.
COMPONENT_EXPORT(UI_BASE_IME_INIT)
void SetUpInputMethodForTesting(InputMethod* input_method);
class COMPONENT_EXPORT(UI_BASE_IME_INIT) ScopedTestInputMethodFactory {
public:
ScopedTestInputMethodFactory();
ScopedTestInputMethodFactory(const ScopedTestInputMethodFactory&) = delete;
ScopedTestInputMethodFactory& operator=(const ScopedTestInputMethodFactory&) =
delete;
~ScopedTestInputMethodFactory();
};
} // namespace ui
#endif // UI_BASE_IME_INIT_INPUT_METHOD_FACTORY_H_