diff options
author | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-23 13:33:44 +0000 |
---|---|---|
committer | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-23 13:33:44 +0000 |
commit | 86f44680f8b6d9dcfb14ad9944c0da5c0832da15 (patch) | |
tree | 9e974a0efb70fd16806a4750b72cf2288d4b4445 /chrome/browser/cocoa/extensions | |
parent | ae72160fbabf7868f56e2d4fbc194d6bd49a5598 (diff) | |
download | chromium_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.mm | 11 |
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(); |