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

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

Issue 10412052: Pull browser action click logic into ToolbarModelController, so that when I (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: views changes Created 8 years, 7 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/browser_actions_controller.mm
diff --git a/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm b/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm
index a946a226ee70a6bf12ddf4c8a1907852a4fe5feb..ccc35ddadb37f55b85c9fd9e9a8c2be41c31a7e6 100644
--- a/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm
+++ b/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm
@@ -721,25 +721,20 @@ class ExtensionServiceObserverBridge : public content::NotificationObserver,
}
- (void)browserActionClicked:(BrowserActionButton*)button {
- int tabId = [self currentTabId];
- if (tabId < 0) {
- NOTREACHED() << "No current tab.";
- return;
- }
- // If an extension popup is already open, it will get closed when it
- // loses focus.
-
- ExtensionAction* action = [button extension]->browser_action();
- if (action->HasPopup(tabId)) {
- GURL popupUrl = action->GetPopupUrl(tabId);
- NSPoint arrowPoint = [self popupPointForBrowserAction:[button extension]];
- [ExtensionPopupController showURL:popupUrl
- inBrowser:browser_
- anchoredAt:arrowPoint
- arrowLocation:info_bubble::kTopRight
- devMode:NO];
- } else {
- toolbarModel_->ExecuteBrowserAction(action->extension_id(), browser_);
+ const Extension* extension = [button extension];
+ GURL popupUrl;
+ switch (toolbarModel_->ExecuteBrowserAction(extension, browser_, &popupUrl)) {
+ case ExtensionToolbarModel::ACTION_NONE:
+ break;
+ case ExtensionToolbarModel::ACTION_SHOW_POPUP: {
+ NSPoint arrowPoint = [self popupPointForBrowserAction:extension];
+ [ExtensionPopupController showURL:popupUrl
+ inBrowser:browser_
+ anchoredAt:arrowPoint
+ arrowLocation:info_bubble::kTopRight
+ devMode:NO];
+ break;
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698