Split ui/base/ime into a new component
[chromium-blink-merge.git] / ui / base / ime / input_method_minimal.h
blobd66810e54eb20c4819c776989dee56039de605d4
1 // Copyright 2013 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.
5 #ifndef UI_BASE_IME_INPUT_METHOD_MINIMAL_H_
6 #define UI_BASE_IME_INPUT_METHOD_MINIMAL_H_
8 #include "ui/base/ime/input_method_base.h"
10 namespace ui {
12 // A minimal implementation of ui::InputMethod, which supports only the direct
13 // input without any compositions or conversions.
14 class UI_BASE_IME_EXPORT InputMethodMinimal : public InputMethodBase {
15 public:
16 explicit InputMethodMinimal(internal::InputMethodDelegate* delegate);
17 ~InputMethodMinimal() override;
19 // Overriden from InputMethod.
20 bool OnUntranslatedIMEMessage(const base::NativeEvent& event,
21 NativeEventResult* result) override;
22 bool DispatchKeyEvent(const ui::KeyEvent& event) override;
23 void OnCaretBoundsChanged(const TextInputClient* client) override;
24 void CancelComposition(const TextInputClient* client) override;
25 void OnInputLocaleChanged() override;
26 std::string GetInputLocale() override;
27 bool IsActive() override;
28 bool IsCandidatePopupOpen() const override;
30 private:
31 DISALLOW_COPY_AND_ASSIGN(InputMethodMinimal);
34 } // namespace ui
36 #endif // UI_BASE_IME_INPUT_METHOD_MINIMAL_H_