Index: chrome/browser/ui/webui/options/chromeos/keyboard_handler.h |
diff --git a/chrome/browser/ui/webui/options/chromeos/keyboard_handler.h b/chrome/browser/ui/webui/options/chromeos/keyboard_handler.h |
index b30afb657a22574208953a2758e2203235a1ab8e..eeb2ffdb189c82158a906eebcc2f6111986b6f66 100644 |
--- a/chrome/browser/ui/webui/options/chromeos/keyboard_handler.h |
+++ b/chrome/browser/ui/webui/options/chromeos/keyboard_handler.h |
@@ -8,12 +8,15 @@ |
#include "base/compiler_specific.h" |
#include "base/prefs/pref_member.h" |
#include "chrome/browser/ui/webui/options/options_ui.h" |
+#include "ui/events/devices/input_device_event_observer.h" |
namespace chromeos { |
namespace options { |
// Customize modifier keys overlay page UI handler. |
-class KeyboardHandler : public ::options::OptionsPageUIHandler { |
+class KeyboardHandler |
+ : public ::options::OptionsPageUIHandler, |
+ public ui::InputDeviceEventObserver { |
public: |
KeyboardHandler(); |
~KeyboardHandler() override; |
@@ -23,10 +26,17 @@ class KeyboardHandler : public ::options::OptionsPageUIHandler { |
void InitializePage() override; |
void RegisterMessages() override; |
+ // ui::InputDeviceEventObserver: |
+ void OnKeyboardDeviceConfigurationChanged() override; |
+ |
private: |
// Show the keyboard shortcuts overlay from the options page. |
void HandleShowKeyboardShortcuts(const base::ListValue* args); |
+ // Shows or hides the CapsLock options based on whether or not there is an |
+ // external keyboard connected. |
+ void UpdateCapsLockOptions() const; |
+ |
DISALLOW_COPY_AND_ASSIGN(KeyboardHandler); |
}; |