Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Unified Diff: chromeos/ime/extension_ime_util.h

Issue 178343005: [IME] migrate the xkb ID to extension based xkb ID. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/ime/component_extension_ime_manager.cc ('k') | chromeos/ime/extension_ime_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/ime/extension_ime_util.h
diff --git a/chromeos/ime/extension_ime_util.h b/chromeos/ime/extension_ime_util.h
index bdcc896c631f321bd0bc72a315d2183e04c39c2d..e663229a22043ecfdd35bd3827f2ac35df480b20 100644
--- a/chromeos/ime/extension_ime_util.h
+++ b/chromeos/ime/extension_ime_util.h
@@ -7,6 +7,7 @@
#include <string>
+#include "base/auto_reset.h"
#include "chromeos/chromeos_export.h"
namespace chromeos {
@@ -32,6 +33,10 @@ std::string CHROMEOS_EXPORT GetComponentInputMethodID(
std::string CHROMEOS_EXPORT GetExtensionIDFromInputMethodID(
const std::string& input_method_id);
+// Returns InputMethodID from keyboard layout (xkb) id (e.g. xkb:fr:fra).
+std::string CHROMEOS_EXPORT GetInputMethodIDByKeyboardLayout(
+ const std::string& keyboard_layout_id);
+
// Returns true if |input_method_id| is extension IME ID. This function does not
// check |input_method_id| is installed extension IME.
bool CHROMEOS_EXPORT IsExtensionIME(const std::string& input_method_id);
@@ -53,6 +58,27 @@ bool CHROMEOS_EXPORT IsMemberOfExtension(const std::string& input_method_id,
bool CHROMEOS_EXPORT IsKeyboardLayoutExtension(
const std::string& input_method_id);
+// Returns true to use the wrapped extension keyboards instead of the legacy
+// xkb keyboards, returns false otherwise.
+bool CHROMEOS_EXPORT UseWrappedExtensionKeyboardLayouts();
+
+// Gets legacy xkb id (e.g. xkb:us::eng) from the new extension based xkb id
+// (e.g. _comp_ime_...xkb:us::eng). If the given id is not prefixed with
+// 'xkb:', just return the same as the given id.
+std::string CHROMEOS_EXPORT MaybeGetLegacyXkbId(
+ const std::string& input_method_id);
+
+// The scoped class to temporarily set the flag to use extension based xkb
+// keyboards for testing.
+class CHROMEOS_EXPORT ScopedUseExtensionKeyboardFlagForTesting {
+ public:
+ explicit ScopedUseExtensionKeyboardFlagForTesting(bool new_flag);
+ ~ScopedUseExtensionKeyboardFlagForTesting();
+
+ private:
+ base::AutoReset<bool> auto_reset_;
+};
+
} // namespace extension_ime_util
} // namespace chromeos
« no previous file with comments | « chromeos/ime/component_extension_ime_manager.cc ('k') | chromeos/ime/extension_ime_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698