Chromium Code Reviews| Index: chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc |
| diff --git a/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc b/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc |
| index 23f2f6bcf4cb35d1592218b256d8017c6d96bbc4..9787a18ac096954e11440e1e5592e934fcb32483 100644 |
| --- a/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc |
| +++ b/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc |
| @@ -13,8 +13,10 @@ |
| #include "chrome/common/extensions/extension.h" |
| #include "chrome/common/extensions/extension_action.h" |
| #include "ui/gfx/canvas_skia.h" |
| -#include "views/controls/menu/menu_2.h" |
| #include "views/controls/menu/menu_item_view.h" |
| +#include "views/controls/menu/menu_model_adapter.h" |
| +#include "views/controls/menu/submenu_view.h" |
| +#include "views/window/window.h" |
| BrowserActionOverflowMenuController::BrowserActionOverflowMenuController( |
| BrowserActionsContainer* owner, |
| @@ -96,13 +98,16 @@ bool BrowserActionOverflowMenuController::ShowContextMenu( |
| if (!extension->ShowConfigureContextMenus()) |
| return false; |
| - context_menu_contents_ = new ExtensionContextMenuModel( |
| - extension, |
| - owner_->browser(), |
| - owner_); |
| - context_menu_menu_.reset(new views::Menu2(context_menu_contents_.get())); |
| + scoped_refptr<ExtensionContextMenuModel> context_menu_contents = |
|
Peter Kasting
2011/06/08 20:32:11
Why a scoped_refptr here? Can't we just declare t
rhashimoto
2011/06/09 01:18:40
Allocating a ref counted object on the stack throw
|
| + new ExtensionContextMenuModel(extension, owner_->browser(), owner_); |
| + views::MenuModelAdapter context_menu_model_adapter( |
| + context_menu_contents.get()); |
| + views::MenuItemView context_menu_menu(&context_menu_model_adapter); |
| + context_menu_model_adapter.BuildMenu(&context_menu_menu); |
| + |
| // This blocks until the user choses something or dismisses the menu. |
| - context_menu_menu_->RunContextMenuAt(p); |
| + context_menu_menu.RunMenuAt(menu_button_->GetWidget()->GetNativeWindow(), |
| + NULL, gfx::Rect(p ,gfx::Size()), views::MenuItemView::TOPLEFT, true); |
|
Finnur
2011/06/09 11:37:51
nit, space after comma, not before it.
rhashimoto
2011/06/09 16:03:06
Done.
|
| // The user is done with the context menu, so we can close the underlying |
| // menu. |