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

Unified Diff: chrome/browser/ui/panels/panel_browser_frame_view.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/panels/panel_browser_frame_view.cc
diff --git a/chrome/browser/ui/panels/panel_browser_frame_view.cc b/chrome/browser/ui/panels/panel_browser_frame_view.cc
index 88f170599f4c8c722b7011cf3bfb84e625107575..ef907fd5f91eea24bbbc78d54f0fa05a79e5cde0 100644
--- a/chrome/browser/ui/panels/panel_browser_frame_view.cc
+++ b/chrome/browser/ui/panels/panel_browser_frame_view.cc
@@ -214,7 +214,8 @@ PanelBrowserFrameView::PanelBrowserFrameView(BrowserFrame* frame,
title_label_(NULL),
ALLOW_THIS_IN_INITIALIZER_LIST(settings_menu_contents_(this)),
settings_menu_adapter_(&settings_menu_contents_),
- settings_menu_(&settings_menu_adapter_) {
+ settings_menu_(new views::MenuItemView(&settings_menu_adapter_)),
+ settings_menu_runner_(settings_menu_) {
EnsureResourcesInitialized();
frame_->set_frame_type(views::Widget::FRAME_TYPE_FORCE_CUSTOM);
@@ -442,9 +443,11 @@ void PanelBrowserFrameView::RunMenu(View* source, const gfx::Point& pt) {
DCHECK_EQ(settings_button_, source);
gfx::Point screen_point;
views::View::ConvertPointToScreen(source, &screen_point);
- settings_menu_.RunMenuAt(source->GetWidget(),
- settings_button_, gfx::Rect(screen_point, source->size()),
- views::MenuItemView::TOPRIGHT, true);
+ if (settings_menu_runner_.RunMenuAt(source->GetWidget(),
+ settings_button_, gfx::Rect(screen_point, source->size()),
+ views::MenuItemView::TOPRIGHT, views::MenuRunner::HAS_MNEMONICS) ==
+ views::MenuRunner::MENU_DELETED)
+ return;
}
bool PanelBrowserFrameView::IsCommandIdChecked(int command_id) const {
@@ -750,5 +753,5 @@ void PanelBrowserFrameView::EnsureSettingsMenuCreated() {
settings_menu_contents_.AddItem(
COMMAND_MANAGE, l10n_util::GetStringUTF16(IDS_MANAGE_EXTENSIONS));
- settings_menu_adapter_.BuildMenu(&settings_menu_);
+ settings_menu_adapter_.BuildMenu(settings_menu_);
}

Powered by Google App Engine
This is Rietveld 408576698