1// Copyright 2013 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 CONTENT_SHELL_BROWSER_SHELL_WEB_CONTENTS_VIEW_DELEGATE_H_ 6#define CONTENT_SHELL_BROWSER_SHELL_WEB_CONTENTS_VIEW_DELEGATE_H_ 7 8#include "content/public/browser/web_contents.h" 9#include "content/public/browser/web_contents_view_delegate.h" 10#include "content/public/common/context_menu_params.h" 11 12namespace content { 13 14class ShellWebContentsViewDelegate : public WebContentsViewDelegate { 15 public: 16 explicit ShellWebContentsViewDelegate(WebContents* web_contents); 17 virtual ~ShellWebContentsViewDelegate(); 18 19 // Overridden from WebContentsViewDelegate: 20 virtual void ShowContextMenu(RenderFrameHost* render_frame_host, 21 const ContextMenuParams& params) OVERRIDE; 22 23#if defined(OS_MACOSX) 24 void ActionPerformed(int id); 25#elif defined(OS_WIN) 26 void MenuItemSelected(int selection); 27#endif 28 29#if defined(TOOLKIT_VIEWS) 30 virtual void ShowDisambiguationPopup( 31 const gfx::Rect& target_rect, 32 const SkBitmap& zoomed_bitmap, 33 const gfx::NativeView content, 34 const base::Callback<void(ui::GestureEvent*)>& gesture_cb, 35 const base::Callback<void(ui::MouseEvent*)>& mouse_cb) OVERRIDE; 36 37 virtual void HideDisambiguationPopup() OVERRIDE; 38#endif 39 40 private: 41 WebContents* web_contents_; 42 ContextMenuParams params_; 43 44 DISALLOW_COPY_AND_ASSIGN(ShellWebContentsViewDelegate); 45}; 46 47} // namespace content 48 49#endif // CONTENT_SHELL_BROWSER_SHELL_WEB_CONTENTS_VIEW_DELEGATE_H_ 50