1 // Copyright (c) 2012 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 #include "ui/base/ime/mock_input_method.h"
7 #include "ui/base/ime/text_input_focus_manager.h"
8 #include "ui/base/ui_base_switches_util.h"
12 MockInputMethod::MockInputMethod(internal::InputMethodDelegate
* delegate
)
13 : text_input_client_(NULL
) {
16 MockInputMethod::~MockInputMethod() {
19 void MockInputMethod::SetDelegate(internal::InputMethodDelegate
* delegate
) {
22 void MockInputMethod::SetFocusedTextInputClient(TextInputClient
* client
) {
23 if (switches::IsTextInputFocusManagerEnabled())
26 if (text_input_client_
== client
)
28 text_input_client_
= client
;
30 OnTextInputTypeChanged(client
);
33 void MockInputMethod::DetachTextInputClient(TextInputClient
* client
) {
34 if (text_input_client_
== client
) {
35 text_input_client_
= NULL
;
39 TextInputClient
* MockInputMethod::GetTextInputClient() const {
40 if (switches::IsTextInputFocusManagerEnabled())
41 return TextInputFocusManager::GetInstance()->GetFocusedTextInputClient();
43 return text_input_client_
;
46 bool MockInputMethod::DispatchKeyEvent(const ui::KeyEvent
& event
) {
50 void MockInputMethod::OnFocus() {
51 FOR_EACH_OBSERVER(InputMethodObserver
, observer_list_
, OnFocus());
54 void MockInputMethod::OnBlur() {
55 FOR_EACH_OBSERVER(InputMethodObserver
, observer_list_
, OnBlur());
58 bool MockInputMethod::OnUntranslatedIMEMessage(const base::NativeEvent
& event
,
59 NativeEventResult
* result
) {
61 *result
= NativeEventResult();
65 void MockInputMethod::OnTextInputTypeChanged(const TextInputClient
* client
) {
66 FOR_EACH_OBSERVER(InputMethodObserver
,
68 OnTextInputTypeChanged(client
));
69 FOR_EACH_OBSERVER(InputMethodObserver
,
71 OnTextInputStateChanged(client
));
74 void MockInputMethod::OnCaretBoundsChanged(const TextInputClient
* client
) {
75 FOR_EACH_OBSERVER(InputMethodObserver
,
77 OnCaretBoundsChanged(client
));
80 void MockInputMethod::CancelComposition(const TextInputClient
* client
) {
83 void MockInputMethod::OnInputLocaleChanged() {
86 std::string
MockInputMethod::GetInputLocale() {
90 bool MockInputMethod::IsActive() {
94 TextInputType
MockInputMethod::GetTextInputType() const {
95 return TEXT_INPUT_TYPE_NONE
;
98 TextInputMode
MockInputMethod::GetTextInputMode() const {
99 return TEXT_INPUT_MODE_DEFAULT
;
102 int MockInputMethod::GetTextInputFlags() const {
106 bool MockInputMethod::CanComposeInline() const {
110 bool MockInputMethod::IsCandidatePopupOpen() const {
114 void MockInputMethod::ShowImeIfNeeded() {
115 FOR_EACH_OBSERVER(InputMethodObserver
, observer_list_
, OnShowImeIfNeeded());
118 void MockInputMethod::AddObserver(InputMethodObserver
* observer
) {
119 observer_list_
.AddObserver(observer
);
122 void MockInputMethod::RemoveObserver(InputMethodObserver
* observer
) {
123 observer_list_
.RemoveObserver(observer
);