summaryrefslogtreecommitdiffstats
path: root/chromeos
diff options
context:
space:
mode:
authorkomatsu@chromium.org <komatsu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-01 13:08:34 +0000
committerkomatsu@chromium.org <komatsu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-01 13:08:34 +0000
commit637ee4913f2377f6936e1efefbbc3035502f931c (patch)
tree3741f617bf65b4abe80fd2625496c39e728e2796 /chromeos
parentab3032cc90f6c0f8de2d1cb7519ab6d5167aecb2 (diff)
downloadchromium_src-637ee4913f2377f6936e1efefbbc3035502f931c.zip
chromium_src-637ee4913f2377f6936e1efefbbc3035502f931c.tar.gz
chromium_src-637ee4913f2377f6936e1efefbbc3035502f931c.tar.bz2
Delete IBusInputContextClient
IBusInputContextClient is no longer used in the production at all. BUG=275262 Review URL: https://codereview.chromium.org/25081003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226216 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos')
-rw-r--r--chromeos/chromeos.gyp5
-rw-r--r--chromeos/dbus/dbus_thread_manager.cc8
-rw-r--r--chromeos/dbus/dbus_thread_manager.h2
-rw-r--r--chromeos/dbus/ibus/ibus_client.h1
-rw-r--r--chromeos/dbus/ibus/ibus_input_context_client.cc494
-rw-r--r--chromeos/dbus/ibus/ibus_input_context_client.h117
-rw-r--r--chromeos/dbus/ibus/ibus_input_context_client_unittest.cc612
-rw-r--r--chromeos/dbus/ibus/mock_ibus_input_context_client.cc110
-rw-r--r--chromeos/dbus/ibus/mock_ibus_input_context_client.h121
-rw-r--r--chromeos/dbus/mock_dbus_thread_manager.cc1
-rw-r--r--chromeos/dbus/mock_dbus_thread_manager.h1
-rw-r--r--chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc7
-rw-r--r--chromeos/dbus/mock_dbus_thread_manager_without_gmock.h7
13 files changed, 0 insertions, 1486 deletions
diff --git a/chromeos/chromeos.gyp b/chromeos/chromeos.gyp
index 6ef4796..2e0bd79 100644
--- a/chromeos/chromeos.gyp
+++ b/chromeos/chromeos.gyp
@@ -155,8 +155,6 @@
'dbus/ibus/ibus_object.h',
'dbus/ibus/ibus_text.cc',
'dbus/ibus/ibus_text.h',
- 'dbus/ibus/ibus_input_context_client.cc',
- 'dbus/ibus/ibus_input_context_client.h',
'dbus/image_burner_client.cc',
'dbus/image_burner_client.h',
'dbus/introspectable_client.cc',
@@ -422,8 +420,6 @@
'dbus/mock_dbus_thread_manager_without_gmock.h',
'dbus/ibus/mock_ibus_client.cc',
'dbus/ibus/mock_ibus_client.h',
- 'dbus/ibus/mock_ibus_input_context_client.cc',
- 'dbus/ibus/mock_ibus_input_context_client.h',
'dbus/ibus/mock_ibus_engine_factory_service.cc',
'dbus/ibus/mock_ibus_engine_factory_service.h',
'dbus/ibus/mock_ibus_engine_service.cc',
@@ -475,7 +471,6 @@
'dbus/ibus/ibus_client_unittest.cc',
'dbus/ibus/ibus_component_unittest.cc',
'dbus/ibus/ibus_engine_factory_service_unittest.cc',
- 'dbus/ibus/ibus_input_context_client_unittest.cc',
'dbus/ibus/ibus_lookup_table_unittest.cc',
'dbus/ibus/ibus_object_unittest.cc',
'dbus/ibus/ibus_text_unittest.cc',
diff --git a/chromeos/dbus/dbus_thread_manager.cc b/chromeos/dbus/dbus_thread_manager.cc
index f235990..46753c1 100644
--- a/chromeos/dbus/dbus_thread_manager.cc
+++ b/chromeos/dbus/dbus_thread_manager.cc
@@ -26,7 +26,6 @@
#include "chromeos/dbus/ibus/ibus_client.h"
#include "chromeos/dbus/ibus/ibus_engine_factory_service.h"
#include "chromeos/dbus/ibus/ibus_engine_service.h"
-#include "chromeos/dbus/ibus/ibus_input_context_client.h"
#include "chromeos/dbus/image_burner_client.h"
#include "chromeos/dbus/introspectable_client.h"
#include "chromeos/dbus/modem_messaging_client.h"
@@ -173,8 +172,6 @@ class DBusThreadManagerImpl : public DBusThreadManager {
ibus_client_.reset(
IBusClient::Create(client_type, ibus_bus_.get()));
- ibus_input_context_client_.reset(
- IBusInputContextClient::Create(client_type));
ibus_engine_factory_service_.reset(
IBusEngineFactoryService::Create(ibus_bus_.get(), client_type));
@@ -296,10 +293,6 @@ class DBusThreadManagerImpl : public DBusThreadManager {
return ibus_client_.get();
}
- virtual IBusInputContextClient* GetIBusInputContextClient() OVERRIDE {
- return ibus_input_context_client_.get();
- }
-
virtual IBusEngineFactoryService* GetIBusEngineFactoryService() OVERRIDE {
return ibus_engine_factory_service_.get();
}
@@ -403,7 +396,6 @@ class DBusThreadManagerImpl : public DBusThreadManager {
scoped_ptr<SMSClient> sms_client_;
scoped_ptr<UpdateEngineClient> update_engine_client_;
scoped_ptr<IBusClient> ibus_client_;
- scoped_ptr<IBusInputContextClient> ibus_input_context_client_;
scoped_ptr<IBusEngineFactoryService> ibus_engine_factory_service_;
std::map<dbus::ObjectPath, IBusEngineService*> ibus_engine_services_;
scoped_ptr<PowerPolicyController> power_policy_controller_;
diff --git a/chromeos/dbus/dbus_thread_manager.h b/chromeos/dbus/dbus_thread_manager.h
index 2fe94a2..65f0333 100644
--- a/chromeos/dbus/dbus_thread_manager.h
+++ b/chromeos/dbus/dbus_thread_manager.h
@@ -39,7 +39,6 @@ class GsmSMSClient;
class IBusClient;
class IBusEngineFactoryService;
class IBusEngineService;
-class IBusInputContextClient;
class ImageBurnerClient;
class IntrospectableClient;
class ModemMessagingClient;
@@ -132,7 +131,6 @@ class CHROMEOS_EXPORT DBusThreadManager {
virtual IBusEngineFactoryService* GetIBusEngineFactoryService() = 0;
virtual IBusEngineService* GetIBusEngineService(
const dbus::ObjectPath& object_path) = 0;
- virtual IBusInputContextClient* GetIBusInputContextClient() = 0;
virtual ImageBurnerClient* GetImageBurnerClient() = 0;
virtual IntrospectableClient* GetIntrospectableClient() = 0;
virtual ModemMessagingClient* GetModemMessagingClient() = 0;
diff --git a/chromeos/dbus/ibus/ibus_client.h b/chromeos/dbus/ibus/ibus_client.h
index 1a66476..a62d7bb 100644
--- a/chromeos/dbus/ibus/ibus_client.h
+++ b/chromeos/dbus/ibus/ibus_client.h
@@ -20,7 +20,6 @@ class Bus;
namespace chromeos {
class IBusComponent;
-class IBusInputContextClient;
// A class to make the actual DBus calls for IBusBus service.
// This class only makes calls, result/error handling should be done by
diff --git a/chromeos/dbus/ibus/ibus_input_context_client.cc b/chromeos/dbus/ibus/ibus_input_context_client.cc
deleted file mode 100644
index 31b082c..0000000
--- a/chromeos/dbus/ibus/ibus_input_context_client.cc
+++ /dev/null
@@ -1,494 +0,0 @@
-// 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 "chromeos/dbus/ibus/ibus_input_context_client.h"
-
-#include <string>
-#include "base/bind.h"
-#include "base/callback.h"
-#include "chromeos/dbus/ibus/ibus_constants.h"
-#include "chromeos/dbus/ibus/ibus_engine_service.h"
-#include "chromeos/dbus/ibus/ibus_text.h"
-#include "chromeos/ime/ibus_bridge.h"
-#include "dbus/bus.h"
-#include "dbus/message.h"
-#include "dbus/object_path.h"
-#include "dbus/object_proxy.h"
-
-namespace chromeos {
-
-using chromeos::IBusText;
-
-namespace {
-
-// The IBusInputContextClient implementation.
-class IBusInputContextClientImpl : public IBusInputContextClient {
- public:
- IBusInputContextClientImpl()
- : proxy_(NULL),
- is_xkb_layout_(true),
- weak_ptr_factory_(this) {
- }
-
- virtual ~IBusInputContextClientImpl() {}
-
- public:
- // IBusInputContextClient override.
- virtual void Initialize(dbus::Bus* bus,
- const dbus::ObjectPath& object_path) OVERRIDE {
- if (proxy_ != NULL) {
- LOG(ERROR) << "IBusInputContextClient is already initialized.";
- return;
- }
- proxy_ = bus->GetObjectProxy(ibus::kServiceName, object_path);
-
- ConnectSignals();
- }
-
- // IBusInputContextClient override.
- virtual void SetInputContextHandler(
- IBusInputContextHandlerInterface* handler) OVERRIDE {
- handler_ = handler;
- }
-
- // IBusInputContextClient override.
- virtual void SetSetCursorLocationHandler(
- const SetCursorLocationHandler& set_cursor_location_handler) OVERRIDE {
- DCHECK(!set_cursor_location_handler.is_null());
- set_cursor_location_handler_ = set_cursor_location_handler;
- }
-
- // IBusInputContextClient override.
- virtual void UnsetSetCursorLocationHandler() OVERRIDE {
- set_cursor_location_handler_.Reset();
- }
-
- // IBusInputContextClient override.
- virtual void ResetObjectProxy() OVERRIDE {
- // Do not delete proxy here, proxy object is managed by dbus::Bus object.
- proxy_ = NULL;
- }
-
- // IBusInputContextClient override.
- virtual bool IsObjectProxyReady() const OVERRIDE {
- return proxy_ != NULL;
- }
-
- // IBusInputContextClient override.
- virtual void SetCapabilities(uint32 capabilities) OVERRIDE {
- dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
- ibus::input_context::kSetCapabilitiesMethod);
- dbus::MessageWriter writer(&method_call);
- writer.AppendUint32(capabilities);
- CallNoResponseMethod(&method_call,
- ibus::input_context::kSetCapabilitiesMethod);
- }
-
- // IBusInputContextClient override.
- virtual void FocusIn() OVERRIDE {
- dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
- ibus::input_context::kFocusInMethod);
- CallNoResponseMethod(&method_call, ibus::input_context::kFocusInMethod);
- }
-
- // IBusInputContextClient override.
- virtual void FocusOut() OVERRIDE {
- dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
- ibus::input_context::kFocusOutMethod);
- CallNoResponseMethod(&method_call, ibus::input_context::kFocusOutMethod);
- }
-
- // IBusInputContextClient override.
- virtual void Reset() OVERRIDE {
- dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
- ibus::input_context::kResetMethod);
- CallNoResponseMethod(&method_call, ibus::input_context::kResetMethod);
- }
-
- // IBusInputContextClient override.
- virtual void SetCursorLocation(const ibus::Rect& cursor_location,
- const ibus::Rect& composition_head) OVERRIDE {
- if (!set_cursor_location_handler_.is_null())
- set_cursor_location_handler_.Run(cursor_location, composition_head);
- }
-
- // IBusInputContextClient override.
- virtual void ProcessKeyEvent(
- uint32 keyval,
- uint32 keycode,
- uint32 state,
- const ProcessKeyEventCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {
- dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
- ibus::input_context::kProcessKeyEventMethod);
- dbus::MessageWriter writer(&method_call);
- writer.AppendUint32(keyval);
- writer.AppendUint32(keycode);
- writer.AppendUint32(state);
- proxy_->CallMethodWithErrorCallback(
- &method_call,
- dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
- base::Bind(&IBusInputContextClientImpl::OnProcessKeyEvent,
- callback,
- error_callback),
- base::Bind(&IBusInputContextClientImpl::OnProecessKeyEventFail,
- error_callback));
- }
-
- // IBusInputContextClient override.
- virtual void SetSurroundingText(const std::string& text,
- uint32 start_index,
- uint32 end_index) OVERRIDE {
- dbus::MethodCall method_call(
- ibus::input_context::kServiceInterface,
- ibus::input_context::kSetSurroundingTextMethod);
- dbus::MessageWriter writer(&method_call);
- AppendStringAsIBusText(text, &writer);
- writer.AppendUint32(start_index);
- writer.AppendUint32(end_index);
- CallNoResponseMethod(&method_call,
- ibus::input_context::kSetSurroundingTextMethod);
- }
-
- // IBusInputContextClient override.
- virtual void PropertyActivate(const std::string& key,
- ibus::IBusPropertyState state) OVERRIDE {
- dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
- ibus::input_context::kPropertyActivateMethod);
- dbus::MessageWriter writer(&method_call);
- writer.AppendString(key);
- if (state == ibus::IBUS_PROPERTY_STATE_CHECKED) {
- writer.AppendUint32(ibus::IBUS_PROPERTY_STATE_CHECKED);
- } else {
- writer.AppendUint32(ibus::IBUS_PROPERTY_STATE_UNCHECKED);
- }
- CallNoResponseMethod(&method_call,
- ibus::input_context::kPropertyActivateMethod);
- }
-
- // IBusInputContextClient override.
- virtual bool IsXKBLayout() OVERRIDE {
- return is_xkb_layout_;
- }
-
- // IBusInputContextClient override.
- virtual void SetIsXKBLayout(bool is_xkb_layout) OVERRIDE {
- is_xkb_layout_ = is_xkb_layout;
- }
-
- private:
- void CallNoResponseMethod(dbus::MethodCall* method_call,
- const std::string& method_name) {
- proxy_->CallMethodWithErrorCallback(
- method_call,
- dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
- base::Bind(&IBusInputContextClientImpl::DefaultCallback,
- method_name),
- base::Bind(&IBusInputContextClientImpl::DefaultErrorCallback,
- method_name));
- }
-
- // Handles no response method call reply.
- static void DefaultCallback(const std::string& method_name,
- dbus::Response* response) {
- if (!response) {
- LOG(ERROR) << "Failed to call method: " << method_name;
- return;
- }
- }
-
- // Handles error response of default method call.
- static void DefaultErrorCallback(const std::string& method_name,
- dbus::ErrorResponse* response) {
- LOG(ERROR) << "Failed to call method: " << method_name;
- }
-
- // Handles ProcessKeyEvent method call reply.
- static void OnProcessKeyEvent(const ProcessKeyEventCallback& callback,
- const ErrorCallback& error_callback,
- dbus::Response* response) {
- if (!response) {
- LOG(ERROR) << "Cannot get input context: " << response->ToString();
- error_callback.Run();
- return;
- }
- dbus::MessageReader reader(response);
- bool is_keyevent_used;
- if (!reader.PopBool(&is_keyevent_used)) {
- // The IBus message structure may be changed.
- LOG(ERROR) << "Invalid response: " << response->ToString();
- error_callback.Run();
- return;
- }
- DCHECK(!callback.is_null());
- callback.Run(is_keyevent_used);
- }
-
- // Handles error response of ProcessKeyEvent method call.
- static void OnProecessKeyEventFail(const ErrorCallback& error_callback,
- dbus::ErrorResponse* response) {
- error_callback.Run();
- }
-
- // Handles ForwardKeyEvetn signal.
- void OnForwardKeyEvent(dbus::Signal* signal) {
- if (!handler_)
- return;
- dbus::MessageReader reader(signal);
- uint32 keyval = 0;
- uint32 keycode = 0;
- uint32 state = 0;
- if (!reader.PopUint32(&keyval) ||
- !reader.PopUint32(&keycode) ||
- !reader.PopUint32(&state)) {
- // The IBus message structure may be changed.
- LOG(ERROR) << "Invalid signal: " << signal->ToString();
- return;
- }
- handler_->ForwardKeyEvent(keyval, keycode, state);
- }
-
- // Handles UpdatePreeditText signal.
- void OnUpdatePreeditText(dbus::Signal* signal) {
- if (!handler_)
- return;
- dbus::MessageReader reader(signal);
- IBusText ibus_text;
- uint32 cursor_pos = 0;
- bool visible = true;
- if (!PopIBusText(&reader, &ibus_text) ||
- !reader.PopUint32(&cursor_pos) ||
- !reader.PopBool(&visible)) {
- // The IBus message structure may be changed.
- LOG(ERROR) << "Invalid signal: " << signal->ToString();
- return;
- }
- handler_->UpdatePreeditText(ibus_text, cursor_pos, visible);
- }
-
- // Handles ShowPreeditText signal.
- void OnShowPreeditText(dbus::Signal* signal) {
- if (handler_)
- handler_->ShowPreeditText();
- }
-
- // Handles HidePreeditText signal.
- void OnHidePreeditText(dbus::Signal* signal) {
- if (handler_)
- handler_->HidePreeditText();
- }
-
- // Handle DeleteSurroundingText signal.
- void OnDeleteSurroundingText(dbus::Signal* signal) {
- if (!handler_)
- return;
-
- dbus::MessageReader reader(signal);
- int32 offset = 0;
- uint32 length = 0;
- if (!reader.PopInt32(&offset) || !reader.PopUint32(&length)) {
- // The IBus message structure may be changed.
- LOG(ERROR) << "Invalid signal: " << signal->ToString();
- return;
- }
- handler_->DeleteSurroundingText(offset, length);
- }
-
- // Connects signals to signal handlers.
- void ConnectSignals() {
- proxy_->ConnectToSignal(
- ibus::input_context::kServiceInterface,
- ibus::input_context::kForwardKeyEventSignal,
- base::Bind(&IBusInputContextClientImpl::OnForwardKeyEvent,
- weak_ptr_factory_.GetWeakPtr()),
- base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
- weak_ptr_factory_.GetWeakPtr()));
-
- proxy_->ConnectToSignal(
- ibus::input_context::kServiceInterface,
- ibus::input_context::kUpdatePreeditTextSignal,
- base::Bind(&IBusInputContextClientImpl::OnUpdatePreeditText,
- weak_ptr_factory_.GetWeakPtr()),
- base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
- weak_ptr_factory_.GetWeakPtr()));
-
- proxy_->ConnectToSignal(
- ibus::input_context::kServiceInterface,
- ibus::input_context::kShowPreeditTextSignal,
- base::Bind(&IBusInputContextClientImpl::OnShowPreeditText,
- weak_ptr_factory_.GetWeakPtr()),
- base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
- weak_ptr_factory_.GetWeakPtr()));
-
- proxy_->ConnectToSignal(
- ibus::input_context::kServiceInterface,
- ibus::input_context::kHidePreeditTextSignal,
- base::Bind(&IBusInputContextClientImpl::OnHidePreeditText,
- weak_ptr_factory_.GetWeakPtr()),
- base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
- weak_ptr_factory_.GetWeakPtr()));
-
- proxy_->ConnectToSignal(
- ibus::input_context::kServiceInterface,
- ibus::input_context::kDeleteSurroundingTextSignal,
- base::Bind(&IBusInputContextClientImpl::OnDeleteSurroundingText,
- weak_ptr_factory_.GetWeakPtr()),
- base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
- weak_ptr_factory_.GetWeakPtr()));
- }
-
- // Handles the result of signal connection setup.
- void OnSignalConnected(const std::string& interface,
- const std::string& signal,
- bool succeeded) {
- LOG_IF(ERROR, !succeeded) << "Connect to " << interface << " "
- << signal << " failed.";
- }
-
- dbus::ObjectProxy* proxy_;
-
- // The pointer for input context handler. This can be NULL.
- IBusInputContextHandlerInterface* handler_;
-
- SetCursorLocationHandler set_cursor_location_handler_;
-
- // True if the current input method is xkb layout.
- bool is_xkb_layout_;
-
- base::WeakPtrFactory<IBusInputContextClientImpl> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(IBusInputContextClientImpl);
-};
-
-// An implementation of IBusInputContextClient without ibus-daemon interaction.
-// Currently this class is used only on linux desktop.
-// TODO(nona): Use this on ChromeOS device once crbug.com/171351 is fixed.
-class IBusInputContextClientDaemonlessImpl : public IBusInputContextClient {
- public:
- IBusInputContextClientDaemonlessImpl()
- : is_xkb_layout_(true),
- initialized_(false)
- {}
- virtual ~IBusInputContextClientDaemonlessImpl() {}
-
- // IBusInputContextClient override.
- virtual void Initialize(dbus::Bus* bus,
- const dbus::ObjectPath& object_path) OVERRIDE {
- initialized_ = true;
- }
-
- virtual void SetInputContextHandler(
- IBusInputContextHandlerInterface* handler) OVERRIDE {
- IBusBridge::Get()->SetInputContextHandler(handler);
- }
-
- virtual void SetSetCursorLocationHandler(
- const SetCursorLocationHandler& set_cursor_location_handler) OVERRIDE {
- }
-
- virtual void UnsetSetCursorLocationHandler() OVERRIDE {
- }
-
- virtual void ResetObjectProxy() OVERRIDE {
- initialized_ = false;
- }
-
- virtual bool IsObjectProxyReady() const OVERRIDE {
- return initialized_;
- }
-
- virtual void SetCapabilities(uint32 capability) OVERRIDE {
- IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler();
- if (engine)
- engine->SetCapability(
- static_cast<IBusEngineHandlerInterface::IBusCapability>(capability));
- }
-
- virtual void FocusIn() OVERRIDE {
- IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler();
- if (engine)
- engine->FocusIn();
- }
-
- virtual void FocusOut() OVERRIDE {
- IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler();
- if (engine)
- engine->FocusOut();
- }
-
- virtual void Reset() OVERRIDE {
- IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler();
- if (engine)
- engine->Reset();
- }
-
- virtual void SetCursorLocation(const ibus::Rect& cursor_location,
- const ibus::Rect& composition_head) OVERRIDE {
- IBusPanelCandidateWindowHandlerInterface* candidate_window =
- IBusBridge::Get()->GetCandidateWindowHandler();
-
- if (candidate_window)
- candidate_window->SetCursorLocation(cursor_location, composition_head);
- }
-
- virtual void ProcessKeyEvent(
- uint32 keyval,
- uint32 keycode,
- uint32 state,
- const ProcessKeyEventCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {
- IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler();
- if (engine)
- engine->ProcessKeyEvent(keyval, keycode, state, callback);
- }
-
- virtual void SetSurroundingText(const std::string& text,
- uint32 start_index,
- uint32 end_index) OVERRIDE {
- // TODO(nona): Implement this.
- }
-
- virtual void PropertyActivate(const std::string& key,
- ibus::IBusPropertyState state) OVERRIDE {
- IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler();
- if (engine)
- engine->PropertyActivate(key,
- static_cast<ibus::IBusPropertyState>(state));
- }
-
- virtual bool IsXKBLayout() OVERRIDE {
- return is_xkb_layout_;
- }
-
- virtual void SetIsXKBLayout(bool is_xkb_layout) OVERRIDE {
- is_xkb_layout_ = is_xkb_layout;
- }
-
- private:
- // True if the current input method is xkb layout.
- bool is_xkb_layout_;
- bool initialized_;
-
- DISALLOW_COPY_AND_ASSIGN(IBusInputContextClientDaemonlessImpl);
-};
-
-} // namespace
-
-///////////////////////////////////////////////////////////////////////////////
-// IBusInputContextClient
-
-IBusInputContextClient::IBusInputContextClient() {}
-
-IBusInputContextClient::~IBusInputContextClient() {}
-
-// static
-IBusInputContextClient* IBusInputContextClient::Create(
- DBusClientImplementationType type) {
- if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) {
- return new IBusInputContextClientImpl();
- }
- DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type);
- return new IBusInputContextClientDaemonlessImpl();
-}
-} // namespace chromeos
diff --git a/chromeos/dbus/ibus/ibus_input_context_client.h b/chromeos/dbus/ibus/ibus_input_context_client.h
deleted file mode 100644
index ae787d44..0000000
--- a/chromeos/dbus/ibus/ibus_input_context_client.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// 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.
-
-#ifndef CHROMEOS_DBUS_IBUS_IBUS_INPUT_CONTEXT_CLIENT_H_
-#define CHROMEOS_DBUS_IBUS_IBUS_INPUT_CONTEXT_CLIENT_H_
-
-#include <string>
-
-#include "base/bind.h"
-#include "base/callback.h"
-#include "chromeos/chromeos_export.h"
-#include "chromeos/dbus/dbus_client_implementation_type.h"
-#include "chromeos/dbus/ibus/ibus_constants.h"
-#include "chromeos/ime/ibus_bridge.h"
-#include "dbus/object_path.h"
-
-namespace dbus {
-class Bus;
-} // namespace dbus
-
-namespace chromeos {
-
-class IBusText;
-class IBusInputContextHandlerInterface;
-
-// A class to make the actual DBus calls for IBusInputContext service.
-// The ibus-daemon creates object paths on demand, so the target object path is
-// not determined before calling CreateInputContext. It is good to initialize
-// this class at the callback from CreateInputContext in IBusClient. This class
-// is managed by DBusThreadManager as singleton instance, so we can handle only
-// one input context but it is enough for ChromeOS.
-class CHROMEOS_EXPORT IBusInputContextClient {
- public:
- typedef base::Callback<void(const ibus::Rect& cursor_location,
- const ibus::Rect& composition_head)>
- SetCursorLocationHandler;
- typedef base::Callback<void(bool is_keyevent_used)> ProcessKeyEventCallback;
- typedef base::Callback<void()> ErrorCallback;
-
- virtual ~IBusInputContextClient();
-
- // Creates object proxy and connects signals.
- virtual void Initialize(dbus::Bus* bus,
- const dbus::ObjectPath& object_path) = 0;
-
- // Sets input context handler. This function can be called multiple times and
- // also can be passed |handler| as NULL. Caller must release |handler|.
- virtual void SetInputContextHandler(
- IBusInputContextHandlerInterface* handler) = 0;
-
- // Sets SetCursorLocation handler.
- virtual void SetSetCursorLocationHandler(
- const SetCursorLocationHandler& set_cursor_location_handler) = 0;
-
- // Unset SetCursorLocation handler.
- virtual void UnsetSetCursorLocationHandler() = 0;
-
- // Resets object proxy. If you want to use InputContext again, should call
- // Initialize function again.
- virtual void ResetObjectProxy() = 0;
-
- // Returns true if the object proxy is ready to communicate with ibus-daemon,
- // otherwise return false.
- virtual bool IsObjectProxyReady() const = 0;
-
- // Invokes SetCapabilities method call.
- virtual void SetCapabilities(uint32 capability) = 0;
- // Invokes FocusIn method call.
- virtual void FocusIn() = 0;
- // Invokes FocusOut method call.
- virtual void FocusOut() = 0;
- // Invokes Reset method call.
- virtual void Reset() = 0;
- // Invokes SetCursorLocation method call.
- virtual void SetCursorLocation(const ibus::Rect& cursor_location,
- const ibus::Rect& composition_head) = 0;
- // Invokes ProcessKeyEvent method call. |callback| should not be null.
- virtual void ProcessKeyEvent(uint32 keyval,
- uint32 keycode,
- uint32 state,
- const ProcessKeyEventCallback& callback,
- const ErrorCallback& error_callback) = 0;
-
- // Invokes SetSurroundingText method call. |start_index| is inclusive and
- // |end_index| is exclusive.
- virtual void SetSurroundingText(const std::string& text,
- uint32 start_index,
- uint32 end_index) = 0;
-
- // Invokes PropertyActivate method call. The PROP_STATE_INCONSISTENT in
- // original IBus spec is not supported in Chrome.
- virtual void PropertyActivate(const std::string& key,
- ibus::IBusPropertyState state) = 0;
-
- // Returns true if the current input method is XKB layout.
- virtual bool IsXKBLayout() = 0;
-
- // Sets current input method is XKB layout or not.
- virtual void SetIsXKBLayout(bool is_xkb_layout) = 0;
-
- // Factory function, creates a new instance and returns ownership.
- // For normal usage, access the singleton via DBusThreadManager::Get().
- static CHROMEOS_EXPORT IBusInputContextClient* Create(
- DBusClientImplementationType type);
-
- protected:
- // Create() should be used instead.
- IBusInputContextClient();
-
- private:
- DISALLOW_COPY_AND_ASSIGN(IBusInputContextClient);
-};
-
-} // namespace chromeos
-
-#endif // CHROMEOS_DBUS_IBUS_IBUS_INPUT_CONTEXT_CLIENT_H_
diff --git a/chromeos/dbus/ibus/ibus_input_context_client_unittest.cc b/chromeos/dbus/ibus/ibus_input_context_client_unittest.cc
deleted file mode 100644
index 654beb3..0000000
--- a/chromeos/dbus/ibus/ibus_input_context_client_unittest.cc
+++ /dev/null
@@ -1,612 +0,0 @@
-// 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 "chromeos/dbus/ibus/ibus_input_context_client.h"
-
-#include <map>
-#include <string>
-#include "base/message_loop/message_loop.h"
-#include "chromeos/dbus/ibus/ibus_constants.h"
-#include "chromeos/dbus/ibus/ibus_text.h"
-#include "dbus/message.h"
-#include "dbus/mock_bus.h"
-#include "dbus/mock_object_proxy.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using ::testing::Invoke;
-using ::testing::Return;
-using ::testing::_;
-
-namespace chromeos {
-
-// TODO(nona): Remove after complete libibus removal.
-using chromeos::IBusText;
-
-namespace {
-const char kObjectPath[] = "/org/freedesktop/IBus/InputContext_1010";
-
-// Following variables are used in callback expectations.
-const uint32 kCapabilities = 12345;
-const int32 kCursorX = 30;
-const int32 kCursorY = 31;
-const int32 kCursorWidth = 32;
-const int32 kCursorHeight = 33;
-const uint32 kKeyval = 34;
-const uint32 kKeycode = 35;
-const uint32 kState = 36;
-const int32 kCompositionX = 37;
-const int32 kCompositionY = 38;
-const int32 kCompositionWidth = 39;
-const int32 kCompositionHeight = 40;
-const bool kIsKeyHandled = false;
-const char kSurroundingText[] = "Surrounding Text";
-const uint32 kCursorPos = 2;
-const uint32 kAnchorPos = 7;
-const char kPropertyKey[] = "Property Key";
-const ibus::IBusPropertyState kPropertyState =
- ibus::IBUS_PROPERTY_STATE_CHECKED;
-
-class MockInputContextHandler : public IBusInputContextHandlerInterface {
- public:
- MOCK_METHOD1(CommitText, void(const std::string& text));
- MOCK_METHOD3(ForwardKeyEvent,
- void(uint32 keyval, uint32 keycode, uint32 state));
- MOCK_METHOD0(ShowPreeditText, void());
- MOCK_METHOD0(HidePreeditText, void());
- MOCK_METHOD3(UpdatePreeditText,
- void(const IBusText& text, uint32 cursor_pos, bool visible));
- MOCK_METHOD2(DeleteSurroundingText, void(int32 offset, uint32 length));
-};
-
-class MockProcessKeyEventHandler {
- public:
- MOCK_METHOD1(Run, void(bool is_key_handled));
-};
-
-class MockProcessKeyEventErrorHandler {
- public:
- MOCK_METHOD0(Run, void());
-};
-
-MATCHER_P(IBusTextEq, expected_text, "The expected IBusText does not match") {
- // TODO(nona): Check attributes.
- return (arg.text() == expected_text->text());
-}
-
-} // namespace
-
-class IBusInputContextClientTest : public testing::Test {
- public:
- IBusInputContextClientTest()
- : response_(NULL),
- on_set_cursor_location_call_count_(0) {}
-
- virtual void SetUp() OVERRIDE {
- // Create a mock bus.
- dbus::Bus::Options options;
- options.bus_type = dbus::Bus::SYSTEM;
- mock_bus_ = new dbus::MockBus(options);
-
- // Create a mock proxy.
- mock_proxy_ = new dbus::MockObjectProxy(mock_bus_.get(),
- ibus::kServiceName,
- dbus::ObjectPath(kObjectPath));
-
- // Create a client.
- client_.reset(IBusInputContextClient::Create(
- REAL_DBUS_CLIENT_IMPLEMENTATION));
-
- // Set an expectation so mock_bus's GetObjectProxy() for the given service
- // name and the object path will return mock_proxy_. The GetObjectProxy
- // function is called in Initialized function.
- EXPECT_CALL(
- *mock_bus_.get(),
- GetObjectProxy(ibus::kServiceName, dbus::ObjectPath(kObjectPath)))
- .WillOnce(Return(mock_proxy_.get()));
-
- // Set expectations so mock_proxy's ConnectToSignal will use
- // OnConnectToSignal() to run the callback. The ConnectToSignal is called in
- // Initialize function.
- EXPECT_CALL(*mock_proxy_.get(),
- ConnectToSignal(ibus::input_context::kServiceInterface,
- ibus::input_context::kForwardKeyEventSignal,
- _,
- _))
- .WillRepeatedly(
- Invoke(this, &IBusInputContextClientTest::OnConnectToSignal));
- EXPECT_CALL(*mock_proxy_.get(),
- ConnectToSignal(ibus::input_context::kServiceInterface,
- ibus::input_context::kHidePreeditTextSignal,
- _,
- _))
- .WillRepeatedly(
- Invoke(this, &IBusInputContextClientTest::OnConnectToSignal));
- EXPECT_CALL(*mock_proxy_.get(),
- ConnectToSignal(ibus::input_context::kServiceInterface,
- ibus::input_context::kShowPreeditTextSignal,
- _,
- _))
- .WillRepeatedly(
- Invoke(this, &IBusInputContextClientTest::OnConnectToSignal));
- EXPECT_CALL(*mock_proxy_.get(),
- ConnectToSignal(ibus::input_context::kServiceInterface,
- ibus::input_context::kUpdatePreeditTextSignal,
- _,
- _))
- .WillRepeatedly(
- Invoke(this, &IBusInputContextClientTest::OnConnectToSignal));
- EXPECT_CALL(
- *mock_proxy_.get(),
- ConnectToSignal(ibus::input_context::kServiceInterface,
- ibus::input_context::kDeleteSurroundingTextSignal,
- _,
- _))
- .WillRepeatedly(
- Invoke(this, &IBusInputContextClientTest::OnConnectToSignal));
-
- // Call Initialize to create object proxy and connect signals.
- client_->Initialize(mock_bus_.get(), dbus::ObjectPath(kObjectPath));
- }
-
- virtual void TearDown() OVERRIDE {
- EXPECT_TRUE(client_->IsObjectProxyReady());
- client_->ResetObjectProxy();
- EXPECT_FALSE(client_->IsObjectProxyReady());
- }
-
- // Handles FocusIn method call.
- void OnFocusIn(dbus::MethodCall* method_call,
- int timeout_ms,
- const dbus::ObjectProxy::ResponseCallback& callback,
- const dbus::ObjectProxy::ErrorCallback& error_callback) {
- EXPECT_EQ(ibus::input_context::kServiceInterface,
- method_call->GetInterface());
- EXPECT_EQ(ibus::input_context::kFocusInMethod, method_call->GetMember());
- dbus::MessageReader reader(method_call);
- EXPECT_FALSE(reader.HasMoreData());
-
- message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
- }
-
- // Handles FocusOut method call.
- void OnFocusOut(dbus::MethodCall* method_call,
- int timeout_ms,
- const dbus::ObjectProxy::ResponseCallback& callback,
- const dbus::ObjectProxy::ErrorCallback& error_callback) {
- EXPECT_EQ(ibus::input_context::kServiceInterface,
- method_call->GetInterface());
- EXPECT_EQ(ibus::input_context::kFocusOutMethod, method_call->GetMember());
- dbus::MessageReader reader(method_call);
- EXPECT_FALSE(reader.HasMoreData());
-
- message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
- }
-
- // Handles Reset method call.
- void OnReset(dbus::MethodCall* method_call,
- int timeout_ms,
- const dbus::ObjectProxy::ResponseCallback& callback,
- const dbus::ObjectProxy::ErrorCallback& error_callback) {
- EXPECT_EQ(ibus::input_context::kServiceInterface,
- method_call->GetInterface());
- EXPECT_EQ(ibus::input_context::kResetMethod, method_call->GetMember());
- dbus::MessageReader reader(method_call);
- EXPECT_FALSE(reader.HasMoreData());
-
- message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
- }
-
- // Handles SetCursorLocation method call.
- void OnSetCursorLocation(const ibus::Rect& cursor_location,
- const ibus::Rect& composition_head) {
- ++on_set_cursor_location_call_count_;
- }
-
- // Handles SetCapabilities method call.
- void OnSetCapabilities(
- dbus::MethodCall* method_call,
- int timeout_ms,
- const dbus::ObjectProxy::ResponseCallback& callback,
- const dbus::ObjectProxy::ErrorCallback& error_callback) {
- EXPECT_EQ(ibus::input_context::kServiceInterface,
- method_call->GetInterface());
- EXPECT_EQ(ibus::input_context::kSetCapabilitiesMethod,
- method_call->GetMember());
- uint32 capabilities;
- dbus::MessageReader reader(method_call);
- EXPECT_TRUE(reader.PopUint32(&capabilities));
- EXPECT_EQ(kCapabilities, capabilities);
- EXPECT_FALSE(reader.HasMoreData());
-
- message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
- }
-
- // Handles ProcessKeyEvent method call.
- void OnProcessKeyEvent(
- dbus::MethodCall* method_call,
- int timeout_ms,
- const dbus::ObjectProxy::ResponseCallback& callback,
- const dbus::ObjectProxy::ErrorCallback& error_callback) {
- EXPECT_EQ(ibus::input_context::kServiceInterface,
- method_call->GetInterface());
- EXPECT_EQ(ibus::input_context::kProcessKeyEventMethod,
- method_call->GetMember());
- uint32 keyval, keycode, state;
- dbus::MessageReader reader(method_call);
- EXPECT_TRUE(reader.PopUint32(&keyval));
- EXPECT_TRUE(reader.PopUint32(&keycode));
- EXPECT_TRUE(reader.PopUint32(&state));
- EXPECT_FALSE(reader.HasMoreData());
-
- message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
- }
-
- void OnProcessKeyEventFail(
- dbus::MethodCall* method_call,
- int timeout_ms,
- const dbus::ObjectProxy::ResponseCallback& callback,
- const dbus::ObjectProxy::ErrorCallback& error_callback) {
- EXPECT_EQ(ibus::input_context::kServiceInterface,
- method_call->GetInterface());
- EXPECT_EQ(ibus::input_context::kProcessKeyEventMethod,
- method_call->GetMember());
- uint32 keyval, keycode, state;
- dbus::MessageReader reader(method_call);
- EXPECT_TRUE(reader.PopUint32(&keyval));
- EXPECT_TRUE(reader.PopUint32(&keycode));
- EXPECT_TRUE(reader.PopUint32(&state));
- EXPECT_FALSE(reader.HasMoreData());
-
- message_loop_.PostTask(FROM_HERE, base::Bind(error_callback,
- error_response_));
- }
-
- // Handles SetSurroudingText method call.
- void OnSetSurroundingText(
- dbus::MethodCall* method_call,
- int timeout_ms,
- const dbus::ObjectProxy::ResponseCallback& callback,
- const dbus::ObjectProxy::ErrorCallback& error_callback) {
- EXPECT_EQ(ibus::input_context::kServiceInterface,
- method_call->GetInterface());
- EXPECT_EQ(ibus::input_context::kSetSurroundingTextMethod,
- method_call->GetMember());
- dbus::MessageReader reader(method_call);
- std::string text;
- uint32 cursor_pos = 0;
- uint32 anchor_pos = 0;
-
- EXPECT_TRUE(PopStringFromIBusText(&reader, &text));
- EXPECT_TRUE(reader.PopUint32(&cursor_pos));
- EXPECT_TRUE(reader.PopUint32(&anchor_pos));
- EXPECT_FALSE(reader.HasMoreData());
-
- EXPECT_EQ(kSurroundingText, text);
- EXPECT_EQ(kCursorPos, cursor_pos);
- EXPECT_EQ(kAnchorPos, anchor_pos);
-
- message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
- }
-
- // Handles PropertyActivate method call.
- void OnPropertyActivate(
- dbus::MethodCall* method_call,
- int timeout_ms,
- const dbus::ObjectProxy::ResponseCallback& callback,
- const dbus::ObjectProxy::ErrorCallback& error_callback) {
- EXPECT_EQ(ibus::input_context::kServiceInterface,
- method_call->GetInterface());
- EXPECT_EQ(ibus::input_context::kPropertyActivateMethod,
- method_call->GetMember());
- dbus::MessageReader reader(method_call);
- std::string key;
- uint32 state = 0;
-
- EXPECT_TRUE(reader.PopString(&key));
- EXPECT_TRUE(reader.PopUint32(&state));
- EXPECT_FALSE(reader.HasMoreData());
-
- EXPECT_EQ(kPropertyKey, key);
- EXPECT_EQ(kPropertyState, static_cast<ibus::IBusPropertyState>(state));
-
- message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
- }
-
- protected:
- // The client to be tested.
- scoped_ptr<IBusInputContextClient> client_;
- // The mock bus.
- scoped_refptr<dbus::MockBus> mock_bus_;
- // The mock object proxy.
- scoped_refptr<dbus::MockObjectProxy> mock_proxy_;
- // Response returned by mock methods.
- dbus::Response* response_;
- dbus::ErrorResponse* error_response_;
- // A message loop to emulate asynchronous behavior.
- base::MessageLoop message_loop_;
- // The map from signal to signal handler.
- std::map<std::string, dbus::ObjectProxy::SignalCallback> signal_callback_map_;
- // Call count of OnSetCursorLocation.
- int on_set_cursor_location_call_count_;
-
- private:
- // Used to implement the mock proxy.
- void OnConnectToSignal(
- const std::string& interface_name,
- const std::string& signal_name,
- const dbus::ObjectProxy::SignalCallback& signal_callback,
- const dbus::ObjectProxy::OnConnectedCallback& on_connected_callback) {
- signal_callback_map_[signal_name] = signal_callback;
- const bool success = true;
- message_loop_.PostTask(FROM_HERE, base::Bind(on_connected_callback,
- interface_name,
- signal_name,
- success));
- }
-};
-
-TEST_F(IBusInputContextClientTest, ForwardKeyEventHandlerTest) {
- // Set handler expectations.
- MockInputContextHandler mock_handler;
- EXPECT_CALL(mock_handler, ForwardKeyEvent(kKeyval, kKeycode, kState));
- client_->SetInputContextHandler(&mock_handler);
- message_loop_.RunUntilIdle();
-
- // Emit signal.
- dbus::Signal signal(ibus::input_context::kServiceInterface,
- ibus::input_context::kForwardKeyEventSignal);
- dbus::MessageWriter writer(&signal);
- writer.AppendUint32(kKeyval);
- writer.AppendUint32(kKeycode);
- writer.AppendUint32(kState);
- ASSERT_FALSE(
- signal_callback_map_[ibus::input_context::kForwardKeyEventSignal]
- .is_null());
- signal_callback_map_[ibus::input_context::kForwardKeyEventSignal].Run(
- &signal);
-
- // Unset the handler so expect not calling handler.
- client_->SetInputContextHandler(NULL);
- signal_callback_map_[ibus::input_context::kForwardKeyEventSignal].Run(
- &signal);
-}
-
-TEST_F(IBusInputContextClientTest, HidePreeditTextHandlerTest) {
- // Set handler expectations.
- MockInputContextHandler mock_handler;
- EXPECT_CALL(mock_handler, HidePreeditText());
- client_->SetInputContextHandler(&mock_handler);
- message_loop_.RunUntilIdle();
-
- // Emit signal.
- dbus::Signal signal(ibus::input_context::kServiceInterface,
- ibus::input_context::kHidePreeditTextSignal);
- ASSERT_FALSE(
- signal_callback_map_[ibus::input_context::kHidePreeditTextSignal]
- .is_null());
- signal_callback_map_[ibus::input_context::kHidePreeditTextSignal].Run(
- &signal);
-
- // Unset the handler so expect not calling handler.
- client_->SetInputContextHandler(NULL);
- signal_callback_map_[ibus::input_context::kHidePreeditTextSignal].Run(
- &signal);
-}
-
-TEST_F(IBusInputContextClientTest, ShowPreeditTextHandlerTest) {
- // Set handler expectations.
- MockInputContextHandler mock_handler;
- EXPECT_CALL(mock_handler, ShowPreeditText());
- client_->SetInputContextHandler(&mock_handler);
- message_loop_.RunUntilIdle();
-
- // Emit signal.
- dbus::Signal signal(ibus::input_context::kServiceInterface,
- ibus::input_context::kShowPreeditTextSignal);
- ASSERT_FALSE(
- signal_callback_map_[ibus::input_context::kShowPreeditTextSignal]
- .is_null());
- signal_callback_map_[ibus::input_context::kShowPreeditTextSignal].Run(
- &signal);
-
- // Unset the handler so expect not calling handler.
- client_->SetInputContextHandler(NULL);
- signal_callback_map_[ibus::input_context::kShowPreeditTextSignal].Run(
- &signal);
-}
-
-TEST_F(IBusInputContextClientTest, UpdatePreeditTextHandlerTest) {
- const uint32 kCursorPos = 20;
- const bool kVisible = false;
- const char kSampleText[] = "Sample Text";
- IBusText ibus_text;
- ibus_text.set_text(kSampleText);
-
- // Set handler expectations.
- MockInputContextHandler mock_handler;
- EXPECT_CALL(mock_handler,
- UpdatePreeditText(IBusTextEq(&ibus_text), kCursorPos, kVisible));
- client_->SetInputContextHandler(&mock_handler);
- message_loop_.RunUntilIdle();
-
- // Emit signal.
- dbus::Signal signal(ibus::input_context::kServiceInterface,
- ibus::input_context::kUpdatePreeditTextSignal);
- dbus::MessageWriter writer(&signal);
- AppendIBusText(ibus_text, &writer);
- writer.AppendUint32(kCursorPos);
- writer.AppendBool(kVisible);
- ASSERT_FALSE(
- signal_callback_map_[ibus::input_context::kUpdatePreeditTextSignal]
- .is_null());
- signal_callback_map_[ibus::input_context::kUpdatePreeditTextSignal].Run(
- &signal);
-
- // Unset the handler so expect not calling handler.
- client_->SetInputContextHandler(NULL);
- signal_callback_map_[ibus::input_context::kUpdatePreeditTextSignal].Run(
- &signal);
-}
-
-TEST_F(IBusInputContextClientTest, FocusInTest) {
- // Set expectations.
- EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
- .WillOnce(Invoke(this, &IBusInputContextClientTest::OnFocusIn));
- // Create response.
- scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
- response_ = response.get();
-
- // Call FocusIn.
- client_->FocusIn();
- // Run the message loop.
- message_loop_.RunUntilIdle();
-}
-
-TEST_F(IBusInputContextClientTest, FocusOutTest) {
- // Set expectations.
- EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
- .WillOnce(Invoke(this, &IBusInputContextClientTest::OnFocusOut));
- // Create response.
- scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
- response_ = response.get();
-
- // Call FocusOut.
- client_->FocusOut();
- // Run the message loop.
- message_loop_.RunUntilIdle();
-}
-
-TEST_F(IBusInputContextClientTest, ResetTest) {
- // Set expectations.
- EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
- .WillOnce(Invoke(this, &IBusInputContextClientTest::OnReset));
- // Create response.
- scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
- response_ = response.get();
-
- // Call Reset.
- client_->Reset();
- // Run the message loop.
- message_loop_.RunUntilIdle();
-}
-
-TEST_F(IBusInputContextClientTest, SetCapabilitiesTest) {
- // Set expectations.
- EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
- .WillOnce(Invoke(this, &IBusInputContextClientTest::OnSetCapabilities));
- // Create response.
- scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
- response_ = response.get();
-
- // Call SetCapabilities.
- client_->SetCapabilities(kCapabilities);
- // Run the message loop.
- message_loop_.RunUntilIdle();
-}
-
-TEST_F(IBusInputContextClientTest, SetCursorLocationTest) {
- on_set_cursor_location_call_count_ = 0;
- client_->SetSetCursorLocationHandler(
- base::Bind(&IBusInputContextClientTest::OnSetCursorLocation,
- base::Unretained(this)));
- const ibus::Rect cursor_location(kCursorX,
- kCursorY,
- kCursorWidth,
- kCursorHeight);
- const ibus::Rect composition_location(kCompositionX,
- kCompositionY,
- kCompositionWidth,
- kCompositionHeight);
- // Call SetCursorLocation.
- client_->SetCursorLocation(cursor_location, composition_location);
-
- EXPECT_EQ(1, on_set_cursor_location_call_count_);
- client_->UnsetSetCursorLocationHandler();
-}
-
-TEST_F(IBusInputContextClientTest, OnProcessKeyEvent) {
- // Set expectations.
- EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
- .WillOnce(Invoke(this, &IBusInputContextClientTest::OnProcessKeyEvent));
- MockProcessKeyEventHandler callback;
- MockProcessKeyEventErrorHandler error_callback;
-
- EXPECT_CALL(callback, Run(kIsKeyHandled));
- EXPECT_CALL(error_callback, Run()).Times(0);
- // Create response.
- scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
- dbus::MessageWriter writer(response.get());
- writer.AppendBool(kIsKeyHandled);
- response_ = response.get();
-
- // Call ProcessKeyEvent.
- client_->ProcessKeyEvent(kKeyval,
- kKeycode,
- kState,
- base::Bind(&MockProcessKeyEventHandler::Run,
- base::Unretained(&callback)),
- base::Bind(&MockProcessKeyEventErrorHandler::Run,
- base::Unretained(&error_callback)));
- // Run the message loop.
- message_loop_.RunUntilIdle();
-}
-
-TEST_F(IBusInputContextClientTest, OnProcessKeyEventFail) {
- // Set expectations.
- EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
- .WillOnce(
- Invoke(this, &IBusInputContextClientTest::OnProcessKeyEventFail));
- MockProcessKeyEventHandler callback;
- MockProcessKeyEventErrorHandler error_callback;
-
- EXPECT_CALL(callback, Run(_)).Times(0);
- EXPECT_CALL(error_callback, Run());
- // Create response.
- scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
- dbus::MessageWriter writer(response.get());
- writer.AppendBool(kIsKeyHandled);
- response_ = response.get();
-
- // Call ProcessKeyEvent.
- client_->ProcessKeyEvent(kKeyval,
- kKeycode,
- kState,
- base::Bind(&MockProcessKeyEventHandler::Run,
- base::Unretained(&callback)),
- base::Bind(&MockProcessKeyEventErrorHandler::Run,
- base::Unretained(&error_callback)));
- // Run the message loop.
- message_loop_.RunUntilIdle();
-}
-
-TEST_F(IBusInputContextClientTest, SetSurroundingTextTest) {
- // Set expectations.
- EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
- .WillOnce(
- Invoke(this, &IBusInputContextClientTest::OnSetSurroundingText));
- // Create response.
- scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
- response_ = response.get();
-
- // Call SetCursorLocation.
- client_->SetSurroundingText(kSurroundingText, kCursorPos, kAnchorPos);
- // Run the message loop.
- message_loop_.RunUntilIdle();
-}
-
-TEST_F(IBusInputContextClientTest, PropertyActivateTest) {
- // Set expectations.
- EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
- .WillOnce(Invoke(this, &IBusInputContextClientTest::OnPropertyActivate));
- // Create response.
- scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
- response_ = response.get();
-
- // Call SetCursorLocation.
- client_->PropertyActivate(kPropertyKey, kPropertyState);
- // Run the message loop.
- message_loop_.RunUntilIdle();
-}
-} // namespace chromeos
diff --git a/chromeos/dbus/ibus/mock_ibus_input_context_client.cc b/chromeos/dbus/ibus/mock_ibus_input_context_client.cc
deleted file mode 100644
index 2ccaa54..0000000
--- a/chromeos/dbus/ibus/mock_ibus_input_context_client.cc
+++ /dev/null
@@ -1,110 +0,0 @@
-// 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 "chromeos/dbus/ibus/mock_ibus_input_context_client.h"
-
-namespace chromeos {
-
-MockIBusInputContextClient::MockIBusInputContextClient()
- : initialize_call_count_(0),
- is_initialized_(false),
- is_xkb_layout_(false),
- reset_object_proxy_call_caount_(0),
- set_capabilities_call_count_(0),
- focus_in_call_count_(0),
- focus_out_call_count_(0),
- reset_call_count_(0),
- set_cursor_location_call_count_(0),
- process_key_event_call_count_(0),
- set_surrounding_text_call_count_(0) {
-}
-
-MockIBusInputContextClient::~MockIBusInputContextClient() {}
-
-void MockIBusInputContextClient::Initialize(
- dbus::Bus* bus, const dbus::ObjectPath& object_path) {
- initialize_call_count_++;
- is_initialized_ = true;
-}
-
-void MockIBusInputContextClient::SetInputContextHandler(
- IBusInputContextHandlerInterface* handler) {
-}
-
-void MockIBusInputContextClient::SetSetCursorLocationHandler(
- const SetCursorLocationHandler& set_cursor_location_handler) {
-}
-
-void MockIBusInputContextClient::UnsetSetCursorLocationHandler() {
-}
-
-void MockIBusInputContextClient::ResetObjectProxy() {
- reset_object_proxy_call_caount_++;
- is_initialized_ = false;
-}
-
-bool MockIBusInputContextClient::IsObjectProxyReady() const {
- if (is_initialized_)
- return true;
- else
- return false;
-}
-
-void MockIBusInputContextClient::SetCapabilities(uint32 capabilities) {
- set_capabilities_call_count_++;
-}
-
-void MockIBusInputContextClient::FocusIn() {
- focus_in_call_count_++;
-}
-
-void MockIBusInputContextClient::FocusOut() {
- focus_out_call_count_++;
-}
-
-void MockIBusInputContextClient::Reset() {
- reset_call_count_++;
-}
-
-void MockIBusInputContextClient::SetCursorLocation(
- const ibus::Rect& cursor_location,
- const ibus::Rect& composition_head) {
- set_cursor_location_call_count_++;
-}
-
-void MockIBusInputContextClient::ProcessKeyEvent(
- uint32 keyval,
- uint32 keycode,
- uint32 state,
- const ProcessKeyEventCallback& callback,
- const ErrorCallback& error_callback) {
- process_key_event_call_count_++;
- if (!process_key_event_handler_.is_null()) {
- process_key_event_handler_.Run(keyval, keycode, state, callback,
- error_callback);
- }
-}
-
-void MockIBusInputContextClient::SetSurroundingText(
- const std::string& text,
- uint32 cursor_pos,
- uint32 anchor_pos) {
- set_surrounding_text_call_count_++;
- set_surrounding_text_handler_.Run(text, cursor_pos, anchor_pos);
-}
-
-void MockIBusInputContextClient::PropertyActivate(
- const std::string& key,
- ibus::IBusPropertyState state) {
-}
-
-bool MockIBusInputContextClient::IsXKBLayout() {
- return is_xkb_layout_;
-}
-
-void MockIBusInputContextClient::SetIsXKBLayout(bool is_xkb_layout) {
- is_xkb_layout_ = is_xkb_layout;
-}
-
-} // namespace chromeos
diff --git a/chromeos/dbus/ibus/mock_ibus_input_context_client.h b/chromeos/dbus/ibus/mock_ibus_input_context_client.h
deleted file mode 100644
index 2da6e51..0000000
--- a/chromeos/dbus/ibus/mock_ibus_input_context_client.h
+++ /dev/null
@@ -1,121 +0,0 @@
-// 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.
-
-#ifndef CHROMEOS_DBUS_IBUS_MOCK_IBUS_INPUT_CONTEXT_CLIENT_H_
-#define CHROMEOS_DBUS_IBUS_MOCK_IBUS_INPUT_CONTEXT_CLIENT_H_
-
-#include <string>
-#include "base/basictypes.h"
-#include "chromeos/dbus/ibus/ibus_input_context_client.h"
-
-namespace chromeos {
-class MockIBusInputContextClient : public IBusInputContextClient {
- public:
- typedef base::Callback<void (uint32 keyval,
- uint32 keycode,
- uint32 state,
- const ProcessKeyEventCallback& callback,
- const ErrorCallback& error_callback)>
- ProcessKeyEventHandler;
- typedef base::Callback<void (const std::string& text, uint32 cursor_pos,
- uint32 anchor_pos)>
- SetSurroundingTextHandler;
- MockIBusInputContextClient();
- virtual ~MockIBusInputContextClient();
-
- virtual void Initialize(dbus::Bus* bus,
- const dbus::ObjectPath& object_path) OVERRIDE;
- virtual void SetInputContextHandler(
- IBusInputContextHandlerInterface* handler) OVERRIDE;
- virtual void SetSetCursorLocationHandler(
- const SetCursorLocationHandler& set_cursor_location_handler) OVERRIDE;
- virtual void UnsetSetCursorLocationHandler() OVERRIDE;
- virtual void ResetObjectProxy() OVERRIDE;
- virtual bool IsObjectProxyReady() const OVERRIDE;
- virtual void SetCapabilities(uint32 capabilities) OVERRIDE;
- virtual void FocusIn() OVERRIDE;
- virtual void FocusOut() OVERRIDE;
- virtual void Reset() OVERRIDE;
- virtual void SetCursorLocation(const ibus::Rect& cursor_location,
- const ibus::Rect& composition_head) OVERRIDE;
- virtual void ProcessKeyEvent(uint32 keyval,
- uint32 keycode,
- uint32 state,
- const ProcessKeyEventCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE;
- virtual void SetSurroundingText(const std::string& text,
- uint32 cursor_pos,
- uint32 anchor_pos) OVERRIDE;
- virtual void PropertyActivate(const std::string& key,
- ibus::IBusPropertyState state) OVERRIDE;
- virtual bool IsXKBLayout() OVERRIDE;
- virtual void SetIsXKBLayout(bool is_xkb_layout) OVERRIDE;
-
- // Call count of Initialize().
- int initialize_call_count() const { return initialize_call_count_; }
-
- // Call count of ResetObjectProxy().
- int reset_object_proxy_call_caount() const {
- return reset_object_proxy_call_caount_;
- }
-
- // Call count of SetCapabilities().
- int set_capabilities_call_count() const {
- return set_capabilities_call_count_;
- }
-
- // Call count of FocusIn().
- int focus_in_call_count() const { return focus_in_call_count_; }
-
- // Call count of FocusOut().
- int focus_out_call_count() const { return focus_out_call_count_; }
-
- // Call count of Reset().
- int reset_call_count() const { return reset_call_count_; }
-
- // Call count of SetCursorLocation().
- int set_cursor_location_call_count() const {
- return set_cursor_location_call_count_;
- }
-
- // Call count of ProcessKeyEvent().
- int process_key_event_call_count() const {
- return process_key_event_call_count_;
- }
-
- void set_process_key_event_handler(
- const ProcessKeyEventHandler& handler) {
- process_key_event_handler_ = handler;
- }
-
- // Call count of SetSurroundingText().
- int set_surrounding_text_call_count() const {
- return set_surrounding_text_call_count_;
- }
-
- void set_set_surrounding_text_handler(
- const SetSurroundingTextHandler& handler) {
- set_surrounding_text_handler_ = handler;
- }
-
- private:
- int initialize_call_count_;
- bool is_initialized_;
- bool is_xkb_layout_;
- int reset_object_proxy_call_caount_;
- int set_capabilities_call_count_;
- int focus_in_call_count_;
- int focus_out_call_count_;
- int reset_call_count_;
- int set_cursor_location_call_count_;
- int process_key_event_call_count_;
- int set_surrounding_text_call_count_;
- ProcessKeyEventHandler process_key_event_handler_;
- SetSurroundingTextHandler set_surrounding_text_handler_;
-
- DISALLOW_COPY_AND_ASSIGN(MockIBusInputContextClient);
-};
-} // namespace chromeos
-
-#endif // CHROMEOS_DBUS_IBUS_MOCK_IBUS_INPUT_CONTEXT_CLIENT_H_
diff --git a/chromeos/dbus/mock_dbus_thread_manager.cc b/chromeos/dbus/mock_dbus_thread_manager.cc
index 675f592..d661663 100644
--- a/chromeos/dbus/mock_dbus_thread_manager.cc
+++ b/chromeos/dbus/mock_dbus_thread_manager.cc
@@ -13,7 +13,6 @@
#include "chromeos/dbus/ibus/mock_ibus_client.h"
#include "chromeos/dbus/ibus/mock_ibus_engine_factory_service.h"
#include "chromeos/dbus/ibus/mock_ibus_engine_service.h"
-#include "chromeos/dbus/ibus/mock_ibus_input_context_client.h"
#include "chromeos/dbus/mock_cryptohome_client.h"
#include "chromeos/dbus/mock_shill_device_client.h"
#include "chromeos/dbus/mock_shill_ipconfig_client.h"
diff --git a/chromeos/dbus/mock_dbus_thread_manager.h b/chromeos/dbus/mock_dbus_thread_manager.h
index 05c590d..7072081 100644
--- a/chromeos/dbus/mock_dbus_thread_manager.h
+++ b/chromeos/dbus/mock_dbus_thread_manager.h
@@ -79,7 +79,6 @@ class MockDBusThreadManager : public DBusThreadManager {
MOCK_METHOD0(GetSystemClockClient, SystemClockClient*(void));
MOCK_METHOD0(GetUpdateEngineClient, UpdateEngineClient*(void));
MOCK_METHOD0(GetIBusClient, IBusClient*(void));
- MOCK_METHOD0(GetIBusInputContextClient, IBusInputContextClient*(void));
MOCK_METHOD0(GetIBusEngineFactoryService, IBusEngineFactoryService*(void));
MOCK_METHOD1(GetIBusEngineService,
IBusEngineService*(const dbus::ObjectPath& object_path));
diff --git a/chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc b/chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc
index 34a3b82..af1d231 100644
--- a/chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc
+++ b/chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc
@@ -23,7 +23,6 @@
#include "chromeos/dbus/ibus/mock_ibus_client.h"
#include "chromeos/dbus/ibus/mock_ibus_engine_factory_service.h"
#include "chromeos/dbus/ibus/mock_ibus_engine_service.h"
-#include "chromeos/dbus/ibus/mock_ibus_input_context_client.h"
#include "chromeos/dbus/power_policy_controller.h"
namespace chromeos {
@@ -73,7 +72,6 @@ void MockDBusThreadManagerWithoutGMock::InitIBusBus(
// Non-null bus address is used to ensure the connection to ibus-daemon.
ibus_bus_ = reinterpret_cast<dbus::Bus*>(0xdeadbeef);
mock_ibus_client_.reset(new MockIBusClient);
- mock_ibus_input_context_client_.reset(new MockIBusInputContextClient);
mock_ibus_engine_service_.reset(new MockIBusEngineService);
mock_ibus_engine_factory_service_.reset(new MockIBusEngineFactoryService);
}
@@ -213,11 +211,6 @@ IBusClient* MockDBusThreadManagerWithoutGMock::GetIBusClient() {
return mock_ibus_client_.get();
}
-IBusInputContextClient*
- MockDBusThreadManagerWithoutGMock::GetIBusInputContextClient() {
- return mock_ibus_input_context_client_.get();
-}
-
IBusEngineFactoryService*
MockDBusThreadManagerWithoutGMock::GetIBusEngineFactoryService() {
return mock_ibus_engine_factory_service_.get();
diff --git a/chromeos/dbus/mock_dbus_thread_manager_without_gmock.h b/chromeos/dbus/mock_dbus_thread_manager_without_gmock.h
index a68ae04..f743dc4 100644
--- a/chromeos/dbus/mock_dbus_thread_manager_without_gmock.h
+++ b/chromeos/dbus/mock_dbus_thread_manager_without_gmock.h
@@ -37,7 +37,6 @@ class FakeUpdateEngineClient;
class MockIBusClient;
class MockIBusEngineFactoryService;
class MockIBusEngineService;
-class MockIBusInputContextClient;
// This class provides an another mock DBusThreadManager without gmock
// dependency. This class is used for places where GMock is not allowed
@@ -84,7 +83,6 @@ class MockDBusThreadManagerWithoutGMock : public DBusThreadManager {
virtual SystemClockClient* GetSystemClockClient() OVERRIDE;
virtual UpdateEngineClient* GetUpdateEngineClient() OVERRIDE;
virtual IBusClient* GetIBusClient() OVERRIDE;
- virtual IBusInputContextClient* GetIBusInputContextClient() OVERRIDE;
virtual IBusEngineFactoryService* GetIBusEngineFactoryService() OVERRIDE;
virtual IBusEngineService* GetIBusEngineService(
const dbus::ObjectPath& object_path) OVERRIDE;
@@ -155,10 +153,6 @@ class MockDBusThreadManagerWithoutGMock : public DBusThreadManager {
return mock_ibus_client_.get();
}
- MockIBusInputContextClient* mock_ibus_input_context_client() {
- return mock_ibus_input_context_client_.get();
- }
-
MockIBusEngineService* mock_ibus_engine_service() {
return mock_ibus_engine_service_.get();
}
@@ -195,7 +189,6 @@ class MockDBusThreadManagerWithoutGMock : public DBusThreadManager {
scoped_ptr<FakeUpdateEngineClient> fake_update_engine_client_;
scoped_ptr<MockIBusClient> mock_ibus_client_;
- scoped_ptr<MockIBusInputContextClient> mock_ibus_input_context_client_;
scoped_ptr<MockIBusEngineService> mock_ibus_engine_service_;
scoped_ptr<MockIBusEngineFactoryService> mock_ibus_engine_factory_service_;