Index: chrome/browser/ui/views/toolbar/browser_action_view.cc |
diff --git a/chrome/browser/ui/views/toolbar/browser_action_view.cc b/chrome/browser/ui/views/toolbar/browser_action_view.cc |
index 02bbbd62458ca7b80c0cc5a9fe1ebdaf06693b9a..ebd589369103cebd0b0358d13e2c056c3775df9b 100644 |
--- a/chrome/browser/ui/views/toolbar/browser_action_view.cc |
+++ b/chrome/browser/ui/views/toolbar/browser_action_view.cc |
@@ -15,6 +15,7 @@ |
#include "chrome/browser/themes/theme_service.h" |
#include "chrome/browser/themes/theme_service_factory.h" |
#include "chrome/browser/ui/browser.h" |
+#include "chrome/browser/ui/extensions/accelerator_priority.h" |
#include "chrome/browser/ui/view_ids.h" |
#include "chrome/browser/ui/views/toolbar/browser_actions_container.h" |
#include "chrome/browser/ui/views/toolbar/toolbar_view.h" |
@@ -346,6 +347,12 @@ void BrowserActionButton::OnGestureEvent(ui::GestureEvent* event) { |
bool BrowserActionButton::AcceleratorPressed( |
const ui::Accelerator& accelerator) { |
+ // Normal priority shortcuts must be handled via the standard browser command |
+ // processing to be effective. |
+ if (GetAcceleratorPriority(accelerator, extension_) == |
+ ui::AcceleratorManager::kNormalPriority) |
+ return false; |
+ |
delegate_->OnBrowserActionExecuted(this); |
return true; |
} |
@@ -392,7 +399,10 @@ void BrowserActionButton::MaybeRegisterExtensionCommand() { |
keybinding_.reset(new ui::Accelerator( |
browser_action_command.accelerator())); |
GetFocusManager()->RegisterAccelerator( |
- *keybinding_.get(), ui::AcceleratorManager::kHighPriority, this); |
+ *keybinding_.get(), |
+ GetAcceleratorPriority(browser_action_command.accelerator(), |
+ extension_), |
+ this); |
} |
} |