From b2872eaf606cb0a33efcffe0302156fff4769aa1 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 6 Aug 2013 21:08:52 +0800 Subject: [PATCH] [Win] Implement context menu. --- browser/api/atom_api_menu_win.cc | 5 +++++ browser/api/atom_api_menu_win.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/browser/api/atom_api_menu_win.cc b/browser/api/atom_api_menu_win.cc index 8023fb1b3d..d5690d56c6 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 d0f2559702..380b6b62ff 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); };