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