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

Side by Side Diff: chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm

Issue 1784533003: [Extensions UI Cocoa] Make disabled actions respond to the keyboard (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Linux compile fix Created 4 years, 9 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #import "chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_c ocoa.h" 5 #import "chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_c ocoa.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "chrome/browser/extensions/extension_action.h" 11 #include "chrome/browser/extensions/extension_action.h"
12 #include "chrome/browser/extensions/extension_view_host.h" 12 #include "chrome/browser/extensions/extension_view_host.h"
13 #include "chrome/browser/ui/browser.h" 13 #include "chrome/browser/ui/browser.h"
14 #include "chrome/browser/ui/browser_window.h" 14 #include "chrome/browser/ui/browser_window.h"
15 #import "chrome/browser/ui/cocoa/app_menu/app_menu_controller.h" 15 #import "chrome/browser/ui/cocoa/app_menu/app_menu_controller.h"
16 #import "chrome/browser/ui/cocoa/browser_window_controller.h" 16 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
17 #import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
17 #import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h" 18 #import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
18 #import "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h" 19 #import "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h"
19 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" 20 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
20 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" 21 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
21 #include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h" 22 #include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h"
22 #include "chrome/common/extensions/api/extension_action/action_info.h" 23 #include "chrome/common/extensions/api/extension_action/action_info.h"
23 #include "content/public/browser/notification_details.h" 24 #include "content/public/browser/notification_details.h"
24 #include "content/public/browser/notification_source.h" 25 #include "content/public/browser/notification_source.h"
25 #include "extensions/browser/notification_types.h" 26 #include "extensions/browser/notification_types.h"
26 #include "extensions/common/extension.h" 27 #include "extensions/common/extension.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 // menu will be open. Close it before opening the popup. 86 // menu will be open. Close it before opening the popup.
86 AppMenuController* appMenuController = 87 AppMenuController* appMenuController =
87 [[[BrowserWindowController 88 [[[BrowserWindowController
88 browserWindowControllerForWindow: 89 browserWindowControllerForWindow:
89 controller_->browser()->window()->GetNativeWindow()] 90 controller_->browser()->window()->GetNativeWindow()]
90 toolbarController] appMenuController]; 91 toolbarController] appMenuController];
91 if ([appMenuController isMenuOpen]) 92 if ([appMenuController isMenuOpen])
92 [appMenuController cancel]; 93 [appMenuController cancel];
93 } 94 }
94 95
96 void ExtensionActionPlatformDelegateCocoa::ShowContextMenu() {
97 // We should only use this code path for extensions shown in the toolbar.
98 DCHECK(controller_->extension_action()->action_type() ==
99 extensions::ActionInfo::TYPE_BROWSER ||
100 extensions::FeatureSwitch::extension_action_redesign()->IsEnabled());
101 BrowserWindowController* windowController = [BrowserWindowController
102 browserWindowControllerForWindow:controller_->browser()
103 ->window()
104 ->GetNativeWindow()];
105 BrowserActionsController* actionsController =
106 [[windowController toolbarController] browserActionsController];
107 [[actionsController mainButtonForId:controller_->GetId()] showContextMenu];
108 }
109
95 NSPoint ExtensionActionPlatformDelegateCocoa::GetPopupPoint() const { 110 NSPoint ExtensionActionPlatformDelegateCocoa::GetPopupPoint() const {
96 BrowserWindowController* windowController = 111 BrowserWindowController* windowController =
97 [BrowserWindowController browserWindowControllerForWindow: 112 [BrowserWindowController browserWindowControllerForWindow:
98 controller_->browser()->window()->GetNativeWindow()]; 113 controller_->browser()->window()->GetNativeWindow()];
99 NSPoint popupPoint; 114 NSPoint popupPoint;
100 if (controller_->extension_action()->action_type() == 115 if (controller_->extension_action()->action_type() ==
101 extensions::ActionInfo::TYPE_BROWSER || 116 extensions::ActionInfo::TYPE_BROWSER ||
102 extensions::FeatureSwitch::extension_action_redesign()->IsEnabled()) { 117 extensions::FeatureSwitch::extension_action_redesign()->IsEnabled()) {
103 BrowserActionsController* actionsController = 118 BrowserActionsController* actionsController =
104 [[windowController toolbarController] browserActionsController]; 119 [[windowController toolbarController] browserActionsController];
(...skipping 26 matching lines...) Expand all
131 controller_->IsEnabled( 146 controller_->IsEnabled(
132 controller_->view_delegate()->GetCurrentWebContents())) { 147 controller_->view_delegate()->GetCurrentWebContents())) {
133 controller_->ExecuteAction(true); 148 controller_->ExecuteAction(true);
134 } 149 }
135 break; 150 break;
136 } 151 }
137 default: 152 default:
138 NOTREACHED() << L"Unexpected notification"; 153 NOTREACHED() << L"Unexpected notification";
139 } 154 }
140 } 155 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698