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