13839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o// Copyright (c) 2011 The Chromium Authors. All rights reserved.
23839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o// Use of this source code is governed by a BSD-style license that can be
33839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o// found in the LICENSE file.
43839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o
506cefee50dc681838454fcd079ba5b2760969f1bTheodore Ts'o#ifndef UI_BASE_IME_INPUT_METHOD_DELEGATE_H_
606cefee50dc681838454fcd079ba5b2760969f1bTheodore Ts'o#define UI_BASE_IME_INPUT_METHOD_DELEGATE_H_
706cefee50dc681838454fcd079ba5b2760969f1bTheodore Ts'o
806cefee50dc681838454fcd079ba5b2760969f1bTheodore Ts'o#include "ui/base/ui_base_export.h"
906cefee50dc681838454fcd079ba5b2760969f1bTheodore Ts'o
1006cefee50dc681838454fcd079ba5b2760969f1bTheodore Ts'onamespace ui {
1106cefee50dc681838454fcd079ba5b2760969f1bTheodore Ts'o
1206cefee50dc681838454fcd079ba5b2760969f1bTheodore Ts'oclass KeyEvent;
133839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o
143839e65723771b85975f4263102dd3ceec4523cTheodore Ts'onamespace internal {
153839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o
16f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o// An interface implemented by the object that handles events sent back from an
173839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o// ui::InputMethod implementation.
183839e65723771b85975f4263102dd3ceec4523cTheodore Ts'oclass UI_BASE_EXPORT InputMethodDelegate {
193839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o public:
203839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o  virtual ~InputMethodDelegate() {}
21e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall
223839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o  // Dispatch a key event already processed by the input method.
233839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o  // Returns true if the event was processed.
243839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o  virtual bool DispatchKeyEventPostIME(const ui::KeyEvent& key_event) = 0;
253839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o};
26a47b66ee09960a8bf00e72b431ec56d68e11a301Theodore Ts'o
27f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o}  // namespace internal
283839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o}  // namespace ui
293839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o
30#endif  // UI_BASE_IME_INPUT_METHOD_DELEGATE_H_
31