diff --git a/browser/api/atom_api_menu_win.cc b/browser/api/atom_api_menu_win.cc index 8023fb1b3dd3..d5690d56c6aa 100644 --- a/browser/api/atom_api_menu_win.cc +++ b/browser/api/atom_api_menu_win.cc @@ -4,6 +4,9 @@ #include "browser/api/atom_api_menu_win.h" +#include "ui/views/controls/menu/menu_2.h" +#include "ui/gfx/point.h" + namespace atom { namespace api { @@ -16,6 +19,8 @@ MenuWin::~MenuWin() { } void MenuWin::Popup(NativeWindow* native_window) { + menu_.reset(new views::Menu2(model_.get())); + menu_->RunContextMenuAt(gfx::Point(0, 0)); } // static diff --git a/browser/api/atom_api_menu_win.h b/browser/api/atom_api_menu_win.h index d0f25597029c..380b6b62ff81 100644 --- a/browser/api/atom_api_menu_win.h +++ b/browser/api/atom_api_menu_win.h @@ -7,6 +7,10 @@ #include "browser/api/atom_api_menu.h" +namespace views { +class Menu2; +} + namespace atom { namespace api { @@ -20,6 +24,8 @@ class MenuWin : public Menu { virtual void Popup(NativeWindow* window) OVERRIDE; private: + scoped_ptr menu_; + DISALLOW_COPY_AND_ASSIGN(MenuWin); };