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

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

Issue 68503002: Delete IBusComponent. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. 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
« no previous file with comments | « chrome/browser/chromeos/input_method/input_method_engine_ibus.h ('k') | chromeos/chromeos.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_component.h"
18 #include "chromeos/dbus/ibus/ibus_engine_factory_service.h" 17 #include "chromeos/dbus/ibus/ibus_engine_factory_service.h"
19 #include "chromeos/dbus/ibus/ibus_engine_service.h" 18 #include "chromeos/dbus/ibus/ibus_engine_service.h"
20 #include "chromeos/dbus/ibus/ibus_text.h" 19 #include "chromeos/dbus/ibus/ibus_text.h"
21 #include "chromeos/ime/candidate_window.h" 20 #include "chromeos/ime/candidate_window.h"
22 #include "chromeos/ime/component_extension_ime_manager.h" 21 #include "chromeos/ime/component_extension_ime_manager.h"
23 #include "chromeos/ime/extension_ime_util.h" 22 #include "chromeos/ime/extension_ime_util.h"
24 #include "chromeos/ime/ibus_keymap.h" 23 #include "chromeos/ime/ibus_keymap.h"
25 #include "chromeos/ime/input_method_manager.h" 24 #include "chromeos/ime/input_method_manager.h"
26 #include "dbus/object_path.h" 25 #include "dbus/object_path.h"
27 26
(...skipping 14 matching lines...) Expand all
42 InputMethodEngineIBus::InputMethodEngineIBus() 41 InputMethodEngineIBus::InputMethodEngineIBus()
43 : focused_(false), 42 : focused_(false),
44 active_(false), 43 active_(false),
45 context_id_(0), 44 context_id_(0),
46 next_context_id_(1), 45 next_context_id_(1),
47 aux_text_(new IBusText()), 46 aux_text_(new IBusText()),
48 aux_text_visible_(false), 47 aux_text_visible_(false),
49 observer_(NULL), 48 observer_(NULL),
50 preedit_text_(new IBusText()), 49 preedit_text_(new IBusText()),
51 preedit_cursor_(0), 50 preedit_cursor_(0),
52 component_(new IBusComponent()),
53 candidate_window_(new input_method::CandidateWindow()), 51 candidate_window_(new input_method::CandidateWindow()),
54 window_visible_(false), 52 window_visible_(false),
55 ibus_engine_factory_service_(IBusEngineFactoryService::Create()), 53 ibus_engine_factory_service_(IBusEngineFactoryService::Create()),
56 weak_ptr_factory_(this) {} 54 weak_ptr_factory_(this) {}
57 55
58 InputMethodEngineIBus::~InputMethodEngineIBus() { 56 InputMethodEngineIBus::~InputMethodEngineIBus() {
59 input_method::InputMethodManager::Get()->RemoveInputMethodExtension(ibus_id_); 57 input_method::InputMethodManager::Get()->RemoveInputMethodExtension(ibus_id_);
60 58
61 // Do not unset engine before removing input method extension, above function 59 // Do not unset engine before removing input method extension, above function
62 // may call reset function of engine object. 60 // may call reset function of engine object.
(...skipping 26 matching lines...) Expand all
89 ComponentExtensionIMEManager* comp_ext_ime_manager 87 ComponentExtensionIMEManager* comp_ext_ime_manager
90 = manager->GetComponentExtensionIMEManager(); 88 = manager->GetComponentExtensionIMEManager();
91 89
92 if (comp_ext_ime_manager->IsInitialized() && 90 if (comp_ext_ime_manager->IsInitialized() &&
93 comp_ext_ime_manager->IsWhitelistedExtension(extension_id)) { 91 comp_ext_ime_manager->IsWhitelistedExtension(extension_id)) {
94 ibus_id_ = comp_ext_ime_manager->GetId(extension_id, engine_id); 92 ibus_id_ = comp_ext_ime_manager->GetId(extension_id, engine_id);
95 } else { 93 } else {
96 ibus_id_ = extension_ime_util::GetInputMethodID(extension_id, engine_id); 94 ibus_id_ = extension_ime_util::GetInputMethodID(extension_id, engine_id);
97 } 95 }
98 96
99 component_.reset(new IBusComponent());
100 component_->set_name(std::string(kEngineBusPrefix) + std::string(engine_id));
101 component_->set_description(description);
102 component_->set_author(engine_name);
103
104 // TODO(nona): Remove IBusComponent once ibus is gone.
105 IBusComponent::EngineDescription engine_desc;
106 engine_desc.engine_id = ibus_id_;
107 engine_desc.display_name = description;
108 engine_desc.description = description;
109 engine_desc.language_code = (languages.empty()) ? "" : languages[0];
110 engine_desc.author = ibus_id_;
111
112 component_->mutable_engine_description()->push_back(engine_desc);
113 manager->AddInputMethodExtension(ibus_id_, engine_name, layouts, languages, 97 manager->AddInputMethodExtension(ibus_id_, engine_name, layouts, languages,
114 options_page, input_view, this); 98 options_page, input_view, this);
115 RegisterComponent(); 99 RegisterComponent();
116 } 100 }
117 101
118 void InputMethodEngineIBus::StartIme() { 102 void InputMethodEngineIBus::StartIme() {
119 input_method::InputMethodManager* manager = 103 input_method::InputMethodManager* manager =
120 input_method::InputMethodManager::Get(); 104 input_method::InputMethodManager::Get();
121 if (manager && ibus_id_ == manager->GetCurrentInputMethod().id()) 105 if (manager && ibus_id_ == manager->GetCurrentInputMethod().id())
122 Enable(); 106 Enable();
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 const IBusEngineFactoryService::CreateEngineResponseSender& sender) { 590 const IBusEngineFactoryService::CreateEngineResponseSender& sender) {
607 GetCurrentService()->UnsetEngine(this); 591 GetCurrentService()->UnsetEngine(this);
608 ibus_engine_service_.reset(); 592 ibus_engine_service_.reset();
609 object_path_ = ibus_engine_factory_service_->GenerateUniqueObjectPath(); 593 object_path_ = ibus_engine_factory_service_->GenerateUniqueObjectPath();
610 594
611 GetCurrentService()->SetEngine(this); 595 GetCurrentService()->SetEngine(this);
612 sender.Run(object_path_); 596 sender.Run(object_path_);
613 } 597 }
614 598
615 } // namespace chromeos 599 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/input_method/input_method_engine_ibus.h ('k') | chromeos/chromeos.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698