Commit 471e08dd authored by yusukes's avatar yusukes Committed by Commit Bot

Add a new constant to ui/base/ime/chromeos/ for Android IMEs

Android IMEs installed to Chrome OS will be associated with a
special Chrome OS language name. This CL adds the fake language.

BUG=b:74499980
TEST=ui_base_unittests

Change-Id: If5f78cc22c8371ef6199b67563792bc008aaeab2
Reviewed-on: https://chromium-review.googlesource.com/1113205Reviewed-by: default avatarYuichiro Hanada <yhanada@chromium.org>
Commit-Queue: Yusuke Sato <yusukes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569989}
parent 93ca9118
......@@ -31,6 +31,8 @@ const char kBrailleImeExtensionPath[] = "chromeos/braille_ime";
const char kBrailleImeEngineId[] =
"_comp_ime_jddehjeebkoimngcbdkaahpobgicbffpbraille";
const char kArcImeLanguage[] = "_arc_ime_language_";
std::string GetInputMethodID(const std::string& extension_id,
const std::string& engine_id) {
DCHECK(!extension_id.empty());
......@@ -150,6 +152,10 @@ bool IsKeyboardLayoutExtension(const std::string& input_method_id) {
return false;
}
bool IsLanguageForArcIME(const std::string& language) {
return language == kArcImeLanguage;
}
std::string MaybeGetLegacyXkbId(const std::string& input_method_id) {
if (IsKeyboardLayoutExtension(input_method_id))
return GetComponentIDByInputMethodID(input_method_id);
......
......@@ -41,6 +41,9 @@ UI_BASE_IME_EXPORT extern const char kBrailleImeExtensionId[];
UI_BASE_IME_EXPORT extern const char kBrailleImeExtensionPath[];
UI_BASE_IME_EXPORT extern const char kBrailleImeEngineId[];
// The fake language name used for ARC IMEs.
UI_BASE_IME_EXPORT extern const char kArcImeLanguage[];
// Returns InputMethodID for |engine_id| in |extension_id| of extension IME.
// This function does not check |extension_id| is installed extension IME nor
// |engine_id| is really a member of |extension_id|.
......@@ -98,6 +101,9 @@ bool UI_BASE_IME_EXPORT IsMemberOfExtension(const std::string& input_method_id,
bool UI_BASE_IME_EXPORT
IsKeyboardLayoutExtension(const std::string& input_method_id);
// Returns true if |language| is the fake one for ARC IMEs.
bool UI_BASE_IME_EXPORT IsLanguageForArcIME(const std::string& language);
// Returns input method component id from the extension-based InputMethodID
// for component IME extensions. This function does not check that
// |input_method_id| is installed.
......
......@@ -109,4 +109,11 @@ TEST(ExtensionIMEUtilTest, IsMemberOfExtension) {
extention3));
}
TEST(ExtensionIMEUtilTest, IsLanguageForArcIMETest) {
EXPECT_TRUE(extension_ime_util::IsLanguageForArcIME(
extension_ime_util::kArcImeLanguage));
EXPECT_FALSE(extension_ime_util::IsLanguageForArcIME(
extension_ime_util::kArcImeLanguage + std::string(" ")));
}
} // namespace chromeos
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment