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

Unified Diff: chrome/browser/ui/views/browser_actions_container.cc

Issue 7720012: Moves ownership of MenuItemView to MenuRunner as well as responbility (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unit test Created 9 years, 4 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/browser_actions_container.cc
diff --git a/chrome/browser/ui/views/browser_actions_container.cc b/chrome/browser/ui/views/browser_actions_container.cc
index a8a369eb18ff6270e35d117616767e8f016bb3a6..75589b4450325da3e42741aaacef936154a3f0e0 100644
--- a/chrome/browser/ui/views/browser_actions_container.cc
+++ b/chrome/browser/ui/views/browser_actions_container.cc
@@ -46,6 +46,7 @@
#include "views/controls/button/text_button.h"
#include "views/controls/menu/menu_item_view.h"
#include "views/controls/menu/menu_model_adapter.h"
+#include "views/controls/menu/menu_runner.h"
#include "views/drag_utils.h"
#include "views/metrics.h"
@@ -255,14 +256,15 @@ void BrowserActionButton::ShowContextMenu(const gfx::Point& p,
scoped_refptr<ExtensionContextMenuModel> context_menu_contents_(
new ExtensionContextMenuModel(extension(), panel_->browser(), panel_));
views::MenuModelAdapter menu_model_adapter(context_menu_contents_.get());
- views::MenuItemView menu(&menu_model_adapter);
- menu_model_adapter.BuildMenu(&menu);
+ views::MenuRunner menu_runner(menu_model_adapter.CreateMenu());
- context_menu_ = &menu;
+ context_menu_ = menu_runner.GetMenu();
gfx::Point screen_loc;
views::View::ConvertPointToScreen(this, &screen_loc);
- context_menu_->RunMenuAt(GetWidget(), NULL, gfx::Rect(screen_loc, size()),
- views::MenuItemView::TOPLEFT, true);
+ if (menu_runner.RunMenuAt(GetWidget(), NULL, gfx::Rect(screen_loc, size()),
+ views::MenuItemView::TOPLEFT, views::MenuRunner::HAS_MNEMONICS) ==
+ views::MenuRunner::MENU_DELETED)
+ return;
SetButtonNotPushed();
context_menu_ = NULL;

Powered by Google App Engine
This is Rietveld 408576698