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..dbdf75e22800e8ec0d15d4cf6deb78cbeaec55e5 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 = |
+ new ExtensionContextMenuModel(extension, owner_->browser(), owner_); |
+ views::MenuModelAdapter context_menu_model_adapter( |
+ context_menu_contents.get()); |
+ views::MenuItemView context_menu(&context_menu_model_adapter); |
+ context_menu_model_adapter.BuildMenu(&context_menu); |
+ |
// This blocks until the user choses something or dismisses the menu. |
- context_menu_menu_->RunContextMenuAt(p); |
+ context_menu.RunMenuAt(menu_button_->GetWidget()->GetNativeWindow(), |
+ NULL, gfx::Rect(p, gfx::Size()), views::MenuItemView::TOPLEFT, true); |
// The user is done with the context menu, so we can close the underlying |
// menu. |