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 50092b456a93b389ca348095a887ea885ef3cbd0..d61babded181d76672d5d4c2f3fe039e7cf11363 100644 |
--- a/chrome/browser/chromeos/input_method/input_method_util.h |
+++ b/chrome/browser/chromeos/input_method/input_method_util.h |
@@ -13,6 +13,7 @@ |
#include "base/containers/hash_tables.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/strings/string16.h" |
+#include "base/threading/thread_checker.h" |
#include "chromeos/ime/input_method_descriptor.h" |
namespace chromeos { |
@@ -97,12 +98,15 @@ class InputMethodUtil { |
// Returns empty string on error. |
std::string GetLanguageDefaultInputMethodId(const std::string& language_code); |
- // Returns the input method ID of the hardware keyboard. e.g. "xkb:us::eng" |
- // for the US Qwerty keyboard. |
- std::string GetHardwareInputMethodId() const; |
+ // Updates the internal cache of hardware layouts. |
+ void UpdateHardwareLayoutCache(); |
+ |
+ // Fills the input method IDs of the hardware keyboard. e.g. "xkb:us::eng" |
+ // for the US Qwerty keyboard. |out| must not be NULL. |
+ const std::vector<std::string>& GetHardwareInputMethodIds(); |
// Returns the login-allowed input method ID of the hardware keyboard. |
- std::string GetHardwareLoginInputMethodId() const; |
+ const std::vector<std::string>& GetHardwareLoginInputMethodIds(); |
// Returns true if given input method can be used to input login data. |
bool IsLoginKeyboard(const std::string& input_method_id) const; |
@@ -173,6 +177,10 @@ class InputMethodUtil { |
InputMethodDelegate* delegate_; |
+ base::ThreadChecker thread_checker_; |
+ std::vector<std::string> hardware_layouts_; |
+ std::vector<std::string> hardware_login_layouts_; |
+ |
DISALLOW_COPY_AND_ASSIGN(InputMethodUtil); |
}; |