diff options
author | yoichio@chromium.org <yoichio@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 17:24:08 +0000 |
---|---|---|
committer | yoichio@chromium.org <yoichio@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 17:24:08 +0000 |
commit | c4bf51469712fc583dc73d9a02019f3411216e85 (patch) | |
tree | dd5d95b7eb05bcf87e14819cc618353257befac5 /ui/views/controls/menu/menu_controller.cc | |
parent | 1fd257aa8a206d829eee69eb6bfd76702b357980 (diff) | |
download | chromium_src-c4bf51469712fc583dc73d9a02019f3411216e85.zip chromium_src-c4bf51469712fc583dc73d9a02019f3411216e85.tar.gz chromium_src-c4bf51469712fc583dc73d9a02019f3411216e85.tar.bz2 |
bookmarks: Show context menu on empty bookmark folder.
BUG=110939
TEST=interactive_ui_tests
Review URL: https://chromiumcodereview.appspot.com/12558006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188110 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/controls/menu/menu_controller.cc')
-rw-r--r-- | ui/views/controls/menu/menu_controller.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/ui/views/controls/menu/menu_controller.cc b/ui/views/controls/menu/menu_controller.cc index c4e19f0..d9887bf 100644 --- a/ui/views/controls/menu/menu_controller.cc +++ b/ui/views/controls/menu/menu_controller.cc @@ -462,9 +462,17 @@ void MenuController::OnMouseReleased(SubmenuView* source, possible_drag_ = false; DCHECK(blocking_run_); MenuPart part = GetMenuPart(source, event.location()); - if (event.IsRightMouseButton() && (part.type == MenuPart::MENU_ITEM && - part.menu)) { - if (ShowContextMenu(part.menu, source, event)) + if (event.IsRightMouseButton() && part.type == MenuPart::MENU_ITEM) { + MenuItemView* menu = part.menu; + // |menu| is NULL means this event is from an empty menu or a separator. + // If it is from an empty menu, use parent context menu instead of that. + if (menu == NULL && + part.submenu->child_count() == 1 && + part.submenu->child_at(0)->id() + == views::MenuItemView::kEmptyMenuItemViewID) + menu = part.parent; + + if (menu != NULL && ShowContextMenu(menu, source, event)) return; } |