diff options
author | kuan@chromium.org <kuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-19 22:52:16 +0000 |
---|---|---|
committer | kuan@chromium.org <kuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-19 22:52:16 +0000 |
commit | d19a23c54f1a3169aec9d10d0a0c9664c000d034 (patch) | |
tree | ebf42f0c09ab2547cd07bf47a790ce8ca0d39243 /chrome | |
parent | aa0025bf8d57cc793308f4f881ed5817cb141141 (diff) | |
download | chromium_src-d19a23c54f1a3169aec9d10d0a0c9664c000d034.zip chromium_src-d19a23c54f1a3169aec9d10d0a0c9664c000d034.tar.gz chromium_src-d19a23c54f1a3169aec9d10d0a0c9664c000d034.tar.bz2 |
fix bug to not show context menu when mouse is between tabstrip and toolbar.
BUG=33454
TEST=verify per bug report.
Review URL: http://codereview.chromium.org/650071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39501 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/chromeos/frame/browser_view.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/frame/browser_view.cc b/chrome/browser/chromeos/frame/browser_view.cc index 3ebe1d7..e7a1c9c 100644 --- a/chrome/browser/chromeos/frame/browser_view.cc +++ b/chrome/browser/chromeos/frame/browser_view.cc @@ -449,7 +449,15 @@ void BrowserView::ButtonPressed(views::Button* sender, // views::ContextMenuController overrides. void BrowserView::ShowContextMenu(views::View* source, int x, int y, bool is_mouse_gesture) { - system_menu_menu_->RunMenuAt(gfx::Point(x, y), views::Menu2::ALIGN_TOPLEFT); + // Only show context menu if point is in unobscured parts of browser, i.e. + // if NonClientHitTest returns : + // - HTCAPTION: in title bar or unobscured part of tabstrip + // - HTNOWHERE: as the name implies. + gfx::Point point_in_parent_coords(x, y); + views::View::ConvertPointToView(NULL, GetParent(), &point_in_parent_coords); + int hit_test = NonClientHitTest(point_in_parent_coords); + if (hit_test == HTCAPTION || hit_test == HTNOWHERE) + system_menu_menu_->RunMenuAt(gfx::Point(x, y), views::Menu2::ALIGN_TOPLEFT); } // StatusAreaHost overrides. |