| 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_);
|
| }
|
|
|