• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "content/public/renderer/content_renderer_client.h"
11 
12 namespace blink {
13 class WebFrame;
14 class WebPlugin;
15 struct WebPluginParams;
16 }
17 
18 namespace web_cache {
19 class WebCacheRenderProcessObserver;
20 }
21 
22 namespace content {
23 
24 class MockWebClipboardImpl;
25 class ShellRenderProcessObserver;
26 class WebTestProxyBase;
27 
28 class ShellContentRendererClient : public ContentRendererClient {
29  public:
30   ShellContentRendererClient();
31   virtual ~ShellContentRendererClient();
32 
33   // ContentRendererClient implementation.
34   virtual void RenderThreadStarted() OVERRIDE;
35   virtual void RenderFrameCreated(RenderFrame* render_frame) OVERRIDE;
36   virtual void RenderViewCreated(RenderView* render_view) OVERRIDE;
37   virtual bool OverrideCreatePlugin(
38       RenderFrame* render_frame,
39       blink::WebLocalFrame* frame,
40       const blink::WebPluginParams& params,
41       blink::WebPlugin** plugin) OVERRIDE;
42   virtual blink::WebMediaStreamCenter* OverrideCreateWebMediaStreamCenter(
43       blink::WebMediaStreamCenterClient* client) OVERRIDE;
44   virtual blink::WebRTCPeerConnectionHandler*
45   OverrideCreateWebRTCPeerConnectionHandler(
46       blink::WebRTCPeerConnectionHandlerClient* client) OVERRIDE;
47   virtual blink::WebMIDIAccessor* OverrideCreateMIDIAccessor(
48       blink::WebMIDIAccessorClient* client) OVERRIDE;
49   virtual blink::WebAudioDevice* OverrideCreateAudioDevice(
50       double sample_rate) OVERRIDE;
51   virtual blink::WebClipboard* OverrideWebClipboard() OVERRIDE;
52   virtual blink::WebThemeEngine* OverrideThemeEngine() OVERRIDE;
53   virtual bool IsPluginAllowedToUseCompositorAPI(const GURL& url) OVERRIDE;
54   virtual bool IsPluginAllowedToUseVideoDecodeAPI(const GURL& url) OVERRIDE;
55   virtual bool IsPluginAllowedToUseDevChannelAPIs() OVERRIDE;
56 
57  private:
58   void WebTestProxyCreated(RenderView* render_view, WebTestProxyBase* proxy);
59 
60   scoped_ptr<web_cache::WebCacheRenderProcessObserver> web_cache_observer_;
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_
68