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
;
23 namespace webkit_glue
{
24 class MockWebHyphenator
;
27 class MockWebClipboardImpl
;
28 class TestShellWebMimeRegistryImpl
;
32 class ShellRenderProcessObserver
;
34 class ShellContentRendererClient
: public ContentRendererClient
{
36 static ShellContentRendererClient
* Get();
38 ShellContentRendererClient();
39 virtual ~ShellContentRendererClient();
41 void LoadHyphenDictionary(base::PlatformFile dict_file
);
43 // ContentRendererClient implementation.
44 virtual void RenderThreadStarted() OVERRIDE
;
45 virtual void RenderViewCreated(RenderView
* render_view
) OVERRIDE
;
46 virtual bool OverrideCreatePlugin(
47 RenderView
* render_view
,
48 WebKit::WebFrame
* frame
,
49 const WebKit::WebPluginParams
& params
,
50 WebKit::WebPlugin
** plugin
) OVERRIDE
;
51 virtual WebKit::WebMediaStreamCenter
* OverrideCreateWebMediaStreamCenter(
52 WebKit::WebMediaStreamCenterClient
* client
) OVERRIDE
;
53 virtual WebKit::WebRTCPeerConnectionHandler
*
54 OverrideCreateWebRTCPeerConnectionHandler(
55 WebKit::WebRTCPeerConnectionHandlerClient
* client
) OVERRIDE
;
56 virtual WebKit::WebClipboard
* OverrideWebClipboard() OVERRIDE
;
57 virtual WebKit::WebMimeRegistry
* OverrideWebMimeRegistry() OVERRIDE
;
58 virtual WebKit::WebHyphenator
* OverrideWebHyphenator() OVERRIDE
;
59 virtual WebKit::WebThemeEngine
* OverrideThemeEngine() OVERRIDE
;
60 virtual bool AllowBrowserPlugin(
61 WebKit::WebPluginContainer
* container
) const OVERRIDE
;
64 void WebTestProxyCreated(RenderView
* render_view
,
65 WebTestRunner::WebTestProxyBase
* proxy
);
67 scoped_ptr
<ShellRenderProcessObserver
> shell_observer_
;
68 scoped_ptr
<MockWebClipboardImpl
> clipboard_
;
69 scoped_ptr
<TestShellWebMimeRegistryImpl
> mime_registry_
;
70 scoped_ptr
<webkit_glue::MockWebHyphenator
> hyphenator_
;
73 } // namespace content
75 #endif // CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_