diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/views/bookmark_bar_view.cc | 12 | ||||
-rw-r--r-- | chrome/browser/views/bookmark_menu_controller_views.cc | 14 |
2 files changed, 19 insertions, 7 deletions
diff --git a/chrome/browser/views/bookmark_bar_view.cc b/chrome/browser/views/bookmark_bar_view.cc index 2e9b167..492f323c 100644 --- a/chrome/browser/views/bookmark_bar_view.cc +++ b/chrome/browser/views/bookmark_bar_view.cc @@ -227,9 +227,15 @@ class BookmarkFolderButton : public views::MenuButton { } virtual bool IsTriggerableEvent(const views::MouseEvent& e) { - // This is hard coded to avoid potential notification on left mouse down, - // which we want to show the menu. - return e.IsMiddleMouseButton(); + // Left clicks should show the menu contents and right clicks should show + // the context menu. They should not trigger the opening of underlying urls. + if (e.GetFlags() == views::MouseEvent::EF_LEFT_BUTTON_DOWN || + e.GetFlags() == views::MouseEvent::EF_RIGHT_BUTTON_DOWN) + return false; + + WindowOpenDisposition disposition( + event_utils::DispositionFromEventFlags(e.GetFlags())); + return disposition != CURRENT_TAB; } virtual void Paint(gfx::Canvas *canvas) { diff --git a/chrome/browser/views/bookmark_menu_controller_views.cc b/chrome/browser/views/bookmark_menu_controller_views.cc index 80bf767..45620f7 100644 --- a/chrome/browser/views/bookmark_menu_controller_views.cc +++ b/chrome/browser/views/bookmark_menu_controller_views.cc @@ -89,10 +89,16 @@ bool BookmarkMenuController::IsTriggerableEvent(const views::MouseEvent& e) { void BookmarkMenuController::ExecuteCommand(int id, int mouse_event_flags) { DCHECK(page_navigator_); DCHECK(menu_id_to_node_map_.find(id) != menu_id_to_node_map_.end()); - GURL url = menu_id_to_node_map_[id]->GetURL(); - page_navigator_->OpenURL( - url, GURL(), event_utils::DispositionFromEventFlags(mouse_event_flags), - PageTransition::AUTO_BOOKMARK); + + const BookmarkNode* node = menu_id_to_node_map_[id]; + std::vector<const BookmarkNode*> selection; + selection.push_back(node); + + WindowOpenDisposition initial_disposition = + event_utils::DispositionFromEventFlags(mouse_event_flags); + + bookmark_utils::OpenAll(parent_, profile_, page_navigator_, selection, + initial_disposition); } bool BookmarkMenuController::GetDropFormats( |