| Index: chrome/browser/media/webrtc_browsertest.cc
|
| diff --git a/chrome/browser/media/webrtc_browsertest.cc b/chrome/browser/media/webrtc_browsertest.cc
|
| index 8d6398b6a8e2e6c5ab0e6df6d60cae48e2e50d38..f6ec1da19b742cf14fdd00f725dcc06d67440856 100644
|
| --- a/chrome/browser/media/webrtc_browsertest.cc
|
| +++ b/chrome/browser/media/webrtc_browsertest.cc
|
| @@ -23,6 +23,12 @@
|
| static const char kMainWebrtcTestHtmlPage[] =
|
| "/webrtc/webrtc_jsep01_test.html";
|
|
|
| +static const char kKeygenAlgorithmRSA[] =
|
| + "{ name: \"RSASSA-PKCS1-v1_5\", modulusLength: 2048, publicExponent: "
|
| + "new Uint8Array([1, 0, 1]), hash: \"SHA-256\" }";
|
| +static const char kKeygenAlgorithmECDSA[] =
|
| + "{ name: \"ECDSA\", namedCurve: \"P-256\" }";
|
| +
|
| // Top-level integration test for WebRTC. It always uses fake devices; see
|
| // WebRtcWebcamBrowserTest for a test that acquires any real webcam on the
|
| // system.
|
| @@ -41,6 +47,8 @@ class WebRtcBrowserTest : public WebRtcTestBase {
|
|
|
| // Flag used by TestWebAudioMediaStream to force garbage collection.
|
| command_line->AppendSwitchASCII(switches::kJavaScriptFlags, "--expose-gc");
|
| +
|
| + // command_line->AppendSwitch("expose-internals-for-testing");
|
| }
|
|
|
| void RunsAudioVideoWebRTCCallInTwoTabs(
|
| @@ -77,16 +85,39 @@ class WebRtcBrowserTest : public WebRtcTestBase {
|
| IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| RunsAudioVideoWebRTCCallInTwoTabsRSACertificate) {
|
| RunsAudioVideoWebRTCCallInTwoTabs(
|
| - "{ name: \"RSASSA-PKCS1-v1_5\", modulusLength: 2048, publicExponent: "
|
| - "new Uint8Array([1, 0, 1]), hash: \"SHA-256\" }",
|
| - WebRtcTestBase::kUseDefaultVideoCodec);
|
| + kKeygenAlgorithmRSA, WebRtcTestBase::kUseDefaultVideoCodec);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| RunsAudioVideoWebRTCCallInTwoTabsECDSACertificate) {
|
| RunsAudioVideoWebRTCCallInTwoTabs(
|
| - "{ name: \"ECDSA\", namedCurve: \"P-256\" }",
|
| - WebRtcTestBase::kUseDefaultVideoCodec);
|
| + kKeygenAlgorithmECDSA, WebRtcTestBase::kUseDefaultVideoCodec);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| + RTCCertificateIndexedDBCloningRSA) {
|
| + ASSERT_TRUE(embedded_test_server()->Start());
|
| + content::WebContents* tab =
|
| + OpenTestPageAndGetUserMediaInNewTab(kMainWebrtcTestHtmlPage);
|
| +
|
| + DeleteDatabase(tab);
|
| + OpenDatabase(tab);
|
| + GenerateAndCloneCertificate(tab, kKeygenAlgorithmRSA);
|
| + CloseDatabase(tab);
|
| + DeleteDatabase(tab);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
| + RTCCertificateIndexedDBCloningECDSA) {
|
| + ASSERT_TRUE(embedded_test_server()->Start());
|
| + content::WebContents* tab =
|
| + OpenTestPageAndGetUserMediaInNewTab(kMainWebrtcTestHtmlPage);
|
| +
|
| + DeleteDatabase(tab);
|
| + OpenDatabase(tab);
|
| + GenerateAndCloneCertificate(tab, kKeygenAlgorithmECDSA);
|
| + CloseDatabase(tab);
|
| + DeleteDatabase(tab);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(WebRtcBrowserTest,
|
|
|