| 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 a1bc2fff511d94ee739a900ad3e5a2d5d1cd4498..4f21a46c14982239141d146e9f52e3f3432b1dcf 100644
|
| --- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
|
| +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc
|
| @@ -97,6 +97,17 @@ const struct MigrationInputMethodList {
|
| "_comp_ime_ekbifjdfhkmdeeajnolmgdlmkllopefizh-hant-t-i0-und" },
|
| };
|
|
|
| +const struct MigrationHangulKeyboardToInputMethodID {
|
| + const char* keyboard_id;
|
| + const char* ime_id;
|
| +} kMigrationHangulKeyboardToInputMethodID[] = {
|
| + { "2", "_comp_ime_bdgdidmhaijohebebipajioienkglgfohangul_2set" },
|
| + { "3f", "_comp_ime_bdgdidmhaijohebebipajioienkglgfohangul_3setfinal" },
|
| + { "39", "_comp_ime_bdgdidmhaijohebebipajioienkglgfohangul_3set390" },
|
| + { "3s", "_comp_ime_bdgdidmhaijohebebipajioienkglgfohangul_3setnoshift" },
|
| + { "ro", "_comp_ime_bdgdidmhaijohebebipajioienkglgfohangul_romaja" },
|
| +};
|
| +
|
| } // namespace
|
|
|
| InputMethodManagerImpl::InputMethodManagerImpl(
|
| @@ -307,6 +318,28 @@ bool InputMethodManagerImpl::MigrateOldInputMethods(
|
| return rewritten;
|
| }
|
|
|
| +bool InputMethodManagerImpl::MigrateKoreanKeyboard(
|
| + const std::string& keyboard_id,
|
| + std::vector<std::string>* input_method_ids) {
|
| + std::vector<std::string>::iterator it =
|
| + std::find(active_input_method_ids_.begin(),
|
| + active_input_method_ids_.end(),
|
| + "mozc-hangul");
|
| + if (it == active_input_method_ids_.end())
|
| + return false;
|
| +
|
| + for (size_t i = 0;
|
| + i < ARRAYSIZE_UNSAFE(kMigrationHangulKeyboardToInputMethodID); ++i) {
|
| + if (kMigrationHangulKeyboardToInputMethodID[i].keyboard_id == keyboard_id) {
|
| + *it = kMigrationHangulKeyboardToInputMethodID[i].ime_id;
|
| + input_method_ids->assign(active_input_method_ids_.begin(),
|
| + active_input_method_ids_.end());
|
| + return true;
|
| + }
|
| + }
|
| + return false;
|
| +}
|
| +
|
| bool InputMethodManagerImpl::SetInputMethodConfig(
|
| const std::string& section,
|
| const std::string& config_name,
|
| @@ -316,6 +349,7 @@ bool InputMethodManagerImpl::SetInputMethodConfig(
|
|
|
| if (state_ == STATE_TERMINATING)
|
| return false;
|
| +
|
| return ibus_controller_->SetInputMethodConfig(section, config_name, value);
|
| }
|
|
|
| @@ -680,10 +714,6 @@ bool InputMethodManagerImpl::SwitchInputMethod(
|
| input_method_ids_to_switch.push_back(nacl_mozc_jp_id);
|
| input_method_ids_to_switch.push_back("xkb:jp::jpn");
|
| break;
|
| - case ui::VKEY_HANGUL: // Hangul (or right Alt) key on Korean keyboard
|
| - input_method_ids_to_switch.push_back("mozc-hangul");
|
| - input_method_ids_to_switch.push_back("xkb:kr:kr104:kor");
|
| - break;
|
| default:
|
| NOTREACHED();
|
| break;
|
|
|