diff options
author | komatsu@chromium.org <komatsu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-13 05:51:29 +0000 |
---|---|---|
committer | komatsu@chromium.org <komatsu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-13 05:51:29 +0000 |
commit | abb2b9f0cb653e30cb43cdc63b527bdaddbedc58 (patch) | |
tree | 9edef0945266ce9172fd79f745178e5d06f94ee3 | |
parent | 321e8602f4adc6e8e2325c375b8cea591d0c87d5 (diff) | |
download | chromium_src-abb2b9f0cb653e30cb43cdc63b527bdaddbedc58.zip chromium_src-abb2b9f0cb653e30cb43cdc63b527bdaddbedc58.tar.gz chromium_src-abb2b9f0cb653e30cb43cdc63b527bdaddbedc58.tar.bz2 |
Delete IBusClient.
IBusClient is no longer necessary. This patch cleans up the code.
BUG=317500
Review URL: https://codereview.chromium.org/67313006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234763 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/chromeos/input_method/input_method_engine_ibus.cc | 25 | ||||
-rw-r--r-- | chrome/browser/chromeos/input_method/input_method_engine_ibus.h | 9 | ||||
-rw-r--r-- | chrome/browser/chromeos/input_method/input_method_manager_impl.cc | 30 | ||||
-rw-r--r-- | chrome/browser/chromeos/input_method/input_method_manager_impl.h | 3 | ||||
-rw-r--r-- | chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc | 46 | ||||
-rw-r--r-- | chromeos/chromeos.gyp | 4 | ||||
-rw-r--r-- | chromeos/dbus/dbus_thread_manager.cc | 12 | ||||
-rw-r--r-- | chromeos/dbus/dbus_thread_manager.h | 11 | ||||
-rw-r--r-- | chromeos/dbus/fake_dbus_thread_manager.cc | 15 | ||||
-rw-r--r-- | chromeos/dbus/fake_dbus_thread_manager.h | 5 | ||||
-rw-r--r-- | chromeos/dbus/ibus/ibus_client.cc | 92 | ||||
-rw-r--r-- | chromeos/dbus/ibus/ibus_client.h | 79 | ||||
-rw-r--r-- | chromeos/dbus/ibus/mock_ibus_client.cc | 45 | ||||
-rw-r--r-- | chromeos/dbus/ibus/mock_ibus_client.h | 92 | ||||
-rw-r--r-- | chromeos/ime/ibus_daemon_controller.cc | 8 | ||||
-rw-r--r-- | ui/base/ime/input_method_ibus_unittest.cc | 52 |
16 files changed, 22 insertions, 506 deletions
diff --git a/chrome/browser/chromeos/input_method/input_method_engine_ibus.cc b/chrome/browser/chromeos/input_method/input_method_engine_ibus.cc index 1cff6b2..06fd8d8 100644 --- a/chrome/browser/chromeos/input_method/input_method_engine_ibus.cc +++ b/chrome/browser/chromeos/input_method/input_method_engine_ibus.cc @@ -14,7 +14,6 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "chromeos/dbus/dbus_thread_manager.h" -#include "chromeos/dbus/ibus/ibus_client.h" #include "chromeos/dbus/ibus/ibus_component.h" #include "chromeos/dbus/ibus/ibus_engine_factory_service.h" #include "chromeos/dbus/ibus/ibus_engine_service.h" @@ -113,10 +112,7 @@ void InputMethodEngineIBus::Initialize( component_->mutable_engine_description()->push_back(engine_desc); manager->AddInputMethodExtension(ibus_id_, engine_name, layouts, languages, options_page, input_view, this); - // If connection is avaiable, register component. If there are no connection - // to ibus-daemon, OnConnected callback will register component instead. - if (IsConnected()) - RegisterComponent(); + RegisterComponent(); } void InputMethodEngineIBus::StartIme() { @@ -599,32 +595,13 @@ void InputMethodEngineIBus::OnConnected() { void InputMethodEngineIBus::OnDisconnected() { } -bool InputMethodEngineIBus::IsConnected() { - return DBusThreadManager::Get()->GetIBusClient() != NULL; -} - void InputMethodEngineIBus::RegisterComponent() { - IBusClient* client = DBusThreadManager::Get()->GetIBusClient(); - client->RegisterComponent( - *component_.get(), - base::Bind(&InputMethodEngineIBus::OnComponentRegistered, - weak_ptr_factory_.GetWeakPtr()), - base::Bind(&InputMethodEngineIBus::OnComponentRegistrationFailed, - weak_ptr_factory_.GetWeakPtr())); -} - -void InputMethodEngineIBus::OnComponentRegistered() { ibus_engine_factory_service_->SetCreateEngineHandler( ibus_id_, base::Bind(&InputMethodEngineIBus::CreateEngineHandler, weak_ptr_factory_.GetWeakPtr())); } -void InputMethodEngineIBus::OnComponentRegistrationFailed() { - DVLOG(1) << "Failed to register input method components."; - // TODO(nona): Implement error handling. -} - void InputMethodEngineIBus::CreateEngineHandler( const IBusEngineFactoryService::CreateEngineResponseSender& sender) { GetCurrentService()->UnsetEngine(this); diff --git a/chrome/browser/chromeos/input_method/input_method_engine_ibus.h b/chrome/browser/chromeos/input_method/input_method_engine_ibus.h index 9f2ecf0..c8adb11 100644 --- a/chrome/browser/chromeos/input_method/input_method_engine_ibus.h +++ b/chrome/browser/chromeos/input_method/input_method_engine_ibus.h @@ -103,9 +103,6 @@ class InputMethodEngineIBus : public InputMethodEngine, void OnDisconnected(); private: - // Returns true if the connection to ibus-daemon is avaiable. - bool IsConnected(); - // Converts MenuItem to InputMethodProperty. void MenuItemToProperty(const MenuItem& item, input_method::InputMethodProperty* property); @@ -113,12 +110,6 @@ class InputMethodEngineIBus : public InputMethodEngine, // Registers the engine component. void RegisterComponent(); - // Called when the RegisterComponent is failed. - void OnComponentRegistrationFailed(); - - // Called when the RegisterComponent is succeeded. - void OnComponentRegistered(); - // Called when the ibus-daemon sends CreateEngine message with corresponding // engine id. void CreateEngineHandler( diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc index 820ee13..0fe1eb2 100644 --- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc @@ -19,7 +19,6 @@ #include "chrome/browser/chromeos/input_method/input_method_engine_ibus.h" #include "chrome/browser/chromeos/language_preferences.h" #include "chromeos/dbus/dbus_thread_manager.h" -#include "chromeos/dbus/ibus/ibus_client.h" #include "chromeos/ime/component_extension_ime_manager.h" #include "chromeos/ime/extension_ime_util.h" #include "chromeos/ime/input_method_delegate.h" @@ -296,13 +295,11 @@ bool InputMethodManagerImpl::ChangeInputMethodInternal( } } - if (!component_extension_ime_manager_->IsInitialized() || - (!InputMethodUtil::IsKeyboardLayout(input_method_id_to_switch) && - !IsIBusConnectionAlive())) { - // We can't change input method before the initialization of component - // extension ime manager or before connection to ibus-daemon is not - // established. ChangeInputMethod will be called with - // |pending_input_method_| when the both initialization is done. + if (!component_extension_ime_manager_->IsInitialized()) { + // We can't change input method before the initialization of + // component extension ime manager. ChangeInputMethod will be + // called with |pending_input_method_| when the initialization is + // done. pending_input_method_ = input_method_id_to_switch; return false; } @@ -310,7 +307,6 @@ bool InputMethodManagerImpl::ChangeInputMethodInternal( pending_input_method_.clear(); IBusEngineHandlerInterface* engine = IBusBridge::Get()->GetEngineHandler(); const std::string current_input_method_id = current_input_method_.id(); - IBusClient* client = DBusThreadManager::Get()->GetIBusClient(); if (InputMethodUtil::IsKeyboardLayout(input_method_id_to_switch)) { FOR_EACH_OBSERVER(InputMethodManager::Observer, observers_, @@ -320,9 +316,15 @@ bool InputMethodManagerImpl::ChangeInputMethodInternal( IBusBridge::Get()->SetEngineHandler(NULL); } } else { - DCHECK(client); - client->SetGlobalEngine(input_method_id_to_switch, - base::Bind(&base::DoNothing)); + // Disable the current engine and enable the next engine. + if (engine) + engine->Disable(); + IBusBridge::Get()->CreateEngine(input_method_id_to_switch); + IBusEngineHandlerInterface* next_engine = + IBusBridge::Get()->GetEngineHandler(); + IBusBridge::Get()->SetEngineHandler(next_engine); + if (next_engine) + next_engine->Enable(); } if (current_input_method_id != input_method_id_to_switch) { @@ -866,9 +868,5 @@ void InputMethodManagerImpl::MaybeInitializeCandidateWindowController() { DVLOG(1) << "Failed to initialize the candidate window controller"; } -bool InputMethodManagerImpl::IsIBusConnectionAlive() { - return DBusThreadManager::Get() && DBusThreadManager::Get()->GetIBusClient(); -} - } // namespace input_method } // namespace chromeos diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.h b/chrome/browser/chromeos/input_method/input_method_manager_impl.h index 487a079..900891b 100644 --- a/chrome/browser/chromeos/input_method/input_method_manager_impl.h +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.h @@ -136,9 +136,6 @@ class InputMethodManagerImpl : public InputMethodManager, // that only contains an input method ID of a keyboard layout. bool ContainsOnlyKeyboardLayout(const std::vector<std::string>& value); - // Returns true if the connection to ibus-daemon is established. - bool IsIBusConnectionAlive(); - // Creates and initializes |candidate_window_controller_| if it hasn't been // done. void MaybeInitializeCandidateWindowController(); diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc b/chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc index c5b5e8d..aa38eea 100644 --- a/chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc @@ -16,7 +16,6 @@ #include "chrome/browser/chromeos/input_method/mock_candidate_window_controller.h" #include "chrome/browser/chromeos/input_method/mock_ibus_controller.h" #include "chromeos/dbus/fake_dbus_thread_manager.h" -#include "chromeos/dbus/ibus/mock_ibus_client.h" #include "chromeos/ime/extension_ime_util.h" #include "chromeos/ime/fake_input_method_delegate.h" #include "chromeos/ime/mock_component_extension_ime_manager_delegate.h" @@ -151,9 +150,6 @@ class InputMethodManagerImplTest : public testing::Test { // Helper function to initialize IBus bus connection for testing. Do not use // ibus related mocks before calling this function. void InitIBusBus() { - mock_ibus_client_ = new MockIBusClient; - fake_dbus_thread_manager_->SetIBusClient( - scoped_ptr<IBusClient>(mock_ibus_client_)); mock_ibus_daemon_controller_->EmulateConnect(); } @@ -163,7 +159,6 @@ class InputMethodManagerImplTest : public testing::Test { MockCandidateWindowController* candidate_window_controller_; MockIBusDaemonController* mock_ibus_daemon_controller_; scoped_ptr<MockIMEEngineHandler> mock_engine_handler_; - MockIBusClient* mock_ibus_client_; FakeDBusThreadManager* fake_dbus_thread_manager_; MockXKeyboard* xkeyboard_; base::MessageLoop message_loop_; @@ -1105,26 +1100,6 @@ TEST_F(InputMethodManagerImplTest, TestAddExtensionInputThenLockScreen) { manager_->RemoveObserver(&observer); } -TEST_F(InputMethodManagerImplTest, TestReset) { - InitComponentExtension(); - InitIBusBus(); - manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); - std::vector<std::string> ids; - ids.push_back("xkb:us::eng"); - ids.push_back(nacl_mozc_us_id); - EXPECT_TRUE(manager_->EnableInputMethods(ids)); - EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); - EXPECT_EQ(0, mock_engine_handler_->reset_call_count()); - manager_->ChangeInputMethod(nacl_mozc_us_id); - EXPECT_EQ(1, mock_ibus_client_->set_global_engine_call_count()); - EXPECT_EQ(nacl_mozc_us_id, mock_ibus_client_->latest_global_engine_name()); - EXPECT_EQ(0, mock_engine_handler_->reset_call_count()); - manager_->ChangeInputMethod("xkb:us::eng"); - EXPECT_EQ(1, mock_ibus_client_->set_global_engine_call_count()); - EXPECT_EQ(nacl_mozc_us_id, mock_ibus_client_->latest_global_engine_name()); - EXPECT_EQ(0, mock_engine_handler_->reset_call_count()); -} - TEST_F(InputMethodManagerImplTest, ChangeInputMethodBeforeComponentExtensionInitialization_OneIME) { manager_->SetState(InputMethodManager::STATE_BROWSER_SCREEN); @@ -1136,8 +1111,7 @@ TEST_F(InputMethodManagerImplTest, InitIBusBus(); InitComponentExtension(); - EXPECT_EQ(1, mock_ibus_client_->set_global_engine_call_count()); - EXPECT_EQ(nacl_mozc_us_id, mock_ibus_client_->latest_global_engine_name()); + EXPECT_EQ(nacl_mozc_us_id, manager_->GetCurrentInputMethod().id()); } TEST_F(InputMethodManagerImplTest, @@ -1153,8 +1127,7 @@ TEST_F(InputMethodManagerImplTest, InitComponentExtension(); InitIBusBus(); - EXPECT_EQ(1, mock_ibus_client_->set_global_engine_call_count()); - EXPECT_EQ(nacl_mozc_jp_id, mock_ibus_client_->latest_global_engine_name()); + EXPECT_EQ(nacl_mozc_jp_id, manager_->GetCurrentInputMethod().id()); } TEST_F(InputMethodManagerImplTest, @@ -1172,8 +1145,7 @@ TEST_F(InputMethodManagerImplTest, InitComponentExtension(); InitIBusBus(); - EXPECT_EQ(1, mock_ibus_client_->set_global_engine_call_count()); - EXPECT_EQ(ext_id, mock_ibus_client_->latest_global_engine_name()); + EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id()); } TEST_F(InputMethodManagerImplTest, @@ -1197,8 +1169,7 @@ TEST_F(InputMethodManagerImplTest, InitComponentExtension(); InitIBusBus(); - EXPECT_EQ(1, mock_ibus_client_->set_global_engine_call_count()); - EXPECT_EQ(ext_id2, mock_ibus_client_->latest_global_engine_name()); + EXPECT_EQ(ext_id2, manager_->GetCurrentInputMethod().id()); } TEST_F(InputMethodManagerImplTest, @@ -1214,8 +1185,7 @@ TEST_F(InputMethodManagerImplTest, ids.push_back(ext_id); EXPECT_TRUE(manager_->EnableInputMethods(ids)); EXPECT_EQ(1U, manager_->GetNumActiveInputMethods()); - EXPECT_EQ(1, mock_ibus_client_->set_global_engine_call_count()); - EXPECT_EQ(ext_id, mock_ibus_client_->latest_global_engine_name()); + EXPECT_EQ(ext_id, manager_->GetCurrentInputMethod().id()); } TEST_F(InputMethodManagerImplTest, @@ -1236,11 +1206,9 @@ TEST_F(InputMethodManagerImplTest, ids.push_back(ext_id2); EXPECT_TRUE(manager_->EnableInputMethods(ids)); EXPECT_EQ(2U, manager_->GetNumActiveInputMethods()); - EXPECT_EQ(1, mock_ibus_client_->set_global_engine_call_count()); - EXPECT_EQ(ext_id1, mock_ibus_client_->latest_global_engine_name()); + EXPECT_EQ(ext_id1, manager_->GetCurrentInputMethod().id()); manager_->ChangeInputMethod(ext_id2); - EXPECT_EQ(2, mock_ibus_client_->set_global_engine_call_count()); - EXPECT_EQ(ext_id2, mock_ibus_client_->latest_global_engine_name()); + EXPECT_EQ(ext_id2, manager_->GetCurrentInputMethod().id()); } TEST_F(InputMethodManagerImplTest, diff --git a/chromeos/chromeos.gyp b/chromeos/chromeos.gyp index 757fb84..5f2a627 100644 --- a/chromeos/chromeos.gyp +++ b/chromeos/chromeos.gyp @@ -169,8 +169,6 @@ 'dbus/shill_service_client.h', 'dbus/shill_stub_helper.cc', 'dbus/shill_stub_helper.h', - 'dbus/ibus/ibus_client.cc', - 'dbus/ibus/ibus_client.h', 'dbus/ibus/ibus_component.cc', 'dbus/ibus/ibus_component.h', 'dbus/ibus/ibus_constants.h', @@ -439,8 +437,6 @@ 'dbus/fake_shill_manager_client.h', 'dbus/fake_update_engine_client.cc', 'dbus/fake_update_engine_client.h', - 'dbus/ibus/mock_ibus_client.cc', - 'dbus/ibus/mock_ibus_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', diff --git a/chromeos/dbus/dbus_thread_manager.cc b/chromeos/dbus/dbus_thread_manager.cc index 18843dc..66a12af 100644 --- a/chromeos/dbus/dbus_thread_manager.cc +++ b/chromeos/dbus/dbus_thread_manager.cc @@ -25,7 +25,6 @@ #include "chromeos/dbus/debug_daemon_client.h" #include "chromeos/dbus/fake_dbus_thread_manager.h" #include "chromeos/dbus/gsm_sms_client.h" -#include "chromeos/dbus/ibus/ibus_client.h" #include "chromeos/dbus/image_burner_client.h" #include "chromeos/dbus/introspectable_client.h" #include "chromeos/dbus/modem_messaging_client.h" @@ -98,12 +97,6 @@ class DBusThreadManagerImpl : public DBusThreadManager { observers_.RemoveObserver(observer); } - virtual void InitIBusBus( - const std::string &ibus_address, - const base::Closure& on_disconnected_callback) OVERRIDE { - ibus_client_.reset(IBusClient::Create()); - } - virtual dbus::Bus* GetSystemBus() OVERRIDE { return system_bus_.get(); } @@ -230,10 +223,6 @@ class DBusThreadManagerImpl : public DBusThreadManager { return update_engine_client_.get(); } - virtual IBusClient* GetIBusClient() OVERRIDE { - return ibus_client_.get(); - } - private: // Constructs all clients -- stub or real implementation according to // |client_type| and |client_type_override| -- and stores them in the @@ -335,7 +324,6 @@ class DBusThreadManagerImpl : public DBusThreadManager { scoped_ptr<SessionManagerClient> session_manager_client_; scoped_ptr<SMSClient> sms_client_; scoped_ptr<UpdateEngineClient> update_engine_client_; - scoped_ptr<IBusClient> ibus_client_; scoped_ptr<PowerPolicyController> power_policy_controller_; }; diff --git a/chromeos/dbus/dbus_thread_manager.h b/chromeos/dbus/dbus_thread_manager.h index 1eb53d1..d2387c4 100644 --- a/chromeos/dbus/dbus_thread_manager.h +++ b/chromeos/dbus/dbus_thread_manager.h @@ -37,7 +37,6 @@ class CryptohomeClient; class DBusClient; class DebugDaemonClient; class GsmSMSClient; -class IBusClient; class IBusEngineFactoryService; class IBusEngineService; class ImageBurnerClient; @@ -109,14 +108,6 @@ class CHROMEOS_EXPORT DBusThreadManager { virtual void AddObserver(DBusThreadManagerObserver* observer) = 0; virtual void RemoveObserver(DBusThreadManagerObserver* observer) = 0; - // Creates new IBusBus instance to communicate with ibus-daemon with specified - // ibus address. |on_disconnected_callback| will be called when the connection - // with ibus-daemon is disconnected. Must be called before using ibus related - // clients. - // TODO(nona): Support shutdown to enable dynamical ibus-daemon shutdown. - virtual void InitIBusBus(const std::string& ibus_address, - const base::Closure& on_disconnected_callback) = 0; - // Returns various D-Bus bus instances, owned by DBusThreadManager. virtual dbus::Bus* GetSystemBus() = 0; @@ -153,8 +144,6 @@ class CHROMEOS_EXPORT DBusThreadManager { virtual SystemClockClient* GetSystemClockClient() = 0; virtual UpdateEngineClient* GetUpdateEngineClient() = 0; - virtual IBusClient* GetIBusClient() = 0; - virtual ~DBusThreadManager(); protected: diff --git a/chromeos/dbus/fake_dbus_thread_manager.cc b/chromeos/dbus/fake_dbus_thread_manager.cc index 6eba472..2be3d65 100644 --- a/chromeos/dbus/fake_dbus_thread_manager.cc +++ b/chromeos/dbus/fake_dbus_thread_manager.cc @@ -22,7 +22,6 @@ #include "chromeos/dbus/fake_nfc_record_client.h" #include "chromeos/dbus/fake_nfc_tag_client.h" #include "chromeos/dbus/gsm_sms_client.h" -#include "chromeos/dbus/ibus/ibus_client.h" #include "chromeos/dbus/image_burner_client.h" #include "chromeos/dbus/introspectable_client.h" #include "chromeos/dbus/modem_messaging_client.h" @@ -70,7 +69,6 @@ void FakeDBusThreadManager::SetFakeClients() { scoped_ptr<CryptohomeClient>(CryptohomeClient::Create(client_type))); SetDebugDaemonClient( scoped_ptr<DebugDaemonClient>(DebugDaemonClient::Create(client_type))); - SetIBusClient(make_scoped_ptr(IBusClient::Create())); SetShillManagerClient( scoped_ptr<ShillManagerClient>(ShillManagerClient::Create(client_type))); SetShillDeviceClient( @@ -257,10 +255,6 @@ void FakeDBusThreadManager::SetUpdateEngineClient( update_engine_client_ = client.Pass(); } -void FakeDBusThreadManager::SetIBusClient(scoped_ptr<IBusClient> client) { - ibus_client_ = client.Pass(); -} - void FakeDBusThreadManager::AddObserver( DBusThreadManagerObserver* observer) { DCHECK(observer); @@ -273,11 +267,6 @@ void FakeDBusThreadManager::RemoveObserver( observers_.RemoveObserver(observer); } -void FakeDBusThreadManager::InitIBusBus( - const std::string& ibus_address, - const base::Closure& closure) { -} - dbus::Bus* FakeDBusThreadManager::GetSystemBus() { return NULL; } @@ -417,8 +406,4 @@ UpdateEngineClient* FakeDBusThreadManager::GetUpdateEngineClient() { return update_engine_client_.get(); } -IBusClient* FakeDBusThreadManager::GetIBusClient() { - return ibus_client_.get(); -} - } // namespace chromeos diff --git a/chromeos/dbus/fake_dbus_thread_manager.h b/chromeos/dbus/fake_dbus_thread_manager.h index be7324b..ace5690a 100644 --- a/chromeos/dbus/fake_dbus_thread_manager.h +++ b/chromeos/dbus/fake_dbus_thread_manager.h @@ -63,12 +63,9 @@ class CHROMEOS_EXPORT FakeDBusThreadManager : public DBusThreadManager { void SetSMSClient(scoped_ptr<SMSClient> client); void SetSystemClockClient(scoped_ptr<SystemClockClient> client); void SetUpdateEngineClient(scoped_ptr<UpdateEngineClient> client); - void SetIBusClient(scoped_ptr<IBusClient> client); virtual void AddObserver(DBusThreadManagerObserver* observer) OVERRIDE; virtual void RemoveObserver(DBusThreadManagerObserver* observer) OVERRIDE; - virtual void InitIBusBus(const std::string& ibus_address, - const base::Closure& closure) OVERRIDE; virtual dbus::Bus* GetSystemBus() OVERRIDE; virtual BluetoothAdapterClient* GetBluetoothAdapterClient() OVERRIDE; @@ -103,7 +100,6 @@ class CHROMEOS_EXPORT FakeDBusThreadManager : public DBusThreadManager { virtual SMSClient* GetSMSClient() OVERRIDE; virtual SystemClockClient* GetSystemClockClient() OVERRIDE; virtual UpdateEngineClient* GetUpdateEngineClient() OVERRIDE; - virtual IBusClient* GetIBusClient() OVERRIDE; private: // Note: Keep this before other members so they can call AddObserver() in @@ -139,7 +135,6 @@ class CHROMEOS_EXPORT FakeDBusThreadManager : public DBusThreadManager { scoped_ptr<SessionManagerClient> session_manager_client_; scoped_ptr<SMSClient> sms_client_; scoped_ptr<UpdateEngineClient> update_engine_client_; - scoped_ptr<IBusClient> ibus_client_; scoped_ptr<PowerPolicyController> power_policy_controller_; diff --git a/chromeos/dbus/ibus/ibus_client.cc b/chromeos/dbus/ibus/ibus_client.cc deleted file mode 100644 index 80112a8..0000000 --- a/chromeos/dbus/ibus/ibus_client.cc +++ /dev/null @@ -1,92 +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_client.h" - -#include "base/bind.h" -#include "base/callback.h" -#include "chromeos/dbus/ibus/ibus_constants.h" -#include "chromeos/dbus/ibus/ibus_component.h" -#include "chromeos/dbus/ibus/ibus_engine_service.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 { - -namespace { - -// An implementation of IBusClient 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 IBusClientDaemonlessImpl : public IBusClient { - public: - IBusClientDaemonlessImpl() {} - virtual ~IBusClientDaemonlessImpl() {} - - virtual void CreateInputContext( - const std::string& client_name, - const CreateInputContextCallback & callback, - const ErrorCallback& error_callback) OVERRIDE { - // TODO(nona): Remove this function once ibus-daemon is gone. - // We don't have to do anything for this function except for calling - // |callback| as the success of this function. The original spec of ibus - // supports multiple input contexts, but there is only one input context in - // Chrome OS. That is all IME events will be came from same input context - // and all engine action shuold be forwarded to same input context. - dbus::ObjectPath path("dummpy path"); - callback.Run(path); - } - - virtual void RegisterComponent( - const IBusComponent& ibus_component, - const RegisterComponentCallback& callback, - const ErrorCallback& error_callback) OVERRIDE { - // TODO(nona): Remove this function once ibus-daemon is gone. - // The information about engine is stored in chromeos::InputMethodManager so - // IBusBridge doesn't do anything except for calling |callback| as success - // of this function. - callback.Run(); - } - - virtual void SetGlobalEngine(const std::string& engine_name, - const ErrorCallback& error_callback) OVERRIDE { - IBusEngineHandlerInterface* previous_engine = - IBusBridge::Get()->GetEngineHandler(); - if (previous_engine) - previous_engine->Disable(); - IBusBridge::Get()->CreateEngine(engine_name); - IBusEngineHandlerInterface* next_engine = - IBusBridge::Get()->GetEngineHandler(); - IBusBridge::Get()->SetEngineHandler(next_engine); - if (next_engine) - next_engine->Enable(); - } - - virtual void Exit(ExitOption option, - const ErrorCallback& error_callback) OVERRIDE { - // Exit is not supported on daemon-less implementation. - } - - private: - DISALLOW_COPY_AND_ASSIGN(IBusClientDaemonlessImpl); -}; - -} // namespace - -/////////////////////////////////////////////////////////////////////////////// -// IBusClient - -IBusClient::IBusClient() {} - -IBusClient::~IBusClient() {} - -// static -IBusClient* IBusClient::Create() { - return new IBusClientDaemonlessImpl(); -} - -} // namespace chromeos diff --git a/chromeos/dbus/ibus/ibus_client.h b/chromeos/dbus/ibus/ibus_client.h deleted file mode 100644 index 6245a29..0000000 --- a/chromeos/dbus/ibus/ibus_client.h +++ /dev/null @@ -1,79 +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_CLIENT_H_ -#define CHROMEOS_DBUS_IBUS_IBUS_CLIENT_H_ - -#include <string> - -#include "base/basictypes.h" -#include "base/callback.h" -#include "chromeos/chromeos_export.h" -#include "dbus/object_path.h" - -namespace dbus { -class Bus; -} // namespace dbus - -namespace chromeos { - -class IBusComponent; - -// A class to make the actual DBus calls for IBusBus service. -// This class only makes calls, result/error handling should be done by -// callbacks. -class CHROMEOS_EXPORT IBusClient { - public: - enum ExitOption { - RESTART_IBUS_DAEMON, - SHUT_DOWN_IBUS_DAEMON - }; - typedef base::Callback<void(const dbus::ObjectPath&)> - CreateInputContextCallback; - typedef base::Callback<void()> RegisterComponentCallback; - typedef base::Callback<void()> ErrorCallback; - - virtual ~IBusClient(); - - // Requests the ibus-daemon to create new input context. If succeeded, - // |callback| will be called with an ObjectPath which is used in input context - // handling. If failed, |error_callback| is called instead. - virtual void CreateInputContext( - const std::string& client_name, - const CreateInputContextCallback& callback, - const ErrorCallback& error_callback) = 0; - - // Requests the ibus-daemon to register new engine object. If succeeded, - // |callback| will be called. If failed, |error_callback| is called instead. - virtual void RegisterComponent( - const IBusComponent& ibus_component, - const RegisterComponentCallback& callback, - const ErrorCallback& error_callback) = 0; - - // Requests the ibus-daemon to set global engine. If failed, |error_callback| - // is called. - virtual void SetGlobalEngine(const std::string& engine_name, - const ErrorCallback& error_callback) = 0; - - // Requests the ibus-daemon to exit daemon process. If |option| is - // RESTART_IBUS_DAEMON, ibus-daemon will be relaunched. If |option| is - // SHUT_DOWN_IBUS_DAEMON, ibus-daemon will not be relaunched. The - // |error_callback| is called if an error occurs. - virtual void Exit(ExitOption option, const ErrorCallback& error_callback) = 0; - - // Factory function, creates a new instance and returns ownership. - // For normal usage, access the singleton via DBusThreadManager::Get(). - static CHROMEOS_EXPORT IBusClient* Create(); - - protected: - // Create() should be used instead. - IBusClient(); - - private: - DISALLOW_COPY_AND_ASSIGN(IBusClient); -}; - -} // namespace chromeos - -#endif // CHROMEOS_DBUS_IBUS_IBUS_CLIENT_H_ diff --git a/chromeos/dbus/ibus/mock_ibus_client.cc b/chromeos/dbus/ibus/mock_ibus_client.cc deleted file mode 100644 index a677a7e..0000000 --- a/chromeos/dbus/ibus/mock_ibus_client.cc +++ /dev/null @@ -1,45 +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_client.h" - -namespace chromeos { - -MockIBusClient::MockIBusClient() - : create_input_context_call_count_(0), - register_component_call_count_(0), - set_global_engine_call_count_(0) { -} - -MockIBusClient::~MockIBusClient() {} - -void MockIBusClient::CreateInputContext( - const std::string& client_name, - const CreateInputContextCallback& callback, - const ErrorCallback& error_callback) { - create_input_context_call_count_++; - if (!create_input_context_handler_.is_null()) - create_input_context_handler_.Run(client_name, callback, error_callback); -} - -void MockIBusClient::RegisterComponent( - const IBusComponent& ibus_component, - const RegisterComponentCallback& callback, - const ErrorCallback& error_callback) { - register_component_call_count_++; - if (!register_component_handler_.is_null()) - register_component_handler_.Run(ibus_component, callback, error_callback); -} - -void MockIBusClient::SetGlobalEngine(const std::string& engine_name, - const ErrorCallback& error_callback) { - ++set_global_engine_call_count_; - latest_global_engine_name_ = engine_name; -} - -void MockIBusClient::Exit(ExitOption option, - const ErrorCallback& error_callback) { -} - -} // namespace chromeos diff --git a/chromeos/dbus/ibus/mock_ibus_client.h b/chromeos/dbus/ibus/mock_ibus_client.h deleted file mode 100644 index ef5439e..0000000 --- a/chromeos/dbus/ibus/mock_ibus_client.h +++ /dev/null @@ -1,92 +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_CLIENT_H_ -#define CHROMEOS_DBUS_IBUS_MOCK_IBUS_CLIENT_H_ - -#include <string> -#include "base/callback.h" -#include "chromeos/chromeos_export.h" -#include "chromeos/dbus/ibus/ibus_client.h" - -namespace chromeos { - -class CHROMEOS_EXPORT MockIBusClient : public IBusClient { - public: - MockIBusClient(); - virtual ~MockIBusClient(); - - typedef base::Callback<void(const std::string& client_name, - const CreateInputContextCallback& callback, - const ErrorCallback& error_callback)> - CreateInputContextHandler; - typedef base::Callback<void(const IBusComponent& ibus_component, - const RegisterComponentCallback& callback, - const ErrorCallback& error_callback)> - RegisterComponentHandler; - - // IBusClient override. - virtual void CreateInputContext(const std::string& client_name, - const CreateInputContextCallback& callback, - const ErrorCallback& error_callback) OVERRIDE; - - // IBusClient override. - virtual void RegisterComponent(const IBusComponent& ibus_component, - const RegisterComponentCallback& callback, - const ErrorCallback& error_callback) OVERRIDE; - - // IBusClient override. - virtual void SetGlobalEngine(const std::string& engine_name, - const ErrorCallback& error_callback) OVERRIDE; - - // IBusClient override. - virtual void Exit(ExitOption option, - const ErrorCallback& error_callback) OVERRIDE; - - // Function handler for CreateInputContext. The CreateInputContext function - // invokes |create_input_context_handler_| unless it's not null. - void set_create_input_context_handler( - const CreateInputContextHandler& handler) { - create_input_context_handler_ = handler; - } - - // Function handler for RegisterComponent. The RegisterComponent function - // invokes |register_component_handler_| unless it's not null. - void set_register_component_handler( - const RegisterComponentHandler& handler) { - register_component_handler_ = handler; - } - - // Call count of CreateInputContext(). - int create_input_context_call_count() const { - return create_input_context_call_count_; - } - - // Call count of RegisterComponent(). - int register_component_call_count() const { - return register_component_call_count_; - } - - int set_global_engine_call_count() const { - return set_global_engine_call_count_; - } - - const std::string& latest_global_engine_name() const { - return latest_global_engine_name_; - } - - private: - CreateInputContextHandler create_input_context_handler_; - RegisterComponentHandler register_component_handler_; - int create_input_context_call_count_; - int register_component_call_count_; - int set_global_engine_call_count_; - std::string latest_global_engine_name_; - - DISALLOW_COPY_AND_ASSIGN(MockIBusClient); -}; - -} // namespace chromeos - -#endif // CHROMEOS_DBUS_IBUS_MOCK_IBUS_CLIENT_H_ diff --git a/chromeos/ime/ibus_daemon_controller.cc b/chromeos/ime/ibus_daemon_controller.cc index 7febb2b..0ff2eb1 100644 --- a/chromeos/ime/ibus_daemon_controller.cc +++ b/chromeos/ime/ibus_daemon_controller.cc @@ -39,14 +39,6 @@ class IBusDaemonControllerDaemonlessImpl : public IBusDaemonController { virtual bool Start() OVERRIDE { if (is_started_) return false; - // IBusBus should be initialized but it is okay to pass "dummy address" as - // the bus address because the actual dbus implementation is stub if the - // Chrome OS is working on Linux desktop. This path is not used in - // production at this moment, only for Chrome OS on Linux Desktop. - // TODO(nona): Remove InitIBusBus oncer all legacy ime is migrated to IME - // extension API. - DBusThreadManager::Get()->InitIBusBus("dummy address", - base::Bind(&base::DoNothing)); is_started_ = true; FOR_EACH_OBSERVER(Observer, observers_, OnConnected()); return true; diff --git a/ui/base/ime/input_method_ibus_unittest.cc b/ui/base/ime/input_method_ibus_unittest.cc index de493cd..92cd2f6 100644 --- a/ui/base/ime/input_method_ibus_unittest.cc +++ b/ui/base/ime/input_method_ibus_unittest.cc @@ -15,7 +15,6 @@ #include "base/strings/utf_string_conversions.h" #include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/ibus/ibus_text.h" -#include "chromeos/dbus/ibus/mock_ibus_client.h" #include "chromeos/ime/ibus_bridge.h" #include "chromeos/ime/ibus_keymap.h" #include "chromeos/ime/mock_ime_candidate_window_handler.h" @@ -108,57 +107,6 @@ class TestableInputMethodIBus : public InputMethodIBus { int process_key_event_post_ime_call_count_; }; -class CreateInputContextSuccessHandler { - public: - explicit CreateInputContextSuccessHandler(const dbus::ObjectPath& object_path) - : object_path_(object_path) { - } - - void Run(const std::string& client_name, - const chromeos::IBusClient::CreateInputContextCallback& callback) { - EXPECT_EQ("chrome", client_name); - callback.Run(object_path_); - } - - private: - dbus::ObjectPath object_path_; - - DISALLOW_COPY_AND_ASSIGN(CreateInputContextSuccessHandler); -}; - -class CreateInputContextNoResponseHandler { - public: - CreateInputContextNoResponseHandler() {} - void Run(const std::string& client_name, - const chromeos::IBusClient::CreateInputContextCallback& callback) { - } - - private: - DISALLOW_COPY_AND_ASSIGN(CreateInputContextNoResponseHandler); -}; - -class CreateInputContextDelayHandler { - public: - explicit CreateInputContextDelayHandler(const dbus::ObjectPath& object_path) - : object_path_(object_path) { - } - - void Run(const std::string& client_name, - const chromeos::IBusClient::CreateInputContextCallback& callback) { - callback_ = callback; - } - - void RunCallback() { - callback_.Run(object_path_); - } - - private: - dbus::ObjectPath object_path_; - chromeos::IBusClient::CreateInputContextCallback callback_; - - DISALLOW_COPY_AND_ASSIGN(CreateInputContextDelayHandler); -}; - class SynchronousKeyEventHandler { public: SynchronousKeyEventHandler(uint32 expected_keyval, |