Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(353)

Unified Diff: chrome/browser/ui/cocoa/accelerators_cocoa.h

Issue 152643007: mac: Create a static mapping of accelerators in the main menu. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@acc_list
Patch Set: Indent error. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/accelerators_cocoa.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/cocoa/accelerators_cocoa.h
diff --git a/chrome/browser/ui/cocoa/accelerators_cocoa.h b/chrome/browser/ui/cocoa/accelerators_cocoa.h
index cc1840ca5fb18b093e1a96449e2f6ba08c703992..e29eefb9de9a6b6a72f2aeebca37f0872d5deabb 100644
--- a/chrome/browser/ui/cocoa/accelerators_cocoa.h
+++ b/chrome/browser/ui/cocoa/accelerators_cocoa.h
@@ -5,8 +5,12 @@
#ifndef CHROME_BROWSER_UI_COCOA_ACCELERATORS_COCOA_H_
#define CHROME_BROWSER_UI_COCOA_ACCELERATORS_COCOA_H_
+#import <Cocoa/Cocoa.h>
+
#include <map>
+#include <vector>
+#include "base/gtest_prod_util.h"
#include "ui/base/accelerators/accelerator.h"
template <typename T> struct DefaultSingletonTraits;
@@ -26,6 +30,7 @@ template <typename T> struct DefaultSingletonTraits;
class AcceleratorsCocoa {
public:
typedef std::map<int, ui::Accelerator> AcceleratorMap;
+ typedef std::vector<ui::Accelerator> AcceleratorVector;
typedef AcceleratorMap::const_iterator const_iterator;
const_iterator const begin() { return accelerators_.begin(); }
@@ -33,17 +38,30 @@ class AcceleratorsCocoa {
// Returns NULL if there is no accelerator for the command.
const ui::Accelerator* GetAcceleratorForCommand(int command_id);
+ // Searches the list of accelerators without a command_id for an accelerator
+ // that matches the given |key_equivalent| and |modifiers|.
+ const ui::Accelerator* GetAcceleratorForHotKey(NSString* key_equivalent,
+ NSUInteger modifiers) const;
// Returns the singleton instance.
static AcceleratorsCocoa* GetInstance();
private:
friend struct DefaultSingletonTraits<AcceleratorsCocoa>;
+ FRIEND_TEST_ALL_PREFIXES(AcceleratorsCocoaBrowserTest,
+ MappingAcceleratorsInMainMenu);
AcceleratorsCocoa();
~AcceleratorsCocoa();
+ // A map from command_id to Accelerator. The accelerator is fully filled out,
+ // and its platform_accelerator is also fully filled out.
+ // Contains accelerators from both the wrench menu and the main menu.
AcceleratorMap accelerators_;
+ // A list of accelerators used in the main menu that have no associated
+ // command_id. The accelerator is fully filled out, and its
+ // platform_accelerator is also fully filled out.
+ AcceleratorVector accelerator_vector_;
DISALLOW_COPY_AND_ASSIGN(AcceleratorsCocoa);
};
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/accelerators_cocoa.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698