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 RenderViewCreated(RenderView* render_view) OVERRIDE;
38 virtual bool OverrideCreatePlugin(
39 RenderView* render_view,
40 WebKit::WebFrame* frame,
41 const WebKit::WebPluginParams& params,
42 WebKit::WebPlugin** plugin) OVERRIDE;
43 virtual WebKit::WebMediaStreamCenter* OverrideCreateWebMediaStreamCenter(
44 WebKit::WebMediaStreamCenterClient* client) OVERRIDE;
45 virtual WebKit::WebRTCPeerConnectionHandler*
46 OverrideCreateWebRTCPeerConnectionHandler(
47 WebKit::WebRTCPeerConnectionHandlerClient* client) OVERRIDE;
48 virtual WebKit::WebMIDIAccessor* OverrideCreateMIDIAccessor(
49 WebKit::WebMIDIAccessorClient* client) OVERRIDE;
50 virtual WebKit::WebAudioDevice* OverrideCreateAudioDevice(
51 double sample_rate) OVERRIDE;
52 virtual WebKit::WebClipboard* OverrideWebClipboard() OVERRIDE;
53 virtual WebKit::WebThemeEngine* OverrideThemeEngine() OVERRIDE;
54 virtual bool AllowBrowserPlugin(
55 WebKit::WebPluginContainer* container) OVERRIDE;
58 void WebTestProxyCreated(RenderView* render_view,
59 WebTestRunner::WebTestProxyBase* proxy);
61 scoped_ptr<ShellRenderProcessObserver> shell_observer_;
62 scoped_ptr<MockWebClipboardImpl> clipboard_;
65 } // namespace content
67 #endif // CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_