| Index: chrome/browser/ui/views/toolbar/toolbar_view.cc
|
| diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc
|
| index 573795fccd7857eeda603eeecd07b73870235446..257d495b25d0a241fb799a62523887d79c237510 100644
|
| --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
|
| +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
|
| @@ -14,6 +14,7 @@
|
| #include "chrome/app/chrome_command_ids.h"
|
| #include "chrome/browser/chrome_notification_types.h"
|
| #include "chrome/browser/command_updater.h"
|
| +#include "chrome/browser/extensions/extension_commands_global_registry.h"
|
| #include "chrome/browser/extensions/extension_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/themes/theme_service.h"
|
| @@ -270,9 +271,25 @@ void ToolbarView::Init() {
|
|
|
| void ToolbarView::OnWidgetVisibilityChanged(views::Widget* widget,
|
| bool visible) {
|
| - // Safe to call multiple times; the bubble will only appear once.
|
| - if (visible)
|
| + if (visible) {
|
| + // Safe to call multiple times; the bubble will only appear once.
|
| extension_message_bubble_factory_->MaybeShow(app_menu_);
|
| + }
|
| +}
|
| +
|
| +void ToolbarView::OnWidgetActivationChanged(views::Widget* widget,
|
| + bool active) {
|
| + extensions::ExtensionCommandsGlobalRegistry* registry =
|
| + extensions::ExtensionCommandsGlobalRegistry::Get(browser_->profile());
|
| + if (registry) {
|
| + if (active) {
|
| + registry->set_registry_for_active_window(
|
| + browser_actions_->extension_keybinding_registry());
|
| + } else if (registry->registry_for_active_window() ==
|
| + browser_actions_->extension_keybinding_registry()) {
|
| + registry->set_registry_for_active_window(NULL);
|
| + }
|
| + }
|
| }
|
|
|
| void ToolbarView::Update(WebContents* tab) {
|
|
|