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 COMPONENTS_TEST_RUNNER_WEB_TEST_INTERFACES_H_
6 #define COMPONENTS_TEST_RUNNER_WEB_TEST_INTERFACES_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "components/test_runner/test_runner_export.h"
12 class WebAppBannerClient
;
15 class WebMediaStreamCenter
;
16 class WebMediaStreamCenterClient
;
17 class WebMIDIAccessor
;
18 class WebMIDIAccessorClient
;
19 class WebRTCPeerConnectionHandler
;
20 class WebRTCPeerConnectionHandlerClient
;
26 namespace test_runner
{
28 class AppBannerClient
;
30 class WebTestDelegate
;
31 class WebTestProxyBase
;
34 class TEST_RUNNER_EXPORT WebTestInterfaces
{
39 void SetWebView(blink::WebView
* web_view
, WebTestProxyBase
* proxy
);
40 void SetDelegate(WebTestDelegate
* delegate
);
41 void BindTo(blink::WebFrame
* frame
);
43 void SetTestIsRunning(bool running
);
44 void ConfigureForTestWithURL(const blink::WebURL
& test_url
,
45 bool generate_pixels
);
47 WebTestRunner
* TestRunner();
48 blink::WebThemeEngine
* ThemeEngine();
50 blink::WebMediaStreamCenter
* CreateMediaStreamCenter(
51 blink::WebMediaStreamCenterClient
* client
);
52 blink::WebRTCPeerConnectionHandler
* CreateWebRTCPeerConnectionHandler(
53 blink::WebRTCPeerConnectionHandlerClient
* client
);
55 blink::WebMIDIAccessor
* CreateMIDIAccessor(
56 blink::WebMIDIAccessorClient
* client
);
58 blink::WebAudioDevice
* CreateAudioDevice(double sample_rate
);
60 scoped_ptr
<blink::WebAppBannerClient
> CreateAppBannerClient();
61 AppBannerClient
* GetAppBannerClient();
63 TestInterfaces
* GetTestInterfaces();
66 scoped_ptr
<TestInterfaces
> interfaces_
;
68 DISALLOW_COPY_AND_ASSIGN(WebTestInterfaces
);
71 } // namespace test_runner
73 #endif // COMPONENTS_TEST_RUNNER_WEB_TEST_INTERFACES_H_