1 // Copyright 2013 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_RENDERER_TEST_RUNNER_WEB_TEST_INTERFACES_H_
6 #define CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_TEST_INTERFACES_H_
8 #include "base/memory/scoped_ptr.h"
11 class WebAppBannerClient
;
14 class WebMediaStreamCenter
;
15 class WebMediaStreamCenterClient
;
16 class WebMIDIAccessor
;
17 class WebMIDIAccessorClient
;
18 class WebRTCPeerConnectionHandler
;
19 class WebRTCPeerConnectionHandlerClient
;
28 class WebTestDelegate
;
29 class WebTestProxyBase
;
32 class WebTestInterfaces
{
37 void SetWebView(blink::WebView
* web_view
, WebTestProxyBase
* proxy
);
38 void SetDelegate(WebTestDelegate
* delegate
);
39 void BindTo(blink::WebFrame
* frame
);
41 void SetTestIsRunning(bool running
);
42 void ConfigureForTestWithURL(const blink::WebURL
& test_url
,
43 bool generate_pixels
);
45 WebTestRunner
* TestRunner();
46 blink::WebThemeEngine
* ThemeEngine();
48 blink::WebMediaStreamCenter
* CreateMediaStreamCenter(
49 blink::WebMediaStreamCenterClient
* client
);
50 blink::WebRTCPeerConnectionHandler
* CreateWebRTCPeerConnectionHandler(
51 blink::WebRTCPeerConnectionHandlerClient
* client
);
53 blink::WebMIDIAccessor
* CreateMIDIAccessor(
54 blink::WebMIDIAccessorClient
* client
);
56 blink::WebAudioDevice
* CreateAudioDevice(double sample_rate
);
58 scoped_ptr
<blink::WebAppBannerClient
> CreateAppBannerClient();
60 TestInterfaces
* GetTestInterfaces();
63 scoped_ptr
<TestInterfaces
> interfaces_
;
65 DISALLOW_COPY_AND_ASSIGN(WebTestInterfaces
);
68 } // namespace content
70 #endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_TEST_INTERFACES_H_