summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r--chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc5
-rw-r--r--chrome/browser/chromeos/input_method/input_method_engine.cc3
-rw-r--r--chrome/browser/chromeos/input_method/input_method_util.cc4
3 files changed, 9 insertions, 3 deletions
diff --git a/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc b/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc
index 1db74fc..9b74742 100644
--- a/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc
+++ b/chrome/browser/chromeos/input_method/component_extension_ime_manager_impl.cc
@@ -27,6 +27,11 @@ struct WhitelistedComponentExtensionIME {
const char* path;
} whitelisted_component_extension[] = {
{
+ // ChromeOS xkb extension.
+ "fgoepimhcoialccpbmpnnblemnepkkao",
+ "/usr/share/chromeos-assets/input_methods/xkb",
+ },
+ {
// ChromeOS Keyboards extension.
"jhffeifommiaekmbkkjlpmilogcfdohp",
"/usr/share/chromeos-assets/input_methods/keyboard_layouts",
diff --git a/chrome/browser/chromeos/input_method/input_method_engine.cc b/chrome/browser/chromeos/input_method/input_method_engine.cc
index b9f58b5..e095241 100644
--- a/chrome/browser/chromeos/input_method/input_method_engine.cc
+++ b/chrome/browser/chromeos/input_method/input_method_engine.cc
@@ -106,7 +106,8 @@ void InputMethodEngine::Initialize(
std::string(), // TODO(uekawa): Set short name.
layouts,
languages,
- false, // is_login_keyboard
+ extension_ime_util::IsKeyboardLayoutExtension(
+ imm_id_), // is_login_keyboard
options_page,
input_view);
diff --git a/chrome/browser/chromeos/input_method/input_method_util.cc b/chrome/browser/chromeos/input_method/input_method_util.cc
index 2c0f751..e11dd25 100644
--- a/chrome/browser/chromeos/input_method/input_method_util.cc
+++ b/chrome/browser/chromeos/input_method/input_method_util.cc
@@ -341,8 +341,8 @@ bool InputMethodUtil::IsValidInputMethodId(
// static
bool InputMethodUtil::IsKeyboardLayout(const std::string& input_method_id) {
- const bool kCaseInsensitive = false;
- return StartsWithASCII(input_method_id, "xkb:", kCaseInsensitive);
+ return StartsWithASCII(input_method_id, "xkb:", false) ||
+ extension_ime_util::IsKeyboardLayoutExtension(input_method_id);
}
std::string InputMethodUtil::GetLanguageCodeFromInputMethodId(