| // Copyright (c) 2012 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/mock_input_method.h" |
| |
| #include "ui/base/ime/text_input_focus_manager.h" |
| #include "ui/base/ui_base_switches_util.h" |
| |
| namespace ui { |
| |
| MockInputMethod::MockInputMethod(internal::InputMethodDelegate* delegate) |
| : text_input_client_(NULL) { |
| } |
| |
| MockInputMethod::~MockInputMethod() { |
| } |
| |
| void MockInputMethod::SetDelegate(internal::InputMethodDelegate* delegate) { |
| } |
| |
| void MockInputMethod::SetFocusedTextInputClient(TextInputClient* client) { |
| if (switches::IsTextInputFocusManagerEnabled()) |
| return; |
| |
| if (text_input_client_ == client) |
| return; |
| text_input_client_ = client; |
| if (client) |
| OnTextInputTypeChanged(client); |
| } |
| |
| void MockInputMethod::DetachTextInputClient(TextInputClient* client) { |
| if (text_input_client_ == client) { |
| text_input_client_ = NULL; |
| } |
| } |
| |
| TextInputClient* MockInputMethod::GetTextInputClient() const { |
| if (switches::IsTextInputFocusManagerEnabled()) |
| return TextInputFocusManager::GetInstance()->GetFocusedTextInputClient(); |
| |
| return text_input_client_; |
| } |
| |
| bool MockInputMethod::DispatchKeyEvent(const ui::KeyEvent& event) { |
| return false; |
| } |
| |
| void MockInputMethod::Init(bool focused) { |
| } |
| |
| void MockInputMethod::OnFocus() { |
| FOR_EACH_OBSERVER(InputMethodObserver, observer_list_, OnFocus()); |
| } |
| |
| void MockInputMethod::OnBlur() { |
| FOR_EACH_OBSERVER(InputMethodObserver, observer_list_, OnBlur()); |
| } |
| |
| bool MockInputMethod::OnUntranslatedIMEMessage(const base::NativeEvent& event, |
| NativeEventResult* result) { |
| if (result) |
| *result = NativeEventResult(); |
| return false; |
| } |
| |
| void MockInputMethod::OnTextInputTypeChanged(const TextInputClient* client) { |
| FOR_EACH_OBSERVER(InputMethodObserver, |
| observer_list_, |
| OnTextInputTypeChanged(client)); |
| FOR_EACH_OBSERVER(InputMethodObserver, |
| observer_list_, |
| OnTextInputStateChanged(client)); |
| } |
| |
| void MockInputMethod::OnCaretBoundsChanged(const TextInputClient* client) { |
| FOR_EACH_OBSERVER(InputMethodObserver, |
| observer_list_, |
| OnCaretBoundsChanged(client)); |
| } |
| |
| void MockInputMethod::CancelComposition(const TextInputClient* client) { |
| } |
| |
| void MockInputMethod::OnInputLocaleChanged() { |
| } |
| |
| std::string MockInputMethod::GetInputLocale() { |
| return ""; |
| } |
| |
| bool MockInputMethod::IsActive() { |
| return true; |
| } |
| |
| TextInputType MockInputMethod::GetTextInputType() const { |
| return TEXT_INPUT_TYPE_NONE; |
| } |
| |
| TextInputMode MockInputMethod::GetTextInputMode() const { |
| return TEXT_INPUT_MODE_DEFAULT; |
| } |
| |
| bool MockInputMethod::CanComposeInline() const { |
| return true; |
| } |
| |
| bool MockInputMethod::IsCandidatePopupOpen() const { |
| return false; |
| } |
| |
| void MockInputMethod::ShowImeIfNeeded() { |
| FOR_EACH_OBSERVER(InputMethodObserver, observer_list_, OnShowImeIfNeeded()); |
| } |
| |
| void MockInputMethod::AddObserver(InputMethodObserver* observer) { |
| observer_list_.AddObserver(observer); |
| } |
| |
| void MockInputMethod::RemoveObserver(InputMethodObserver* observer) { |
| observer_list_.RemoveObserver(observer); |
| } |
| |
| } // namespace ui |