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#ifndef CHROME_BROWSER_UI_GTK_INFO_BUBBLE_ACCELERATORS_GTK_H_
672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#define CHROME_BROWSER_UI_GTK_INFO_BUBBLE_ACCELERATORS_GTK_H_
7731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#pragma once
8731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
9731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include <gdk/gdktypes.h>
10731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include <glib.h>
11731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include <vector>
12731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
13731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "base/basictypes.h"
14731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
15731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickstruct InfoBubbleAcceleratorGtk {
16731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  guint keyval;
17731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  GdkModifierType modifier_type;
18731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick};
19731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
20731df977c0511bca2206b5f333555b1205ff1f43Iain Merricktypedef std::vector<struct InfoBubbleAcceleratorGtk>
21731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick    InfoBubbleAcceleratorGtkList;
22731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
23731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// This class contains a list of accelerators that an InfoBubbleGtk
24731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// is expected to either catch and respond to or catch and forward to the
25731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// root browser window. This list is expected to be a subset of the
26731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// accelerators that are handled by the root browser window, but the
27731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// specific accelerators to be handled has not yet been fully specified. The
28731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// common use case for this class has code that uses it needing the entire
29731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// list and not needing extra processing, so the only get method gives you the
30731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// entire list.
31731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickclass InfoBubbleAcceleratorsGtk {
32731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick public:
33731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  static InfoBubbleAcceleratorGtkList GetList();
34731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
35731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick private:
36731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick  DISALLOW_IMPLICIT_CONSTRUCTORS(InfoBubbleAcceleratorsGtk);
37731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick};
38731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
3972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif  // CHROME_BROWSER_UI_GTK_INFO_BUBBLE_ACCELERATORS_GTK_H_
40