| 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
|
|
|