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
;
19 namespace WebTestRunner
{
20 class WebTestProxyBase
;
25 class MockWebClipboardImpl
;
26 class ShellRenderProcessObserver
;
28 class ShellContentRendererClient
: public ContentRendererClient
{
30 static ShellContentRendererClient
* Get();
32 ShellContentRendererClient();
33 virtual ~ShellContentRendererClient();
35 // ContentRendererClient implementation.
36 virtual void RenderThreadStarted() OVERRIDE
;
37 virtual void RenderFrameCreated(RenderFrame
* render_frame
) OVERRIDE
;
38 virtual void RenderViewCreated(RenderView
* render_view
) OVERRIDE
;
39 virtual bool OverrideCreatePlugin(
40 RenderFrame
* render_frame
,
41 blink::WebFrame
* frame
,
42 const blink::WebPluginParams
& params
,
43 blink::WebPlugin
** plugin
) OVERRIDE
;
44 virtual blink::WebMediaStreamCenter
* OverrideCreateWebMediaStreamCenter(
45 blink::WebMediaStreamCenterClient
* client
) OVERRIDE
;
46 virtual blink::WebRTCPeerConnectionHandler
*
47 OverrideCreateWebRTCPeerConnectionHandler(
48 blink::WebRTCPeerConnectionHandlerClient
* client
) OVERRIDE
;
49 virtual blink::WebMIDIAccessor
* OverrideCreateMIDIAccessor(
50 blink::WebMIDIAccessorClient
* client
) OVERRIDE
;
51 virtual blink::WebAudioDevice
* OverrideCreateAudioDevice(
52 double sample_rate
) OVERRIDE
;
53 virtual blink::WebClipboard
* OverrideWebClipboard() OVERRIDE
;
54 virtual blink::WebThemeEngine
* OverrideThemeEngine() OVERRIDE
;
55 virtual bool AllowBrowserPlugin(
56 blink::WebPluginContainer
* container
) OVERRIDE
;
59 void WebTestProxyCreated(RenderView
* render_view
,
60 WebTestRunner::WebTestProxyBase
* proxy
);
62 scoped_ptr
<ShellRenderProcessObserver
> shell_observer_
;
63 scoped_ptr
<MockWebClipboardImpl
> clipboard_
;
66 } // namespace content
68 #endif // CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_