| Index: chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc
|
| diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc b/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc
|
| index 84cb908dc9bf13ba966608a8b0ca5e6a72eff3d3..e6ce22e1e6567dd6e122e38867bd22d1b0bd1dc1 100644
|
| --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc
|
| +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc
|
| @@ -42,14 +42,20 @@ BookmarkContextMenu::BookmarkContextMenu(
|
| const std::vector<const BookmarkNode*>& selection,
|
| bool close_on_remove)
|
| : controller_(new BookmarkContextMenuController(
|
| - parent_widget ? parent_widget->GetNativeWindow() : NULL, this,
|
| - browser, profile, page_navigator, parent, selection)),
|
| + parent_widget ? parent_widget->GetNativeWindow() : nullptr,
|
| + this,
|
| + browser,
|
| + profile,
|
| + page_navigator,
|
| + parent,
|
| + selection)),
|
| parent_widget_(parent_widget),
|
| menu_(new views::MenuItemView(this)),
|
| menu_runner_(new views::MenuRunner(menu_,
|
| views::MenuRunner::HAS_MNEMONICS |
|
| views::MenuRunner::IS_NESTED |
|
| - views::MenuRunner::CONTEXT_MENU)),
|
| + views::MenuRunner::CONTEXT_MENU |
|
| + views::MenuRunner::ASYNC)),
|
| observer_(NULL),
|
| close_on_remove_(close_on_remove) {
|
| ui::SimpleMenuModel* menu_model = controller_->menu_model();
|
| @@ -72,13 +78,9 @@ void BookmarkContextMenu::RunMenuAt(const gfx::Point& point,
|
| content::Source<BookmarkContextMenu>(this),
|
| content::NotificationService::NoDetails());
|
| // width/height don't matter here.
|
| - if (menu_runner_->RunMenuAt(parent_widget_,
|
| - NULL,
|
| - gfx::Rect(point.x(), point.y(), 0, 0),
|
| - views::MENU_ANCHOR_TOPLEFT,
|
| - source_type) == views::MenuRunner::MENU_DELETED) {
|
| - return;
|
| - }
|
| + menu_runner_->RunMenuAt(parent_widget_, nullptr,
|
| + gfx::Rect(point.x(), point.y(), 0, 0),
|
| + views::MENU_ANCHOR_TOPLEFT, source_type);
|
| }
|
|
|
| void BookmarkContextMenu::SetPageNavigator(PageNavigator* navigator) {
|
| @@ -108,6 +110,12 @@ bool BookmarkContextMenu::ShouldCloseAllMenusOnExecute(int id) {
|
| return (id != IDC_BOOKMARK_BAR_REMOVE) || close_on_remove_;
|
| }
|
|
|
| +void BookmarkContextMenu::OnMenuClosed(views::MenuItemView* menu,
|
| + views::MenuRunner::RunResult result) {
|
| + if (observer_)
|
| + observer_->OnContextMenuClosed();
|
| +}
|
| +
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // BookmarkContextMenuControllerDelegate
|
| // implementation:
|
|
|