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