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 CHROME_BROWSER_MEDIA_WEBRTC_BROWSERTEST_BASE_H_
6 #define CHROME_BROWSER_MEDIA_WEBRTC_BROWSERTEST_BASE_H_
10 #include "chrome/test/base/in_process_browser_test.h"
16 class MediaStreamInfoBarDelegate;
18 // Base class for WebRTC browser tests with useful primitives for interacting
19 // getUserMedia. We use inheritance here because it makes the test code look
20 // as clean as it can be.
21 class WebRtcTestBase : public InProcessBrowserTest {
23 // Typical constraints.
24 static const char kAudioVideoCallConstraints[];
25 static const char kAudioOnlyCallConstraints[];
26 static const char kVideoOnlyCallConstraints[];
28 static const char kFailedWithPermissionDeniedError[];
31 virtual ~WebRtcTestBase();
33 void GetUserMediaAndAccept(content::WebContents* tab_contents) const;
34 void GetUserMediaWithSpecificConstraintsAndAccept(
35 content::WebContents* tab_contents,
36 const std::string& constraints) const;
37 void GetUserMediaAndDeny(content::WebContents* tab_contents);
38 void GetUserMediaWithSpecificConstraintsAndDeny(
39 content::WebContents* tab_contents,
40 const std::string& constraints) const;
41 void GetUserMediaAndDismiss(content::WebContents* tab_contents) const;
42 void GetUserMedia(content::WebContents* tab_contents,
43 const std::string& constraints) const;
45 content::WebContents* OpenPageAndAcceptUserMedia(const GURL& url) const;
47 void ConnectToPeerConnectionServer(const std::string& peer_name,
48 content::WebContents* tab_contents) const;
49 std::string ExecuteJavascript(const std::string& javascript,
50 content::WebContents* tab_contents) const;
53 void CloseInfoBarInTab(content::WebContents* tab_contents,
54 MediaStreamInfoBarDelegate* infobar) const;
55 MediaStreamInfoBarDelegate* GetUserMediaAndWaitForInfoBar(
56 content::WebContents* tab_contents,
57 const std::string& constraints) const;
59 DISALLOW_COPY_AND_ASSIGN(WebRtcTestBase);
62 #endif // CHROME_BROWSER_MEDIA_WEBRTC_BROWSERTEST_BASE_H_