13551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
53551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#ifndef CONTENT_SHELL_BROWSER_SHELL_WEB_CONTENTS_VIEW_DELEGATE_H_
63551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#define CONTENT_SHELL_BROWSER_SHELL_WEB_CONTENTS_VIEW_DELEGATE_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/web_contents.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/web_contents_view_delegate.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/common/context_menu_params.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class ShellWebContentsViewDelegate : public WebContentsViewDelegate {
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public:
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  explicit ShellWebContentsViewDelegate(WebContents* web_contents);
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual ~ShellWebContentsViewDelegate();
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Overridden from WebContentsViewDelegate:
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  virtual void ShowContextMenu(RenderFrameHost* render_frame_host,
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                               const ContextMenuParams& params) OVERRIDE;
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
23a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#if defined(OS_MACOSX)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void ActionPerformed(int id);
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_WIN)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void MenuItemSelected(int selection);
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if defined(TOOLKIT_VIEWS)
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual void ShowDisambiguationPopup(
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      const gfx::Rect& target_rect,
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      const SkBitmap& zoomed_bitmap,
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      const gfx::NativeView content,
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      const base::Callback<void(ui::GestureEvent*)>& gesture_cb,
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      const base::Callback<void(ui::MouseEvent*)>& mouse_cb) OVERRIDE;
361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual void HideDisambiguationPopup() OVERRIDE;
381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif
391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private:
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  WebContents* web_contents_;
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ContextMenuParams params_;
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(ShellWebContentsViewDelegate);
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace content
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
493551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#endif // CONTENT_SHELL_BROWSER_SHELL_WEB_CONTENTS_VIEW_DELEGATE_H_
50