Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/api/commands/command_service.h" | 7 #include "chrome/browser/extensions/api/commands/command_service.h" |
| 8 #include "chrome/browser/extensions/extension_keybinding_registry.h" | 8 #include "chrome/browser/extensions/extension_keybinding_registry.h" |
| 9 #include "chrome/browser/extensions/extension_service.h" | |
| 10 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
| 10 #include "chrome/browser/ui/extensions/accelerator_priority.h" | |
| 11 #include "extensions/common/extension.h" | 11 #include "extensions/common/extension.h" |
| 12 #include "ui/views/focus/focus_manager.h" | 12 #include "ui/views/focus/focus_manager.h" |
| 13 | 13 |
| 14 // static | 14 // static |
| 15 void extensions::ExtensionKeybindingRegistry::SetShortcutHandlingSuspended( | 15 void extensions::ExtensionKeybindingRegistry::SetShortcutHandlingSuspended( |
| 16 bool suspended) { | 16 bool suspended) { |
| 17 views::FocusManager::set_shortcut_handling_suspended(suspended); | 17 views::FocusManager::set_shortcut_handling_suspended(suspended); |
| 18 } | 18 } |
| 19 | 19 |
| 20 ExtensionKeybindingRegistryViews::ExtensionKeybindingRegistryViews( | 20 ExtensionKeybindingRegistryViews::ExtensionKeybindingRegistryViews( |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 47 if (!command_service->GetNamedCommands( | 47 if (!command_service->GetNamedCommands( |
| 48 extension->id(), | 48 extension->id(), |
| 49 extensions::CommandService::ACTIVE_ONLY, | 49 extensions::CommandService::ACTIVE_ONLY, |
| 50 extensions::CommandService::REGULAR, | 50 extensions::CommandService::REGULAR, |
| 51 &commands)) | 51 &commands)) |
| 52 return; | 52 return; |
| 53 extensions::CommandMap::const_iterator iter = commands.begin(); | 53 extensions::CommandMap::const_iterator iter = commands.begin(); |
| 54 for (; iter != commands.end(); ++iter) { | 54 for (; iter != commands.end(); ++iter) { |
| 55 if (!command_name.empty() && (iter->second.command_name() != command_name)) | 55 if (!command_name.empty() && (iter->second.command_name() != command_name)) |
| 56 continue; | 56 continue; |
| 57 if (!IsAcceleratorRegistered(iter->second.accelerator())) { | 57 if (!IsAcceleratorRegistered(iter->second.accelerator())) { |
|
Peter Kasting
2014/07/07 23:47:10
Nit: Shorter:
const ui::Accelerator& accelera
Mike Wittman
2014/07/08 19:29:01
Done.
| |
| 58 focus_manager_->RegisterAccelerator(iter->second.accelerator(), | 58 focus_manager_->RegisterAccelerator(iter->second.accelerator(), |
| 59 ui::AcceleratorManager::kHighPriority, | 59 GetAcceleratorPriority( |
| 60 iter->second.accelerator(), | |
| 61 extension), | |
| 60 this); | 62 this); |
| 61 } | 63 } |
| 62 | 64 |
| 63 AddEventTarget(iter->second.accelerator(), | 65 AddEventTarget(iter->second.accelerator(), |
| 64 extension->id(), | 66 extension->id(), |
| 65 iter->second.command_name()); | 67 iter->second.command_name()); |
| 66 } | 68 } |
| 67 } | 69 } |
| 68 | 70 |
| 69 void ExtensionKeybindingRegistryViews::RemoveExtensionKeybindingImpl( | 71 void ExtensionKeybindingRegistryViews::RemoveExtensionKeybindingImpl( |
| 70 const ui::Accelerator& accelerator, | 72 const ui::Accelerator& accelerator, |
| 71 const std::string& command_name) { | 73 const std::string& command_name) { |
| 72 focus_manager_->UnregisterAccelerator(accelerator, this); | 74 focus_manager_->UnregisterAccelerator(accelerator, this); |
| 73 } | 75 } |
| 74 | 76 |
| 75 bool ExtensionKeybindingRegistryViews::AcceleratorPressed( | 77 bool ExtensionKeybindingRegistryViews::AcceleratorPressed( |
| 76 const ui::Accelerator& accelerator) { | 78 const ui::Accelerator& accelerator) { |
| 79 std::string extension_id, command_name; | |
| 80 GetFirstTarget(accelerator, &extension_id, &command_name); | |
| 81 // Normal priority shortcuts must be handled via the standard browser command | |
| 82 // processing to be effective. | |
|
Peter Kasting
2014/07/07 23:47:10
Nit: What does "to be effective" mean here? This
Mike Wittman
2014/07/08 19:29:01
Done.
| |
| 83 if (GetAcceleratorPriorityById(accelerator, | |
|
Peter Kasting
2014/07/07 23:47:10
Nit: Shorter:
const ui::AcceleratorManager::Han
Mike Wittman
2014/07/08 19:29:01
Done.
| |
| 84 extension_id, | |
| 85 browser_context()) == | |
| 86 ui::AcceleratorManager::kNormalPriority) | |
| 87 return false; | |
| 88 | |
| 77 return ExtensionKeybindingRegistry::NotifyEventTargets(accelerator); | 89 return ExtensionKeybindingRegistry::NotifyEventTargets(accelerator); |
| 78 } | 90 } |
| 79 | 91 |
| 80 bool ExtensionKeybindingRegistryViews::CanHandleAccelerators() const { | 92 bool ExtensionKeybindingRegistryViews::CanHandleAccelerators() const { |
| 81 return true; | 93 return true; |
| 82 } | 94 } |
| OLD | NEW |