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

Unified Diff: chrome/browser/chromeos/input_method/input_method_manager_impl.cc

Issue 178343005: [IME] migrate the xkb ID to extension based xkb ID. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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: chrome/browser/chromeos/input_method/input_method_manager_impl.cc
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 8fda319f81d34e72e41f833899cd88e2ca259a6f..8d3fcc6432298ac6891096bb75786889698fc9c8 100644
--- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
+++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
@@ -50,6 +50,11 @@ bool InputMethodManagerImpl::IsLoginKeyboard(
return util_.IsLoginKeyboard(layout);
}
+bool InputMethodManagerImpl::MigrateXkbInputMethods(
+ std::vector<std::string>* input_method_ids) {
+ return util_.MigrateXkbInputMethods(input_method_ids);
+}
+
InputMethodManagerImpl::InputMethodManagerImpl(
scoped_ptr<InputMethodDelegate> delegate)
: delegate_(delegate.Pass()),
@@ -208,6 +213,7 @@ void InputMethodManagerImpl::EnableLoginLayouts(
layouts.push_back(candidate);
}
+ MigrateXkbInputMethods(&layouts);
active_input_method_ids_.swap(layouts);
// Initialize candidate window controller and widgets such as
@@ -217,7 +223,9 @@ void InputMethodManagerImpl::EnableLoginLayouts(
MaybeInitializeCandidateWindowController();
// you can pass empty |initial_layout|.
- ChangeInputMethod(initial_layouts.empty() ? "" : initial_layouts[0]);
+ ChangeInputMethod(initial_layouts.empty() ? "" :
+ extension_ime_util::GetInputMethodIDByKeyboardLayout(
+ initial_layouts[0]));
}
// Adds new input method to given list.
@@ -285,6 +293,7 @@ bool InputMethodManagerImpl::ReplaceEnabledInputMethods(
new_active_input_method_ids_filtered.push_back(input_method_id);
}
active_input_method_ids_.swap(new_active_input_method_ids_filtered);
+ MigrateXkbInputMethods(&active_input_method_ids_);
ReconfigureIMFramework();
@@ -320,7 +329,9 @@ bool InputMethodManagerImpl::ChangeInputMethodInternal(
}
if (!component_extension_ime_manager_->IsInitialized() &&
- !InputMethodUtil::IsKeyboardLayout(input_method_id_to_switch)) {
+ (!InputMethodUtil::IsKeyboardLayout(input_method_id_to_switch) ||
+ extension_ime_util::IsKeyboardLayoutExtension(
+ input_method_id_to_switch))) {
// 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
@@ -660,6 +671,8 @@ bool InputMethodManagerImpl::SwitchInputMethod(
return false;
}
+ MigrateXkbInputMethods(&input_method_ids_to_switch);
+
// Obtain the intersection of input_method_ids_to_switch and
// active_input_method_ids_. The order of IDs in active_input_method_ids_ is
// preserved.

Powered by Google App Engine
This is Rietveld 408576698