• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_
62