Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1335)

Unified Diff: chrome/browser/chromeos/system_key_event_listener.cc

Issue 7294024: Sound volume and bightness bubbles doesn't grab focus anymore. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge branch 'trunk' of http://git.chromium.org/git/chromium into 16867 Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/system_key_event_listener.cc
diff --git a/chrome/browser/chromeos/system_key_event_listener.cc b/chrome/browser/chromeos/system_key_event_listener.cc
index f20f5dc7dbe87257a94e071a39577cf0df9187cd..6f356631c79a8cdc5e0cf720aba25aaee5752fd1 100644
--- a/chrome/browser/chromeos/system_key_event_listener.cc
+++ b/chrome/browser/chromeos/system_key_event_listener.cc
@@ -42,6 +42,7 @@ SystemKeyEventListener::SystemKeyEventListener()
key_f8_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F8);
key_f9_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F9);
key_f10_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F10);
+ key_esc_ = XKeysymToKeycode(GDK_DISPLAY(), XK_Escape);
if (key_volume_mute_)
GrabKey(key_volume_mute_, 0);
@@ -52,6 +53,7 @@ SystemKeyEventListener::SystemKeyEventListener()
GrabKey(key_f8_, 0);
GrabKey(key_f9_, 0);
GrabKey(key_f10_, 0);
+ GrabKey(key_esc_, 0);
if (!XkbSelectEvents(GDK_DISPLAY(), XkbUseCoreKbd,
XkbIndicatorStateNotifyMask,
@@ -216,6 +218,9 @@ bool SystemKeyEventListener::ProcessedXEvent(XEvent* xevent) {
UserMetrics::RecordAction(UserMetricsAction("Accel_VolumeUp_F10"));
OnVolumeUp();
return true;
+ } else if (keycode == key_esc_ && IsBubbleShown()) {
+ HideBubble();
+ return true;
}
}
}
@@ -223,4 +228,16 @@ bool SystemKeyEventListener::ProcessedXEvent(XEvent* xevent) {
return false;
}
+// static
+bool SystemKeyEventListener::IsBubbleShown() {
+ return BrightnessBubble::GetInstance()->IsShown() ||
+ VolumeBubble::GetInstance()->IsShown();
+}
+
+// static
+void SystemKeyEventListener::HideBubble() {
+ BrightnessBubble::GetInstance()->HideBubble();
+ VolumeBubble::GetInstance()->HideBubble();
+}
+
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698