| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "ui/base/ime/input_method_minimal.h" |
| |
| #include "ui/base/ime/text_input_client.h" |
| #include "ui/events/event.h" |
| #include "ui/events/event_constants.h" |
| |
| namespace ui { |
| |
| InputMethodMinimal::InputMethodMinimal( |
| internal::InputMethodDelegate* delegate) { |
| SetDelegate(delegate); |
| } |
| |
| InputMethodMinimal::~InputMethodMinimal() {} |
| |
| bool InputMethodMinimal::OnUntranslatedIMEMessage( |
| const base::NativeEvent& event, |
| NativeEventResult* result) { |
| return false; |
| } |
| |
| bool InputMethodMinimal::DispatchKeyEvent(const ui::KeyEvent& event) { |
| DCHECK(event.type() == ET_KEY_PRESSED || event.type() == ET_KEY_RELEASED); |
| |
| // If no text input client, do nothing. |
| if (!GetTextInputClient()) |
| return DispatchKeyEventPostIME(event); |
| |
| // Insert the character. |
| const bool handled = DispatchKeyEventPostIME(event); |
| if (event.type() == ET_KEY_PRESSED && GetTextInputClient()) { |
| const uint16 ch = event.GetCharacter(); |
| if (ch) { |
| GetTextInputClient()->InsertChar(ch, event.flags()); |
| return true; |
| } |
| } |
| return handled; |
| } |
| |
| void InputMethodMinimal::OnCaretBoundsChanged(const TextInputClient* client) {} |
| |
| void InputMethodMinimal::CancelComposition(const TextInputClient* client) {} |
| |
| void InputMethodMinimal::OnInputLocaleChanged() {} |
| |
| std::string InputMethodMinimal::GetInputLocale() { |
| return std::string(); |
| } |
| |
| bool InputMethodMinimal::IsActive() { |
| return true; |
| } |
| |
| bool InputMethodMinimal::IsCandidatePopupOpen() const { |
| return false; |
| } |
| |
| } // namespace ui |