summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/input_method/input_method_util.cc29
-rw-r--r--chromeos/ime/extension_ime_util.h2
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";