| 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
|
|
|