• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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