Infobar material design refresh: layout
[chromium-blink-merge.git] / chrome / browser / ui / views / accelerator_table.h
blobf67a8043b362487d13a2d99fe615be8aa7ac7164
1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_
6 #define CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_
8 #include <vector>
10 #include "chrome/browser/ui/host_desktop.h"
11 #include "chrome/browser/ui/views/chrome_views_export.h"
12 #include "ui/events/keycodes/keyboard_codes.h"
14 namespace ui {
15 class Accelerator;
18 // This contains the list of accelerators for the Aura implementation.
19 namespace chrome {
21 struct AcceleratorMapping {
22 ui::KeyboardCode keycode;
23 int modifiers;
24 int command_id;
27 // Returns a list of accelerator mapping information for accelerators
28 // handled by Chrome but excluding accelerators handled by Ash.
29 CHROME_VIEWS_EXPORT std::vector<AcceleratorMapping> GetAcceleratorList();
31 // Returns true if the desktop host type indicates Ash and if the
32 // command id has an associated accelerator which is handled by
33 // Ash. If the return is true the accelerator is returned via the
34 // second argument.
35 CHROME_VIEWS_EXPORT bool GetAshAcceleratorForCommandId(
36 int command_id,
37 HostDesktopType host_desktop_type,
38 ui::Accelerator* accelerator);
40 // Returns true if the command id has an associated standard
41 // accelerator like cut, copy and paste. If the return is true the
42 // accelerator is returned via the second argument.
43 CHROME_VIEWS_EXPORT bool GetStandardAcceleratorForCommandId(
44 int command_id,
45 ui::Accelerator* accelerator);
47 } // namespace chrome
49 #endif // CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_