1// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_GTK_INFO_BUBBLE_ACCELERATORS_GTK_H_
6#define CHROME_BROWSER_UI_GTK_INFO_BUBBLE_ACCELERATORS_GTK_H_
7#pragma once
8
9#include <gdk/gdktypes.h>
10#include <glib.h>
11#include <vector>
12
13#include "base/basictypes.h"
14
15struct InfoBubbleAcceleratorGtk {
16  guint keyval;
17  GdkModifierType modifier_type;
18};
19
20typedef std::vector<struct InfoBubbleAcceleratorGtk>
21    InfoBubbleAcceleratorGtkList;
22
23// This class contains a list of accelerators that an InfoBubbleGtk
24// is expected to either catch and respond to or catch and forward to the
25// root browser window. This list is expected to be a subset of the
26// accelerators that are handled by the root browser window, but the
27// specific accelerators to be handled has not yet been fully specified. The
28// common use case for this class has code that uses it needing the entire
29// list and not needing extra processing, so the only get method gives you the
30// entire list.
31class InfoBubbleAcceleratorsGtk {
32 public:
33  static InfoBubbleAcceleratorGtkList GetList();
34
35 private:
36  DISALLOW_IMPLICIT_CONSTRUCTORS(InfoBubbleAcceleratorsGtk);
37};
38
39#endif  // CHROME_BROWSER_UI_GTK_INFO_BUBBLE_ACCELERATORS_GTK_H_
40