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 "content/public/renderer/content_renderer_client.h"
15 struct WebPluginParams
;
20 class MockWebClipboardImpl
;
21 class ShellRenderProcessObserver
;
22 class WebTestProxyBase
;
24 class ShellContentRendererClient
: public ContentRendererClient
{
26 ShellContentRendererClient();
27 virtual ~ShellContentRendererClient();
29 // ContentRendererClient implementation.
30 virtual void RenderThreadStarted() OVERRIDE
;
31 virtual void RenderFrameCreated(RenderFrame
* render_frame
) OVERRIDE
;
32 virtual void RenderViewCreated(RenderView
* render_view
) OVERRIDE
;
33 virtual bool OverrideCreatePlugin(
34 RenderFrame
* render_frame
,
35 blink::WebLocalFrame
* frame
,
36 const blink::WebPluginParams
& params
,
37 blink::WebPlugin
** plugin
) OVERRIDE
;
38 virtual blink::WebMediaStreamCenter
* OverrideCreateWebMediaStreamCenter(
39 blink::WebMediaStreamCenterClient
* client
) OVERRIDE
;
40 virtual blink::WebRTCPeerConnectionHandler
*
41 OverrideCreateWebRTCPeerConnectionHandler(
42 blink::WebRTCPeerConnectionHandlerClient
* client
) OVERRIDE
;
43 virtual blink::WebMIDIAccessor
* OverrideCreateMIDIAccessor(
44 blink::WebMIDIAccessorClient
* client
) OVERRIDE
;
45 virtual blink::WebAudioDevice
* OverrideCreateAudioDevice(
46 double sample_rate
) OVERRIDE
;
47 virtual blink::WebClipboard
* OverrideWebClipboard() OVERRIDE
;
48 virtual blink::WebThemeEngine
* OverrideThemeEngine() OVERRIDE
;
49 virtual bool IsPluginAllowedToUseCompositorAPI(const GURL
& url
) OVERRIDE
;
50 virtual bool IsPluginAllowedToUseVideoDecodeAPI(const GURL
& url
) OVERRIDE
;
51 virtual bool IsPluginAllowedToUseDevChannelAPIs() 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_