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)  virtual WebDragDestDelegate* GetDragDestDelegate() OVERRIDE;
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
24a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#if defined(OS_MACOSX)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual NSObject<RenderWidgetHostViewMacDelegate>*
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      CreateRenderWidgetHostViewDelegate(
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          RenderWidgetHost* render_widget_host) OVERRIDE;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void ActionPerformed(int id);
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(OS_WIN)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void StoreFocus() OVERRIDE;
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void RestoreFocus() OVERRIDE;
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool Focus() OVERRIDE;
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void TakeFocus(bool reverse) OVERRIDE;
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void SizeChanged(const gfx::Size& size) OVERRIDE;
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void MenuItemSelected(int selection);
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private:
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  WebContents* web_contents_;
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ContextMenuParams params_;
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(ShellWebContentsViewDelegate);
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace content
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
473551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#endif // CONTENT_SHELL_BROWSER_SHELL_WEB_CONTENTS_VIEW_DELEGATE_H_
48