summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_shutdown.cc
diff options
context:
space:
mode:
authoryusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-02 05:55:43 +0000
committeryusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-02 05:55:43 +0000
commit08fd60b008d62e3790d520b27ea1ab93a326cbc7 (patch)
tree2031b513e678b97dc5b3fc703061a181aacf61da /chrome/browser/browser_shutdown.cc
parenta6d066403c98062b15fa2195b5e927c7a95a8fc5 (diff)
downloadchromium_src-08fd60b008d62e3790d520b27ea1ab93a326cbc7.zip
chromium_src-08fd60b008d62e3790d520b27ea1ab93a326cbc7.tar.gz
chromium_src-08fd60b008d62e3790d520b27ea1ab93a326cbc7.tar.bz2
Listen to XI_HierarchyChanged events and call setxkbmap when needed.
BUG=chromium-os:15851 BUG=chromium-os:15516 TEST=manually done: Log in, change the layout from US Qwerty (US) to US Extended (EXTD), focus Omnibox, press AltGr+a, confirm á is shown, plug a USB keyboard, press AltGr+a, confirm the character again, press ctrl+alt+f2 to show VT2, press ctrl+alt+f1 to go back to X, press AltGr+a, confirm the char again, close lid, open lid, press AltGr+a, confirm the char again. TEST=On login screen, change the keyboard layout to EXTD, add "sleep 30" to /etc/init/udev-*.conf files, reboot, on login screen, wait for ~30 seconds, press AltGr+a, confirm á is shown. Review URL: http://codereview.chromium.org/6975057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87585 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_shutdown.cc')
-rw-r--r--chrome/browser/browser_shutdown.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/chrome/browser/browser_shutdown.cc b/chrome/browser/browser_shutdown.cc
index 0ab6675..3339a4c 100644
--- a/chrome/browser/browser_shutdown.cc
+++ b/chrome/browser/browser_shutdown.cc
@@ -54,6 +54,7 @@
#include "chrome/browser/chromeos/cros/cros_library.h"
#include "chrome/browser/chromeos/cros/login_library.h"
#include "chrome/browser/chromeos/system_key_event_listener.h"
+#include "chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.h"
#endif
using base::Time;
@@ -131,6 +132,10 @@ void Shutdown() {
// The system key event listener needs to be shut down earlier than when
// Singletons are finally destroyed in AtExitManager.
chromeos::SystemKeyEventListener::GetInstance()->Stop();
+
+ // The XInput2 event listener needs to be shut down earlier than when
+ // Singletons are finally destroyed in AtExitManager.
+ chromeos::XInputHierarchyChangedEventListener::GetInstance()->Stop();
#endif
// WARNING: During logoff/shutdown (WM_ENDSESSION) we may not have enough