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

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

Issue 1171873003: [Mac] Add cocoa implementation for sidebar extension action support Base URL: https://chromium.googlesource.com/chromium/src.git@patch-b
Patch Set: Rebased patch set to 1169823005/#ps200001 Created 5 years, 3 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/browser_window_cocoa.h"
15 #import "chrome/browser/ui/cocoa/browser_window_controller.h" 16 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
16 #import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h" 17 #import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
17 #import "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h" 18 #import "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h"
18 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" 19 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
19 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" 20 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
20 #import "chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.h" 21 #import "chrome/browser/ui/cocoa/wrench_menu/wrench_menu_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"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 // the wrench menu will be open. Close it before opening the popup. 86 // the wrench menu will be open. Close it before opening the popup.
86 WrenchMenuController* wrenchMenuController = 87 WrenchMenuController* wrenchMenuController =
87 [[[BrowserWindowController 88 [[[BrowserWindowController
88 browserWindowControllerForWindow: 89 browserWindowControllerForWindow:
89 controller_->browser()->window()->GetNativeWindow()] 90 controller_->browser()->window()->GetNativeWindow()]
90 toolbarController] wrenchMenuController]; 91 toolbarController] wrenchMenuController];
91 if ([wrenchMenuController isMenuOpen]) 92 if ([wrenchMenuController isMenuOpen])
92 [wrenchMenuController cancel]; 93 [wrenchMenuController cancel];
93 } 94 }
94 95
96 void ExtensionActionPlatformDelegateCocoa::ShowSidebar(
97 content::WebContents* sidebar_contents) {
98 BrowserWindowCocoa* window =
99 static_cast<BrowserWindowCocoa*>(controller_->browser()->window());
100 window->ShowSidebar(sidebar_contents);
101 }
102
103 void ExtensionActionPlatformDelegateCocoa::HideSidebar() {
104 BrowserWindowCocoa* window =
105 static_cast<BrowserWindowCocoa*>(controller_->browser()->window());
106 window->HideSidebar();
107 }
108
95 NSPoint ExtensionActionPlatformDelegateCocoa::GetPopupPoint() const { 109 NSPoint ExtensionActionPlatformDelegateCocoa::GetPopupPoint() const {
96 BrowserWindowController* windowController = 110 BrowserWindowController* windowController =
97 [BrowserWindowController browserWindowControllerForWindow: 111 [BrowserWindowController browserWindowControllerForWindow:
98 controller_->browser()->window()->GetNativeWindow()]; 112 controller_->browser()->window()->GetNativeWindow()];
99 NSPoint popupPoint; 113 NSPoint popupPoint;
100 if (controller_->extension_action()->action_type() == 114 if (controller_->extension_action()->action_type() ==
101 extensions::ActionInfo::TYPE_BROWSER || 115 extensions::ActionInfo::TYPE_BROWSER ||
102 extensions::FeatureSwitch::extension_action_redesign()->IsEnabled()) { 116 extensions::FeatureSwitch::extension_action_redesign()->IsEnabled()) {
103 BrowserActionsController* actionsController = 117 BrowserActionsController* actionsController =
104 [[windowController toolbarController] browserActionsController]; 118 [[windowController toolbarController] browserActionsController];
(...skipping 26 matching lines...) Expand all
131 controller_->IsEnabled( 145 controller_->IsEnabled(
132 controller_->view_delegate()->GetCurrentWebContents())) { 146 controller_->view_delegate()->GetCurrentWebContents())) {
133 controller_->ExecuteAction(true); 147 controller_->ExecuteAction(true);
134 } 148 }
135 break; 149 break;
136 } 150 }
137 default: 151 default:
138 NOTREACHED() << L"Unexpected notification"; 152 NOTREACHED() << L"Unexpected notification";
139 } 153 }
140 } 154 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698