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

Side by Side Diff: chrome/browser/ui/views/extensions/extension_keybinding_registry_views.cc

Issue 9812008: Polish the keybinding implementation a bit. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/extensions/extension_keybinding_registry_views .h" 5 #include "chrome/browser/ui/views/extensions/extension_keybinding_registry_views .h"
6 6
7 #include "chrome/browser/extensions/extension_browser_event_router.h" 7 #include "chrome/browser/extensions/extension_browser_event_router.h"
8 #include "chrome/browser/extensions/extension_service.h" 8 #include "chrome/browser/extensions/extension_service.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/common/extensions/extension.h" 10 #include "chrome/common/extensions/extension.h"
(...skipping 10 matching lines...) Expand all
21 ExtensionKeybindingRegistryViews::~ExtensionKeybindingRegistryViews() { 21 ExtensionKeybindingRegistryViews::~ExtensionKeybindingRegistryViews() {
22 EventTargets::const_iterator iter; 22 EventTargets::const_iterator iter;
23 for (iter = event_targets_.begin(); iter != event_targets_.end(); ++iter) 23 for (iter = event_targets_.begin(); iter != event_targets_.end(); ++iter)
24 focus_manager_->UnregisterAccelerator(iter->first, this); 24 focus_manager_->UnregisterAccelerator(iter->first, this);
25 } 25 }
26 26
27 void ExtensionKeybindingRegistryViews::AddExtensionKeybinding( 27 void ExtensionKeybindingRegistryViews::AddExtensionKeybinding(
28 const Extension* extension) { 28 const Extension* extension) {
29 // Add all the keybindings (except pageAction and browserAction, which are 29 // Add all the keybindings (except pageAction and browserAction, which are
30 // handled elsewhere). 30 // handled elsewhere).
31 const std::vector<Extension::ExtensionKeybinding> commands = 31 const Extension::CommandMap& commands = extension->named_commands();
32 extension->keybindings(); 32 Extension::CommandMap::const_iterator iter = commands.begin();
33 for (size_t i = 0; i < commands.size(); ++i) { 33 for (; iter != commands.end(); ++iter) {
34 if (ShouldIgnoreCommand(commands[i].command_name())) 34 event_targets_[iter->second.accelerator()] =
35 continue; 35 std::make_pair(extension->id(), iter->second.command_name());
36
37 event_targets_[commands[i].accelerator()] =
38 std::make_pair(extension->id(), commands[i].command_name());
39 focus_manager_->RegisterAccelerator( 36 focus_manager_->RegisterAccelerator(
40 commands[i].accelerator(), ui::AcceleratorManager::kHighPriority, this); 37 iter->second.accelerator(),
38 ui::AcceleratorManager::kHighPriority, this);
41 } 39 }
42 } 40 }
43 41
44 void ExtensionKeybindingRegistryViews::RemoveExtensionKeybinding( 42 void ExtensionKeybindingRegistryViews::RemoveExtensionKeybinding(
45 const Extension* extension) { 43 const Extension* extension) {
46 EventTargets::const_iterator iter; 44 EventTargets::const_iterator iter;
47 for (iter = event_targets_.begin(); iter != event_targets_.end(); ++iter) { 45 for (iter = event_targets_.begin(); iter != event_targets_.end(); ++iter) {
48 if (iter->second.first != extension->id()) 46 if (iter->second.first != extension->id())
49 continue; // Not the extension we asked for. 47 continue; // Not the extension we asked for.
50 48
(...skipping 13 matching lines...) Expand all
64 62
65 service->browser_event_router()->CommandExecuted( 63 service->browser_event_router()->CommandExecuted(
66 profile_, it->second.first, it->second.second); 64 profile_, it->second.first, it->second.second);
67 65
68 return true; 66 return true;
69 } 67 }
70 68
71 bool ExtensionKeybindingRegistryViews::CanHandleAccelerators() const { 69 bool ExtensionKeybindingRegistryViews::CanHandleAccelerators() const {
72 return true; 70 return true;
73 } 71 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/browser_actions_container.cc ('k') | chrome/browser/ui/views/location_bar/page_action_image_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698