Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(629)

Unified Diff: chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc

Issue 1647003002: Make bookmark context menu asynchronous (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@b564255_move_key_handler_out_of_message_loop
Patch Set: Removed loggings Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..31d3ca3ed5d138ec4d3c98a4f2bd98be4691242e 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,10 @@ 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;
- }
+ ignore_result(menu_runner_->RunMenuAt(parent_widget_, nullptr,
sky 2016/02/03 16:51:56 As the return value is no longer important I say w
mohsen 2016/02/03 22:14:12 Done.
+ gfx::Rect(point.x(), point.y(), 0, 0),
+ views::MENU_ANCHOR_TOPLEFT,
+ source_type));
}
void BookmarkContextMenu::SetPageNavigator(PageNavigator* navigator) {
@@ -108,6 +111,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:

Powered by Google App Engine
This is Rietveld 408576698