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

Unified Diff: chromeos/ime/component_extension_ime_manager.cc

Issue 190033005: [IME] Removes the duplicated IMEs in chrome://settings/languages, and support async component IMEs … (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: try to make test green. Created 6 years, 9 months 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 side-by-side diff with in-line comments
Download patch
Index: chromeos/ime/component_extension_ime_manager.cc
diff --git a/chromeos/ime/component_extension_ime_manager.cc b/chromeos/ime/component_extension_ime_manager.cc
index 3037326346bc5fd82b4e6b8e86efcae556505206..e33ce3eb59b95c17fa916093f68d625f97ebb3e5 100644
--- a/chromeos/ime/component_extension_ime_manager.cc
+++ b/chromeos/ime/component_extension_ime_manager.cc
@@ -76,7 +76,7 @@ ComponentExtensionIMEManagerDelegate::~ComponentExtensionIMEManagerDelegate() {
}
ComponentExtensionIMEManager::ComponentExtensionIMEManager()
- : is_initialized_(false) {
+ : is_initialized_(false), was_initialization_notified_(false) {
for (size_t i = 0; i < arraysize(kLoginLayoutWhitelist); ++i) {
login_layout_set_.insert(kLoginLayoutWhitelist[i]);
}
@@ -90,7 +90,14 @@ void ComponentExtensionIMEManager::Initialize(
delegate_ = delegate.Pass();
component_extension_imes_ = delegate_->ListIME();
is_initialized_ = true;
- FOR_EACH_OBSERVER(Observer, observers_, OnInitialized());
+}
+
+void ComponentExtensionIMEManager::NotifyInitialized() {
+ if (is_initialized_ && !was_initialization_notified_) {
+ FOR_EACH_OBSERVER(
+ Observer, observers_, OnImeComponentExtensionInitialized());
+ was_initialization_notified_ = true;
+ }
}
bool ComponentExtensionIMEManager::IsInitialized() {
@@ -203,6 +210,18 @@ input_method::InputMethodDescriptors
return result;
}
+input_method::InputMethodDescriptors
+ComponentExtensionIMEManager::GetXkbIMEAsInputMethodDescriptor() {
+ input_method::InputMethodDescriptors result;
+ const input_method::InputMethodDescriptors& descriptors =
+ GetAllIMEAsInputMethodDescriptor();
+ for (size_t i = 0; i < descriptors.size(); ++i) {
+ if (extension_ime_util::IsKeyboardLayoutExtension(descriptors[i].id()))
+ result.push_back(descriptors[i]);
+ }
+ return result;
+}
+
void ComponentExtensionIMEManager::AddObserver(Observer* observer) {
observers_.AddObserver(observer);
}
« no previous file with comments | « chromeos/ime/component_extension_ime_manager.h ('k') | chromeos/ime/component_extension_ime_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698