Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / content / shell / renderer / test_runner / WebTestInterfaces.h
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.
4
5 #ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTESTINTERFACES_H_
6 #define CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTESTINTERFACES_H_
7
8 #include "base/memory/scoped_ptr.h"
9
10 namespace blink {
11 class WebAudioDevice;
12 class WebFrame;
13 class WebMediaStreamCenter;
14 class WebMediaStreamCenterClient;
15 class WebMIDIAccessor;
16 class WebMIDIAccessorClient;
17 class WebRTCPeerConnectionHandler;
18 class WebRTCPeerConnectionHandlerClient;
19 class WebThemeEngine;
20 class WebURL;
21 class WebView;
22 }
23
24 namespace content {
25
26 class TestInterfaces;
27 class WebTestDelegate;
28 class WebTestProxyBase;
29 class WebTestRunner;
30
31 class WebTestInterfaces {
32 public:
33     WebTestInterfaces();
34     ~WebTestInterfaces();
35
36     void setWebView(blink::WebView*, WebTestProxyBase*);
37     void setDelegate(WebTestDelegate*);
38     void bindTo(blink::WebFrame*);
39     void resetAll();
40     void setTestIsRunning(bool);
41     void configureForTestWithURL(const blink::WebURL&, bool generatePixels);
42
43     WebTestRunner* testRunner();
44     blink::WebThemeEngine* themeEngine();
45
46     blink::WebMediaStreamCenter* createMediaStreamCenter(blink::WebMediaStreamCenterClient*);
47     blink::WebRTCPeerConnectionHandler* createWebRTCPeerConnectionHandler(blink::WebRTCPeerConnectionHandlerClient*);
48
49     blink::WebMIDIAccessor* createMIDIAccessor(blink::WebMIDIAccessorClient*);
50
51     blink::WebAudioDevice* createAudioDevice(double sampleRate);
52
53     TestInterfaces* testInterfaces();
54
55 private:
56     scoped_ptr<TestInterfaces> m_interfaces;
57 };
58
59 }  // namespace content
60
61 #endif  // CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTESTINTERFACES_H_