blob: 763c6d7f31c38663a7ac7362ad8ea97580259157 [file] [log] [blame]
abhishek.a21bdd07a82014-09-25 06:34:101// 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.
4
jochen73e711c2015-06-03 10:01:465#ifndef COMPONENTS_TEST_RUNNER_WEB_TEST_INTERFACES_H_
6#define COMPONENTS_TEST_RUNNER_WEB_TEST_INTERFACES_H_
abhishek.a21bdd07a82014-09-25 06:34:107
8#include "base/memory/scoped_ptr.h"
9
10namespace blink {
benwells0c0d3f12015-05-25 01:03:1711class WebAppBannerClient;
abhishek.a21bdd07a82014-09-25 06:34:1012class WebAudioDevice;
13class WebFrame;
14class WebMediaStreamCenter;
15class WebMediaStreamCenterClient;
16class WebMIDIAccessor;
17class WebMIDIAccessorClient;
18class WebRTCPeerConnectionHandler;
19class WebRTCPeerConnectionHandlerClient;
20class WebThemeEngine;
21class WebURL;
22class WebView;
23}
24
25namespace content {
26
27class TestInterfaces;
28class WebTestDelegate;
29class WebTestProxyBase;
30class WebTestRunner;
31
32class WebTestInterfaces {
33 public:
34 WebTestInterfaces();
35 ~WebTestInterfaces();
36
37 void SetWebView(blink::WebView* web_view, WebTestProxyBase* proxy);
38 void SetDelegate(WebTestDelegate* delegate);
39 void BindTo(blink::WebFrame* frame);
40 void ResetAll();
41 void SetTestIsRunning(bool running);
42 void ConfigureForTestWithURL(const blink::WebURL& test_url,
43 bool generate_pixels);
44
45 WebTestRunner* TestRunner();
46 blink::WebThemeEngine* ThemeEngine();
47
48 blink::WebMediaStreamCenter* CreateMediaStreamCenter(
49 blink::WebMediaStreamCenterClient* client);
50 blink::WebRTCPeerConnectionHandler* CreateWebRTCPeerConnectionHandler(
51 blink::WebRTCPeerConnectionHandlerClient* client);
52
53 blink::WebMIDIAccessor* CreateMIDIAccessor(
54 blink::WebMIDIAccessorClient* client);
55
56 blink::WebAudioDevice* CreateAudioDevice(double sample_rate);
57
benwells0c0d3f12015-05-25 01:03:1758 scoped_ptr<blink::WebAppBannerClient> CreateAppBannerClient();
59
abhishek.a21bdd07a82014-09-25 06:34:1060 TestInterfaces* GetTestInterfaces();
61
62 private:
63 scoped_ptr<TestInterfaces> interfaces_;
64
65 DISALLOW_COPY_AND_ASSIGN(WebTestInterfaces);
66};
67
68} // namespace content
69
jochen73e711c2015-06-03 10:01:4670#endif // COMPONENTS_TEST_RUNNER_WEB_TEST_INTERFACES_H_