1 // Copyright (c) 2012 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.
5 #ifndef CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_
6 #define CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "base/platform_file.h"
11 #include "content/public/renderer/content_renderer_client.h"
16 struct WebPluginParams
;
21 class MockWebClipboardImpl
;
22 class ShellRenderProcessObserver
;
23 class WebTestProxyBase
;
25 class ShellContentRendererClient
: public ContentRendererClient
{
27 ShellContentRendererClient();
28 virtual ~ShellContentRendererClient();
30 // ContentRendererClient implementation.
31 virtual void RenderThreadStarted() OVERRIDE
;
32 virtual void RenderFrameCreated(RenderFrame
* render_frame
) OVERRIDE
;
33 virtual void RenderViewCreated(RenderView
* render_view
) OVERRIDE
;
34 virtual bool OverrideCreatePlugin(
35 RenderFrame
* render_frame
,
36 blink::WebLocalFrame
* frame
,
37 const blink::WebPluginParams
& params
,
38 blink::WebPlugin
** plugin
) OVERRIDE
;
39 virtual blink::WebMediaStreamCenter
* OverrideCreateWebMediaStreamCenter(
40 blink::WebMediaStreamCenterClient
* client
) OVERRIDE
;
41 virtual blink::WebRTCPeerConnectionHandler
*
42 OverrideCreateWebRTCPeerConnectionHandler(
43 blink::WebRTCPeerConnectionHandlerClient
* client
) OVERRIDE
;
44 virtual blink::WebMIDIAccessor
* OverrideCreateMIDIAccessor(
45 blink::WebMIDIAccessorClient
* client
) OVERRIDE
;
46 virtual blink::WebAudioDevice
* OverrideCreateAudioDevice(
47 double sample_rate
) OVERRIDE
;
48 virtual blink::WebClipboard
* OverrideWebClipboard() OVERRIDE
;
49 virtual blink::WebThemeEngine
* OverrideThemeEngine() OVERRIDE
;
50 virtual bool AllowBrowserPlugin(
51 blink::WebPluginContainer
* container
) OVERRIDE
;
54 void WebTestProxyCreated(RenderView
* render_view
, WebTestProxyBase
* proxy
);
56 scoped_ptr
<ShellRenderProcessObserver
> shell_observer_
;
57 scoped_ptr
<MockWebClipboardImpl
> clipboard_
;
60 } // namespace content
62 #endif // CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_