172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Use of this source code is governed by a BSD-style license that can be
3731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// found in the LICENSE file.
4731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/gtk/info_bubble_accelerators_gtk.h"
6731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
7731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include <gdk/gdkkeysyms.h>
8731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include <glib.h>
9731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
10731df977c0511bca2206b5f333555b1205ff1f43Iain Merricknamespace {
11731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Listing of the accelerators that are either handled or forwarded by
12731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// info bubbles. Any accelerators that are not explicitly listed here
13731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// are ignored and silently dropped. This table is expected to change
14731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// after discussion over which accelerators should be addressed in
15731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// info bubbles. For a complete listing of accelerators that are used
16731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// in chrome consult accelerators_gtk.cc
17731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickstruct InfoBubbleAcceleratorGtk InfoBubbleAcceleratorGtkTable[] = {
18731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  // Tab/window controls.
19731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  { GDK_w, GDK_CONTROL_MASK},
20731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
21731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  // Navigation / toolbar buttons.
22731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  { GDK_Escape, GdkModifierType(0)}
23731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick};
24731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
25731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}  // namespace
26731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
27731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickInfoBubbleAcceleratorGtkList InfoBubbleAcceleratorsGtk::GetList() {
28731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  InfoBubbleAcceleratorGtkList accelerators;
29731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  for (size_t i = 0; i < arraysize(InfoBubbleAcceleratorGtkTable); ++i) {
30731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick    accelerators.push_back(InfoBubbleAcceleratorGtkTable[i]);
31731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  }
32731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
33731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  return accelerators;
34731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}
35