| Index: chrome/browser/ui/views/extensions/extension_keybinding_registry_views.cc
|
| diff --git a/chrome/browser/ui/views/extensions/extension_keybinding_registry_views.cc b/chrome/browser/ui/views/extensions/extension_keybinding_registry_views.cc
|
| index 477a08eeb4064ccb8a8040dd4fa304900f409b36..96b89f9f4434e606121e05f1ed7362753f318c35 100644
|
| --- a/chrome/browser/ui/views/extensions/extension_keybinding_registry_views.cc
|
| +++ b/chrome/browser/ui/views/extensions/extension_keybinding_registry_views.cc
|
| @@ -6,8 +6,8 @@
|
|
|
| #include "chrome/browser/extensions/api/commands/command_service.h"
|
| #include "chrome/browser/extensions/extension_keybinding_registry.h"
|
| -#include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/ui/extensions/accelerator_priority.h"
|
| #include "extensions/common/extension.h"
|
| #include "ui/views/focus/focus_manager.h"
|
|
|
| @@ -56,7 +56,9 @@ void ExtensionKeybindingRegistryViews::AddExtensionKeybinding(
|
| continue;
|
| if (!IsAcceleratorRegistered(iter->second.accelerator())) {
|
| focus_manager_->RegisterAccelerator(iter->second.accelerator(),
|
| - ui::AcceleratorManager::kHighPriority,
|
| + GetAcceleratorPriority(
|
| + iter->second.accelerator(),
|
| + extension),
|
| this);
|
| }
|
|
|
| @@ -74,6 +76,14 @@ void ExtensionKeybindingRegistryViews::RemoveExtensionKeybindingImpl(
|
|
|
| bool ExtensionKeybindingRegistryViews::AcceleratorPressed(
|
| const ui::Accelerator& accelerator) {
|
| + std::string extension_id, command_name;
|
| + GetFirstTarget(accelerator, &extension_id, &command_name);
|
| + // Normal priority shortcuts must be handled via the standard browser command
|
| + // processing to be effective.
|
| + if (GetAcceleratorPriority(accelerator, extension_id, browser_context()) ==
|
| + ui::AcceleratorManager::kNormalPriority)
|
| + return false;
|
| +
|
| return ExtensionKeybindingRegistry::NotifyEventTargets(accelerator);
|
| }
|
|
|
|
|