summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/extensions
diff options
context:
space:
mode:
authorskerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-23 13:33:44 +0000
committerskerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-23 13:33:44 +0000
commit86f44680f8b6d9dcfb14ad9944c0da5c0832da15 (patch)
tree9e974a0efb70fd16806a4750b72cf2288d4b4445 /chrome/browser/cocoa/extensions
parentae72160fbabf7868f56e2d4fbc194d6bd49a5598 (diff)
downloadchromium_src-86f44680f8b6d9dcfb14ad9944c0da5c0832da15.zip
chromium_src-86f44680f8b6d9dcfb14ad9944c0da5c0832da15.tar.gz
chromium_src-86f44680f8b6d9dcfb14ad9944c0da5c0832da15.tar.bz2
Ensure that a browser action is never passed to a function which expects a page action.
(Changed review name, because the solution has changed) BUG=53041 TEST=On a mac, install a browser action and a page action, right click on each icon, select "Inspect Popup". Review URL: http://codereview.chromium.org/3176021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57048 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/extensions')
-rw-r--r--chrome/browser/cocoa/extensions/extension_action_context_menu.mm11
1 files changed, 8 insertions, 3 deletions
diff --git a/chrome/browser/cocoa/extensions/extension_action_context_menu.mm b/chrome/browser/cocoa/extensions/extension_action_context_menu.mm
index 797f517..be9553d 100644
--- a/chrome/browser/cocoa/extensions/extension_action_context_menu.mm
+++ b/chrome/browser/cocoa/extensions/extension_action_context_menu.mm
@@ -241,13 +241,18 @@ int CurrentTabId() {
[window->cocoa_controller() toolbarController];
LocationBarViewMac* locationBarView =
[toolbarController locationBarBridge];
- NSPoint popupPoint = locationBarView->GetPageActionBubblePoint(action_);
- // If there was no matching page action, it was a browser action.
- if (NSEqualPoints(popupPoint, NSZeroPoint)) {
+ NSPoint popupPoint = NSZeroPoint;
+ if (extension_->page_action() == action_) {
+ popupPoint = locationBarView->GetPageActionBubblePoint(action_);
+
+ } else if (extension_->browser_action() == action_) {
BrowserActionsController* controller =
[toolbarController browserActionsController];
popupPoint = [controller popupPointForBrowserAction:extension_];
+
+ } else {
+ NOTREACHED() << "action_ is not a page action or browser action?";
}
int tabId = CurrentTabId();