1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef ATHENA_CONTENT_RENDER_VIEW_CONTEXT_MENU_IMPL_H_ 6 #define ATHENA_CONTENT_RENDER_VIEW_CONTEXT_MENU_IMPL_H_ 7 8 #include "components/renderer_context_menu/render_view_context_menu_base.h" 9 10 namespace views { 11 class Widget; 12 } 13 14 namespace gfx { 15 class Point; 16 } 17 18 namespace athena { 19 20 class RenderViewContextMenuImpl : public RenderViewContextMenuBase { 21 public: 22 RenderViewContextMenuImpl(content::RenderFrameHost* render_frame_host, 23 const content::ContextMenuParams& params); 24 virtual ~RenderViewContextMenuImpl(); 25 26 void RunMenuAt(views::Widget* parent, 27 const gfx::Point& point, 28 ui::MenuSourceType type); 29 30 private: 31 // RenderViewContextMenuBase: 32 virtual void InitMenu() OVERRIDE; 33 virtual void RecordShownItem(int id) OVERRIDE; 34 virtual void RecordUsedItem(int id) OVERRIDE; 35 #if defined(ENABLE_PLUGINS) 36 virtual void HandleAuthorizeAllPlugins() OVERRIDE; 37 #endif 38 virtual void NotifyMenuShown() OVERRIDE; 39 virtual void NotifyURLOpened(const GURL& url, 40 content::WebContents* new_contents) OVERRIDE; 41 42 // ui::SimpleMenuModel: 43 virtual bool GetAcceleratorForCommandId( 44 int command_id, 45 ui::Accelerator* accelerator) OVERRIDE; 46 virtual bool IsCommandIdChecked(int command_id) const OVERRIDE; 47 virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE; 48 virtual void ExecuteCommand(int command_id, int event_flags) OVERRIDE; 49 50 DISALLOW_COPY_AND_ASSIGN(RenderViewContextMenuImpl); 51 }; 52 53 } // namespace athena 54 55 #endif // ATHENA_CONTENT_RENDER_VIEW_CONTEXT_MENU_IMPL_H_ 56