Roll PDFium 24fbf13..fdc8f43
[chromium-blink-merge.git] / components / test_runner / web_test_interfaces.h
blob40562685020805a3e4c6d285f57bbcba8df96651
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"
11 namespace blink {
12 class WebAppBannerClient;
13 class WebAudioDevice;
14 class WebFrame;
15 class WebMediaStreamCenter;
16 class WebMediaStreamCenterClient;
17 class WebMIDIAccessor;
18 class WebMIDIAccessorClient;
19 class WebRTCPeerConnectionHandler;
20 class WebRTCPeerConnectionHandlerClient;
21 class WebThemeEngine;
22 class WebURL;
23 class WebView;
26 namespace test_runner {
28 class AppBannerClient;
29 class TestInterfaces;
30 class WebTestDelegate;
31 class WebTestProxyBase;
32 class WebTestRunner;
34 class TEST_RUNNER_EXPORT WebTestInterfaces {
35 public:
36 WebTestInterfaces();
37 ~WebTestInterfaces();
39 void SetWebView(blink::WebView* web_view, WebTestProxyBase* proxy);
40 void SetDelegate(WebTestDelegate* delegate);
41 void BindTo(blink::WebFrame* frame);
42 void ResetAll();
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();
65 private:
66 scoped_ptr<TestInterfaces> interfaces_;
68 DISALLOW_COPY_AND_ASSIGN(WebTestInterfaces);
71 } // namespace test_runner
73 #endif // COMPONENTS_TEST_RUNNER_WEB_TEST_INTERFACES_H_