16e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 26e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 36e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// found in the LICENSE file. 46e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 56e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#ifndef ATHENA_CONTENT_RENDER_VIEW_CONTEXT_MENU_IMPL_H_ 66e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#define ATHENA_CONTENT_RENDER_VIEW_CONTEXT_MENU_IMPL_H_ 76e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 86e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "components/renderer_context_menu/render_view_context_menu_base.h" 96e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 106e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)namespace views { 116e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class Widget; 126e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)} 136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 146e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)namespace gfx { 156e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class Point; 166e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)} 176e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 186e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)namespace athena { 196e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class RenderViewContextMenuImpl : public RenderViewContextMenuBase { 216e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public: 226e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) RenderViewContextMenuImpl(content::RenderFrameHost* render_frame_host, 236e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const content::ContextMenuParams& params); 246e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual ~RenderViewContextMenuImpl(); 256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void RunMenuAt(views::Widget* parent, 276e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const gfx::Point& point, 286e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ui::MenuSourceType type); 296e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 306e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) private: 316e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // RenderViewContextMenuBase: 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void InitMenu() OVERRIDE; 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void RecordShownItem(int id) OVERRIDE; 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void RecordUsedItem(int id) OVERRIDE; 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#if defined(ENABLE_PLUGINS) 366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void HandleAuthorizeAllPlugins() OVERRIDE; 376e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#endif 386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void NotifyMenuShown() OVERRIDE; 396e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void NotifyURLOpened(const GURL& url, 406e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) content::WebContents* new_contents) OVERRIDE; 416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 426e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // ui::SimpleMenuModel: 436e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual bool GetAcceleratorForCommandId( 446e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) int command_id, 456e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ui::Accelerator* accelerator) OVERRIDE; 466e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual bool IsCommandIdChecked(int command_id) const OVERRIDE; 476e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE; 486e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void ExecuteCommand(int command_id, int event_flags) OVERRIDE; 496e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 506e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(RenderViewContextMenuImpl); 516e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)}; 526e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 536e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)} // namespace athena 546e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 556e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#endif // ATHENA_CONTENT_RENDER_VIEW_CONTEXT_MENU_IMPL_H_ 56