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 10namespace views { 11class Widget; 12} 13 14namespace gfx { 15class Point; 16} 17 18namespace athena { 19 20class 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