Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index 2c393065aba614f7c7caa01fa365b5f490a2a9c8..c8b327979249e3eaabbad01a31fc24a65b6edf96 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -889,6 +889,13 @@ |
// The order in which event filters are added is significant. |
+#if defined(OS_CHROMEOS) |
+ // The StickyKeysController also rewrites events and must be added |
+ // before observers, but after the EventRewriterEventFilter. |
+ sticky_keys_controller_.reset(new StickyKeysController); |
+ AddPreTargetHandler(sticky_keys_controller_.get()); |
+#endif |
+ |
// wm::UserActivityDetector passes events to observers, so let them get |
// rewritten first. |
user_activity_detector_.reset(new ::wm::UserActivityDetector); |
@@ -921,10 +928,6 @@ |
// created. |
#if defined(OS_CHROMEOS) |
keyboard::InitializeKeyboard(); |
-#endif |
- |
-#if defined(OS_CHROMEOS) |
- sticky_keys_controller_.reset(new StickyKeysController); |
#endif |
lock_state_controller_.reset(new LockStateController); |