diff options
author | shuchen <shuchen@chromium.org> | 2014-10-07 22:42:45 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-08 05:43:06 +0000 |
commit | 2c418253d831c7af491b0a8c9eac1da4832ce687 (patch) | |
tree | 76b0ef780b6ade8c9c89adae477564acf6c26215 | |
parent | ed3923ed8e826b8e2f03036a203f7da799ec07bd (diff) | |
download | chromium_src-2c418253d831c7af491b0a8c9eac1da4832ce687.zip chromium_src-2c418253d831c7af491b0a8c9eac1da4832ce687.tar.gz chromium_src-2c418253d831c7af491b0a8c9eac1da4832ce687.tar.bz2 |
Make the extension IDs are migrated between ChromeOS and ChromiumOS.
BUG=421227
TEST=None
Review URL: https://codereview.chromium.org/641503002
Cr-Commit-Position: refs/heads/master@{#298659}
-rw-r--r-- | chrome/browser/chromeos/input_method/input_method_util.cc | 29 | ||||
-rw-r--r-- | chromeos/ime/extension_ime_util.h | 2 |
2 files changed, 11 insertions, 20 deletions
diff --git a/chrome/browser/chromeos/input_method/input_method_util.cc b/chrome/browser/chromeos/input_method/input_method_util.cc index 7dacea0..6e9c3a0 100644 --- a/chrome/browser/chromeos/input_method/input_method_util.cc +++ b/chrome/browser/chromeos/input_method/input_method_util.cc @@ -71,14 +71,6 @@ const struct { { "vi", "us", "vkd_vi_tcvn" }, }; -// The extension ID map for migration. -const char* const kExtensionIdMigrationMap[][2] = { - // Official Japanese IME extension ID. - {"fpfbhcjppmaeaijcidgiibchfbnhbelj", "gjaehgfemfahhmlgpdfknkhdnemmolop"}, - // Official M17n keyboard extension ID. - {"habcdindjejkmepknlhkkloncjcpcnbf", "gjaehgfemfahhmlgpdfknkhdnemmolop"}, -}; - // The engine ID map for migration. This migration is for input method IDs from // VPD so it's NOT a temporary migration. const char* const kEngineIdMigrationMap[][2] = { @@ -117,8 +109,6 @@ const char* const kEngineIdMigrationMap[][2] = { {"t13n:ur", "ur-t-i0-und"}, }; -const size_t kExtensionIdLen = 32; - const struct EnglishToResouceId { const char* english_string_from_ibus; int resource_id; @@ -494,17 +484,18 @@ bool InputMethodUtil::MigrateInputMethods( break; } } + // Migrates the extension IDs. std::string id = extension_ime_util::GetInputMethodIDByEngineID(engine_id); - // Migrates old ime id's to new ones. - for (size_t j = 0; j < arraysize(kExtensionIdMigrationMap); ++j) { - size_t pos = id.find(kExtensionIdMigrationMap[j][0]); - if (pos != std::string::npos) - id.replace(pos, kExtensionIdLen, kExtensionIdMigrationMap[j][1]); - if (id != ids[i]) { - ids[i] = id; - rewritten = true; - } + if (extension_ime_util::IsComponentExtensionIME(id)) { + std::string id_new = extension_ime_util::GetInputMethodIDByEngineID( + extension_ime_util::GetComponentIDByInputMethodID(id)); + if (extension_ime_util::IsComponentExtensionIME(id_new)) + id = id_new; + } + if (id != ids[i]) { + ids[i] = id; + rewritten = true; } } if (rewritten) { diff --git a/chromeos/ime/extension_ime_util.h b/chromeos/ime/extension_ime_util.h index c246044..0155d04 100644 --- a/chromeos/ime/extension_ime_util.h +++ b/chromeos/ime/extension_ime_util.h @@ -15,7 +15,7 @@ namespace chromeos { // Extension IME related utilities. namespace extension_ime_util { -#if defined(GOOGLE_CHROME_BUILD) || defined(USE_ATHENA) +#if defined(GOOGLE_CHROME_BUILD) const char kXkbExtensionId[] = "jkghodnilhceideoidjikpgommlajknk"; const char kM17nExtensionId[] = "gjaehgfemfahhmlgpdfknkhdnemmolop"; const char kHangulExtensionId[] = "bdgdidmhaijohebebipajioienkglgfo"; |