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 a83c6c48ecb4e86de84f58eda1acee32eac43366..9a8cce1d507a40ef551b64019c6a6b3a6a0ea995 100644 |
--- a/chromeos/ime/component_extension_ime_manager.cc |
+++ b/chromeos/ime/component_extension_ime_manager.cc |
@@ -4,8 +4,10 @@ |
#include "chromeos/ime/component_extension_ime_manager.h" |
+#include "base/command_line.h" |
#include "base/logging.h" |
#include "base/strings/string_util.h" |
+#include "chromeos/chromeos_switches.h" |
#include "chromeos/ime/extension_ime_util.h" |
namespace chromeos { |
@@ -141,6 +143,8 @@ bool ComponentExtensionIMEManager::IsWhitelistedExtension( |
input_method::InputMethodDescriptors |
ComponentExtensionIMEManager::GetAllIMEAsInputMethodDescriptor() { |
+ bool enable_new_korean_ime = CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableNewKoreanIme); |
input_method::InputMethodDescriptors result; |
for (std::map<std::string, ComponentExtensionIME>::const_iterator it = |
component_extension_imes_.begin(); |
@@ -148,6 +152,9 @@ input_method::InputMethodDescriptors |
const ComponentExtensionIME& ext = it->second; |
for (size_t j = 0; j < ext.engines.size(); ++j) { |
const ComponentExtensionEngine& ime = ext.engines[j]; |
+ // Filter out new Korean IME if the experimental flag is OFF. |
+ if (!enable_new_korean_ime && ime.engine_id == "ko-t-i0-und") |
+ continue; |
const std::string input_method_id = |
extension_ime_util::GetComponentInputMethodID( |
ext.id, ime.engine_id); |