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

Unified Diff: chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm

Issue 911203002: [Extensions Toolbar Mac] Remove ToolbarActionViewDelegateCocoa (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
diff --git a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
index 16b9a45921682aa0c178335be08b0db464522fc1..716e2626a337067ca79b37f7195f7c08b97da49e 100644
--- a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
+++ b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
@@ -12,10 +12,12 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
#import "chrome/browser/ui/cocoa/browser_window_controller.h"
+#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
#import "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_action_view_delegate_cocoa.h"
+#import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
#import "chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.h"
+#include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h"
#include "chrome/common/extensions/api/extension_action/action_info.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
@@ -83,8 +85,6 @@ ExtensionActionPlatformDelegateCocoa::ShowPopupWithUrl(
ExtensionActionViewController::PopupShowAction show_action,
const GURL& popup_url,
bool grant_tab_permissions) {
- NSPoint arrowPoint = GetDelegateCocoa()->GetPopupPoint();
-
// If this was triggered by an action overflowed to the wrench menu, then
// the wrench menu will be open. Close it before opening the popup.
WrenchMenuController* wrenchMenuController =
@@ -100,16 +100,29 @@ ExtensionActionPlatformDelegateCocoa::ShowPopupWithUrl(
ExtensionPopupController* popupController =
[ExtensionPopupController showURL:popup_url
inBrowser:controller_->browser()
- anchoredAt:arrowPoint
+ anchoredAt:GetPopupPoint()
arrowLocation:info_bubble::kTopRight
devMode:devMode];
return [popupController extensionViewHost];
}
-ToolbarActionViewDelegateCocoa*
-ExtensionActionPlatformDelegateCocoa::GetDelegateCocoa() {
- return static_cast<ToolbarActionViewDelegateCocoa*>(
- controller_->view_delegate());
+NSPoint ExtensionActionPlatformDelegateCocoa::GetPopupPoint() const {
+ BrowserWindowController* windowController =
+ [BrowserWindowController browserWindowControllerForWindow:
+ controller_->browser()->window()->GetNativeWindow()];
+ NSPoint popupPoint;
+ if (controller_->extension_action()->action_type() ==
+ extensions::ActionInfo::TYPE_PAGE) {
+ popupPoint = [windowController locationBarBridge]->GetPageActionBubblePoint(
+ controller_->extension_action());
+ } else {
+ DCHECK_EQ(extensions::ActionInfo::TYPE_BROWSER,
+ controller_->extension_action()->action_type());
+ BrowserActionsController* actionsController =
+ [[windowController toolbarController] browserActionsController];
+ popupPoint = [actionsController popupPointForId:controller_->GetId()];
+ }
+ return popupPoint;
}
void ExtensionActionPlatformDelegateCocoa::Observe(

Powered by Google App Engine
This is Rietveld 408576698