// 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 #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; } void InputMethodMinimal::DispatchKeyEvent(ui::KeyEvent* event) { DCHECK(event->type() == ET_KEY_PRESSED || event->type() == ET_KEY_RELEASED); // If no text input client, do nothing. if (!GetTextInputClient()) { ignore_result(DispatchKeyEventPostIME(event)); return; } // Insert the character. ignore_result(DispatchKeyEventPostIME(event)); if (event->type() == ET_KEY_PRESSED && GetTextInputClient()) { const uint16_t ch = event->GetCharacter(); if (ch) { GetTextInputClient()->InsertChar(*event); event->StopPropagation(); } } } void InputMethodMinimal::OnCaretBoundsChanged(const TextInputClient* client) {} void InputMethodMinimal::CancelComposition(const TextInputClient* client) {} void InputMethodMinimal::OnInputLocaleChanged() {} std::string InputMethodMinimal::GetInputLocale() { return std::string(); } bool InputMethodMinimal::IsCandidatePopupOpen() const { return false; } } // namespace ui