Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: chrome/browser/chromeos/input_method/input_method_engine_ibus.cc

Issue 67313006: Delete IBusClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove obsolete test. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/input_method/input_method_engine_ibus.h" 5 #include "chrome/browser/chromeos/input_method/input_method_engine_ibus.h"
6 6
7 #define XK_MISCELLANY 7 #define XK_MISCELLANY
8 #include <X11/keysymdef.h> 8 #include <X11/keysymdef.h>
9 #include <map> 9 #include <map>
10 10
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "base/strings/string_number_conversions.h" 13 #include "base/strings/string_number_conversions.h"
14 #include "base/strings/string_util.h" 14 #include "base/strings/string_util.h"
15 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
16 #include "chromeos/dbus/dbus_thread_manager.h" 16 #include "chromeos/dbus/dbus_thread_manager.h"
17 #include "chromeos/dbus/ibus/ibus_client.h"
18 #include "chromeos/dbus/ibus/ibus_component.h" 17 #include "chromeos/dbus/ibus/ibus_component.h"
19 #include "chromeos/dbus/ibus/ibus_engine_factory_service.h" 18 #include "chromeos/dbus/ibus/ibus_engine_factory_service.h"
20 #include "chromeos/dbus/ibus/ibus_engine_service.h" 19 #include "chromeos/dbus/ibus/ibus_engine_service.h"
21 #include "chromeos/dbus/ibus/ibus_text.h" 20 #include "chromeos/dbus/ibus/ibus_text.h"
22 #include "chromeos/ime/candidate_window.h" 21 #include "chromeos/ime/candidate_window.h"
23 #include "chromeos/ime/component_extension_ime_manager.h" 22 #include "chromeos/ime/component_extension_ime_manager.h"
24 #include "chromeos/ime/extension_ime_util.h" 23 #include "chromeos/ime/extension_ime_util.h"
25 #include "chromeos/ime/ibus_keymap.h" 24 #include "chromeos/ime/ibus_keymap.h"
26 #include "chromeos/ime/input_method_manager.h" 25 #include "chromeos/ime/input_method_manager.h"
27 #include "dbus/object_path.h" 26 #include "dbus/object_path.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 IBusComponent::EngineDescription engine_desc; 105 IBusComponent::EngineDescription engine_desc;
107 engine_desc.engine_id = ibus_id_; 106 engine_desc.engine_id = ibus_id_;
108 engine_desc.display_name = description; 107 engine_desc.display_name = description;
109 engine_desc.description = description; 108 engine_desc.description = description;
110 engine_desc.language_code = (languages.empty()) ? "" : languages[0]; 109 engine_desc.language_code = (languages.empty()) ? "" : languages[0];
111 engine_desc.author = ibus_id_; 110 engine_desc.author = ibus_id_;
112 111
113 component_->mutable_engine_description()->push_back(engine_desc); 112 component_->mutable_engine_description()->push_back(engine_desc);
114 manager->AddInputMethodExtension(ibus_id_, engine_name, layouts, languages, 113 manager->AddInputMethodExtension(ibus_id_, engine_name, layouts, languages,
115 options_page, input_view, this); 114 options_page, input_view, this);
116 // If connection is avaiable, register component. If there are no connection 115 RegisterComponent();
117 // to ibus-daemon, OnConnected callback will register component instead.
118 if (IsConnected())
119 RegisterComponent();
120 } 116 }
121 117
122 void InputMethodEngineIBus::StartIme() { 118 void InputMethodEngineIBus::StartIme() {
123 input_method::InputMethodManager* manager = 119 input_method::InputMethodManager* manager =
124 input_method::InputMethodManager::Get(); 120 input_method::InputMethodManager::Get();
125 if (manager && ibus_id_ == manager->GetCurrentInputMethod().id()) 121 if (manager && ibus_id_ == manager->GetCurrentInputMethod().id())
126 Enable(); 122 Enable();
127 } 123 }
128 124
129 bool InputMethodEngineIBus::SetComposition( 125 bool InputMethodEngineIBus::SetComposition(
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 // TODO(nona): Support item.children. 588 // TODO(nona): Support item.children.
593 } 589 }
594 590
595 void InputMethodEngineIBus::OnConnected() { 591 void InputMethodEngineIBus::OnConnected() {
596 RegisterComponent(); 592 RegisterComponent();
597 } 593 }
598 594
599 void InputMethodEngineIBus::OnDisconnected() { 595 void InputMethodEngineIBus::OnDisconnected() {
600 } 596 }
601 597
602 bool InputMethodEngineIBus::IsConnected() {
603 return DBusThreadManager::Get()->GetIBusClient() != NULL;
604 }
605
606 void InputMethodEngineIBus::RegisterComponent() { 598 void InputMethodEngineIBus::RegisterComponent() {
607 IBusClient* client = DBusThreadManager::Get()->GetIBusClient();
608 client->RegisterComponent(
609 *component_.get(),
610 base::Bind(&InputMethodEngineIBus::OnComponentRegistered,
611 weak_ptr_factory_.GetWeakPtr()),
612 base::Bind(&InputMethodEngineIBus::OnComponentRegistrationFailed,
613 weak_ptr_factory_.GetWeakPtr()));
614 }
615
616 void InputMethodEngineIBus::OnComponentRegistered() {
617 ibus_engine_factory_service_->SetCreateEngineHandler( 599 ibus_engine_factory_service_->SetCreateEngineHandler(
618 ibus_id_, 600 ibus_id_,
619 base::Bind(&InputMethodEngineIBus::CreateEngineHandler, 601 base::Bind(&InputMethodEngineIBus::CreateEngineHandler,
620 weak_ptr_factory_.GetWeakPtr())); 602 weak_ptr_factory_.GetWeakPtr()));
621 } 603 }
622 604
623 void InputMethodEngineIBus::OnComponentRegistrationFailed() {
624 DVLOG(1) << "Failed to register input method components.";
625 // TODO(nona): Implement error handling.
626 }
627
628 void InputMethodEngineIBus::CreateEngineHandler( 605 void InputMethodEngineIBus::CreateEngineHandler(
629 const IBusEngineFactoryService::CreateEngineResponseSender& sender) { 606 const IBusEngineFactoryService::CreateEngineResponseSender& sender) {
630 GetCurrentService()->UnsetEngine(this); 607 GetCurrentService()->UnsetEngine(this);
631 ibus_engine_service_.reset(); 608 ibus_engine_service_.reset();
632 object_path_ = ibus_engine_factory_service_->GenerateUniqueObjectPath(); 609 object_path_ = ibus_engine_factory_service_->GenerateUniqueObjectPath();
633 610
634 GetCurrentService()->SetEngine(this); 611 GetCurrentService()->SetEngine(this);
635 sender.Run(object_path_); 612 sender.Run(object_path_);
636 } 613 }
637 614
638 } // namespace chromeos 615 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698