| Index: chrome/browser/chromeos/input_method/input_method_util.h
|
| diff --git a/chrome/browser/chromeos/input_method/input_method_util.h b/chrome/browser/chromeos/input_method/input_method_util.h
|
| index 9958a9cc041139ecac046938c6eb2e5e43c440bc..72d86eadd4d9c7e01b6ddf698e9a738fa11beeb9 100644
|
| --- a/chrome/browser/chromeos/input_method/input_method_util.h
|
| +++ b/chrome/browser/chromeos/input_method/input_method_util.h
|
| @@ -107,11 +107,6 @@ void SortLanguageCodesByNames(std::vector<std::string>* language_codes);
|
| // using the unicode string comparator. Uses stable sorting.
|
| void SortInputMethodIdsByNames(std::vector<std::string>* input_method_ids);
|
|
|
| -// This function is only for unit tests. Do not use this.
|
| -void SortInputMethodIdsByNamesInternal(
|
| - const std::map<std::string, std::string>& id_to_language_code_map,
|
| - std::vector<std::string>* input_method_ids);
|
| -
|
| // Reorders the given input method ids for the language code. For
|
| // example, if |language_codes| is "fr" and |input_method_ids| contains
|
| // ["xkb:be::fra", and "xkb:fr::fra"], the list is reordered to
|
| @@ -121,14 +116,44 @@ void ReorderInputMethodIdsForLanguageCode(
|
| const std::string& language_code,
|
| std::vector<std::string>* input_method_ids);
|
|
|
| +enum InputMethodType {
|
| + kKeyboardLayoutsOnly,
|
| + kAllInputMethods,
|
| +};
|
| +
|
| // Gets input method ids that belong to |language_code|.
|
| -// If |keyboard_layout_only| is true, the function does not return input methods
|
| -// that are not for keybord layout switching. Returns true on success. Note that
|
| -// the function might return false if ibus-daemon is not running, or
|
| +// If |type| is |kKeyboardLayoutsOnly|, the function does not return input
|
| +// methods that are not for keybord layout switching. Returns true on success.
|
| +// Note that the function might return false if ibus-daemon is not running, or
|
| // |language_code| is unknown.
|
| bool GetInputMethodIdsFromLanguageCode(
|
| const std::string& language_code,
|
| - bool keyboard_layout_only,
|
| + InputMethodType type,
|
| + std::vector<std::string>* out_input_method_ids);
|
| +
|
| +// Enables input methods (e.g. Chinese, Japanese) and keyboard layouts (e.g.
|
| +// US qwerty, US dvorak, French azerty) that are necessary for the language code
|
| +// and then switches to |initial_input_method_id| if the string is not empty.
|
| +// For example, if |language_code| is "en-US", US qwerty and US dvorak layouts
|
| +// would be enabled. Likewise, for Germany locale, US qwerty layout and several
|
| +// keyboard layouts for Germany would be enabled.
|
| +// If |type| is kAllInputMethods, all keyboard layouts and all input methods
|
| +// are enabled. If it's kKeyboardLayoutsOnly, only keyboard layouts are enabled.
|
| +// For example, for Japanese, xkb:jp::jpn is enabled when kKeyboardLayoutsOnly,
|
| +// and xkb:jp::jpn, mozc, mozc-jp, mozc-dv are enabled when kAllInputMethods.
|
| +void EnableInputMethods(const std::string& language_code, InputMethodType type,
|
| + const std::string& initial_input_method_id);
|
| +
|
| +
|
| +// DO NOT USE Functions below. These are only exported for unit tests.
|
| +void SortInputMethodIdsByNamesInternal(
|
| + const std::map<std::string, std::string>& id_to_language_code_map,
|
| + std::vector<std::string>* input_method_ids);
|
| +
|
| +bool GetInputMethodIdsFromLanguageCodeInternal(
|
| + const std::multimap<std::string, std::string>& language_code_to_ids,
|
| + const std::string& normalized_language_code,
|
| + InputMethodType type,
|
| std::vector<std::string>* out_input_method_ids);
|
|
|
| } // namespace input_method
|
|
|