- add sources.
[platform/framework/web/crosswalk.git] / src / content / shell / renderer / shell_content_renderer_client.h
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.
4
5 #ifndef CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_
6 #define CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_
7
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"
12
13 namespace WebKit {
14 class WebFrame;
15 class WebPlugin;
16 struct WebPluginParams;
17 }
18
19 namespace WebTestRunner {
20 class WebTestProxyBase;
21 }
22
23 namespace content {
24
25 class MockWebClipboardImpl;
26 class ShellRenderProcessObserver;
27
28 class ShellContentRendererClient : public ContentRendererClient {
29  public:
30   static ShellContentRendererClient* Get();
31
32   ShellContentRendererClient();
33   virtual ~ShellContentRendererClient();
34
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;
56
57  private:
58    void WebTestProxyCreated(RenderView* render_view,
59                             WebTestRunner::WebTestProxyBase* proxy);
60
61   scoped_ptr<ShellRenderProcessObserver> shell_observer_;
62   scoped_ptr<MockWebClipboardImpl> clipboard_;
63 };
64
65 }  // namespace content
66
67 #endif  // CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_