Index: chrome/browser/extensions/extension_keybinding_registry.h |
diff --git a/chrome/browser/extensions/extension_keybinding_registry.h b/chrome/browser/extensions/extension_keybinding_registry.h |
index 723a6bbbc712eaade3479a492d68cd6e37db006a..8299a4496ebd89ba626ebd1349254302af74ceb6 100644 |
--- a/chrome/browser/extensions/extension_keybinding_registry.h |
+++ b/chrome/browser/extensions/extension_keybinding_registry.h |
@@ -5,6 +5,7 @@ |
#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_KEYBINDING_REGISTRY_H_ |
#define CHROME_BROWSER_EXTENSIONS_EXTENSION_KEYBINDING_REGISTRY_H_ |
+#include <list> |
#include <map> |
#include <string> |
@@ -84,17 +85,23 @@ class ExtensionKeybindingRegistry : public content::NotificationObserver { |
// commands are currently ignored, since they are handled elsewhere. |
bool ShouldIgnoreCommand(const std::string& command) const; |
+ // Fire event targets which the specified accelerator is binding with. Returns |
+ // true if we can find the appropriate event targets. |
+ bool NotifyEventTargetsByAccelerator(const ui::Accelerator& accelerator); |
Finnur
2013/11/18 11:16:14
You can probably skip the 'ByAccelerator' from the
zhchbin
2013/11/18 13:10:13
Done.
|
+ |
// Notifies appropriate parties that a command has been executed. |
void CommandExecuted(const std::string& extension_id, |
const std::string& command); |
- // Maps an accelerator to a string pair (extension id, command name) for |
- // commands that have been registered. This keeps track of the targets for the |
- // keybinding event (which named command to call in which extension). On GTK, |
- // this map contains registration for pageAction and browserAction commands, |
- // whereas on other platforms it does not. |
- typedef std::map< ui::Accelerator, |
- std::pair<std::string, std::string> > EventTargets; |
+ // Maps an accelerator to a list of string pairs (extension id, command name) |
+ // for commands that have been registered. This keeps track of the targets for |
+ // the keybinding event (which named command to call in which extension). On |
+ // GTK this map contains registration for pageAction and browserAction |
+ // commands, whereas on other platforms it does not. Note that normal |
+ // accelerator (which isn't media keys) has only one target, while the media |
+ // keys can have more than one. |
+ typedef std::list<std::pair<std::string, std::string> > TargetList; |
+ typedef std::map<ui::Accelerator, TargetList> EventTargets; |
EventTargets event_targets_; |
private: |