| Index: chrome/browser/media/webrtc_browsertest.cc
|
| diff --git a/chrome/browser/media/webrtc_browsertest.cc b/chrome/browser/media/webrtc_browsertest.cc
|
| index c7defc6cb69f38498f909373170a12aa6a45b242..54f062053e8b9b701f1dde71289f02870a215795 100644
|
| --- a/chrome/browser/media/webrtc_browsertest.cc
|
| +++ b/chrome/browser/media/webrtc_browsertest.cc
|
| @@ -81,35 +81,46 @@ class WebRtcBrowserTest : public WebRtcTestBase {
|
| HangUp(left_tab);
|
| HangUp(right_tab);
|
| }
|
| -};
|
|
|
| -IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| - RunsAudioVideoWebRTCCallInTwoTabsOfferRsaAnswerRsa) {
|
| - RunsAudioVideoWebRTCCallInTwoTabs(WebRtcTestBase::kUseDefaultVideoCodec,
|
| - kKeygenAlgorithmRsa,
|
| - kKeygenAlgorithmRsa);
|
| -}
|
| + void RunsAudioVideoWebRTCCallInTwoTabsWithClonedCertificate(
|
| + const std::string& cert_keygen_alg =
|
| + WebRtcTestBase::kUseDefaultCertKeygen) {
|
| + if (OnWinXp()) return;
|
|
|
| -IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| - RunsAudioVideoWebRTCCallInTwoTabsOfferEcdsaAnswerEcdsa) {
|
| - RunsAudioVideoWebRTCCallInTwoTabs(WebRtcTestBase::kUseDefaultVideoCodec,
|
| - kKeygenAlgorithmEcdsa,
|
| - kKeygenAlgorithmEcdsa);
|
| -}
|
| + ASSERT_TRUE(embedded_test_server()->Start());
|
|
|
| -IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| - RunsAudioVideoWebRTCCallInTwoTabsOfferRsaAnswerEcdsa) {
|
| - RunsAudioVideoWebRTCCallInTwoTabs(WebRtcTestBase::kUseDefaultVideoCodec,
|
| - kKeygenAlgorithmRsa,
|
| - kKeygenAlgorithmEcdsa);
|
| -}
|
| + content::WebContents* left_tab =
|
| + OpenTestPageAndGetUserMediaInNewTab(kMainWebrtcTestHtmlPage);
|
| + content::WebContents* right_tab =
|
| + OpenTestPageAndGetUserMediaInNewTab(kMainWebrtcTestHtmlPage);
|
|
|
| -IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| - RunsAudioVideoWebRTCCallInTwoTabsOfferEcdsaAnswerRsa) {
|
| - RunsAudioVideoWebRTCCallInTwoTabs(WebRtcTestBase::kUseDefaultVideoCodec,
|
| - kKeygenAlgorithmEcdsa,
|
| - kKeygenAlgorithmRsa);
|
| -}
|
| + // Generate and clone a certificate, resulting in JavaScript variable
|
| + // |gCertificateClone| being set to the resulting clone.
|
| + DeleteDatabase(left_tab);
|
| + OpenDatabase(left_tab);
|
| + GenerateAndCloneCertificate(left_tab, cert_keygen_alg);
|
| + CloseDatabase(left_tab);
|
| + DeleteDatabase(left_tab);
|
| +
|
| + SetupPeerconnectionWithCertificateAndLocalStream(
|
| + left_tab, "gCertificateClone");
|
| + SetupPeerconnectionWithLocalStream(right_tab, cert_keygen_alg);
|
| +
|
| + NegotiateCall(left_tab, right_tab, WebRtcTestBase::kUseDefaultVideoCodec);
|
| +
|
| + StartDetectingVideo(left_tab, "remote-view");
|
| + StartDetectingVideo(right_tab, "remote-view");
|
| +
|
| +#if !defined(OS_MACOSX)
|
| + // Video is choppy on Mac OS X. http://crbug.com/443542.
|
| + WaitForVideoToPlay(left_tab);
|
| + WaitForVideoToPlay(right_tab);
|
| +#endif
|
| +
|
| + HangUp(left_tab);
|
| + HangUp(right_tab);
|
| + }
|
| +};
|
|
|
| IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| RunsAudioVideoWebRTCCallInTwoTabsVP8) {
|
| @@ -153,3 +164,43 @@ IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest, TestWebAudioMediaStream) {
|
|
|
| ASSERT_FALSE(tab->IsCrashed());
|
| }
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| + RunsAudioVideoWebRTCCallInTwoTabsOfferRsaAnswerRsa) {
|
| + RunsAudioVideoWebRTCCallInTwoTabs(WebRtcTestBase::kUseDefaultVideoCodec,
|
| + kKeygenAlgorithmRsa,
|
| + kKeygenAlgorithmRsa);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| + RunsAudioVideoWebRTCCallInTwoTabsOfferEcdsaAnswerEcdsa) {
|
| + RunsAudioVideoWebRTCCallInTwoTabs(WebRtcTestBase::kUseDefaultVideoCodec,
|
| + kKeygenAlgorithmEcdsa,
|
| + kKeygenAlgorithmEcdsa);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| + RunsAudioVideoWebRTCCallInTwoTabsOfferRsaAnswerEcdsa) {
|
| + RunsAudioVideoWebRTCCallInTwoTabs(WebRtcTestBase::kUseDefaultVideoCodec,
|
| + kKeygenAlgorithmRsa,
|
| + kKeygenAlgorithmEcdsa);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| + RunsAudioVideoWebRTCCallInTwoTabsOfferEcdsaAnswerRsa) {
|
| + RunsAudioVideoWebRTCCallInTwoTabs(WebRtcTestBase::kUseDefaultVideoCodec,
|
| + kKeygenAlgorithmEcdsa,
|
| + kKeygenAlgorithmRsa);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(
|
| + WebRtcBrowserTest,
|
| + RunsAudioVideoWebRTCCallInTwoTabsWithClonedCertificateRsa) {
|
| + RunsAudioVideoWebRTCCallInTwoTabsWithClonedCertificate(kKeygenAlgorithmRsa);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(
|
| + WebRtcBrowserTest,
|
| + RunsAudioVideoWebRTCCallInTwoTabsWithClonedCertificateEcdsa) {
|
| + RunsAudioVideoWebRTCCallInTwoTabsWithClonedCertificate(kKeygenAlgorithmEcdsa);
|
| +}
|
|
|