Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1345)

Unified Diff: chrome/browser/media/webrtc_browsertest.cc

Issue 1949033002: Ability to persist RTCCertificate in IndexedDB (enables cloning). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/media/webrtc_browsertest_base.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
+}
« no previous file with comments | « no previous file | chrome/browser/media/webrtc_browsertest_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698