#ifndef CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_
#define CONTENT_SHELL_SHELL_CONTENT_RENDERER_CLIENT_H_
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "base/platform_file.h"
#include "content/public/renderer/content_renderer_client.h"
namespace blink {
class WebFrame;
class WebPlugin;
struct WebPluginParams;
}
namespace WebTestRunner {
class WebTestProxyBase;
}
namespace content {
class MockWebClipboardImpl;
class ShellRenderProcessObserver;
class ShellContentRendererClient : public ContentRendererClient {
public:
ShellContentRendererClient();
virtual ~ShellContentRendererClient();
virtual void RenderThreadStarted() OVERRIDE;
virtual void RenderFrameCreated(RenderFrame* render_frame) OVERRIDE;
virtual void RenderViewCreated(RenderView* render_view) OVERRIDE;
virtual bool OverrideCreatePlugin(
RenderFrame* render_frame,
blink::WebFrame* frame,
const blink::WebPluginParams& params,
blink::WebPlugin** plugin) OVERRIDE;
virtual blink::WebMediaStreamCenter* OverrideCreateWebMediaStreamCenter(
blink::WebMediaStreamCenterClient* client) OVERRIDE;
virtual blink::WebRTCPeerConnectionHandler*
OverrideCreateWebRTCPeerConnectionHandler(
blink::WebRTCPeerConnectionHandlerClient* client) OVERRIDE;
virtual blink::WebMIDIAccessor* OverrideCreateMIDIAccessor(
blink::WebMIDIAccessorClient* client) OVERRIDE;
virtual blink::WebAudioDevice* OverrideCreateAudioDevice(
double sample_rate) OVERRIDE;
virtual blink::WebClipboard* OverrideWebClipboard() OVERRIDE;
virtual blink::WebThemeEngine* OverrideThemeEngine() OVERRIDE;
virtual bool AllowBrowserPlugin(
blink::WebPluginContainer* container) OVERRIDE;
private:
void WebTestProxyCreated(RenderView* render_view,
WebTestRunner::WebTestProxyBase* proxy);
scoped_ptr<ShellRenderProcessObserver> shell_observer_;
scoped_ptr<MockWebClipboardImpl> clipboard_;
};
}
#endif