Chromium Code Reviews| Index: content/test/data/media/peerconnection-call.html |
| diff --git a/content/test/data/media/peerconnection-call.html b/content/test/data/media/peerconnection-call.html |
| index c2acbdcd44d48ff42e88c8f56048f2b189e59615..87a3c0b13ea30c67275cbe95d8e7047f8cf166f6 100644 |
| --- a/content/test/data/media/peerconnection-call.html |
| +++ b/content/test/data/media/peerconnection-call.html |
| @@ -9,6 +9,8 @@ |
| var gFirstConnection = null; |
| var gSecondConnection = null; |
| var gTestWithoutMsidAndBundle = false; |
| + var gTestNonCrypto = false; |
|
phoglund_chromium
2013/11/04 09:34:56
You don't need these. See more below.
|
| + var gTestUnsupportedVideoCodec = false; |
| var gLocalStream = null; |
| var gSentTones = ''; |
| @@ -98,6 +100,22 @@ |
| waitForVideo('remote-view-2'); |
| } |
| +// Test that we can't setup a call with an unsupported video codec |
|
phoglund_chromium
2013/11/04 09:34:56
Nit: indentation
elham
2013/11/07 23:48:00
Done.
|
| + function negotiateUnsupportedVideoCodec() { |
| + createConnections(null); |
| + gTestUnsupportedVideoCodec = true; |
| + navigator.webkitGetUserMedia({audio:true, video:true}, |
| + addStreamToBothConnectionsAndNegotiate, printGetUserMediaError); |
|
phoglund_chromium
2013/11/04 09:34:56
It's weird to pass in addStreamToBothConnectionsAn
elham
2013/11/07 23:48:00
No GetUserMedia had nothing to do with offer.sdp a
phoglund_chromium
2013/11/08 09:17:29
You are right: my bad.
|
| + } |
| + |
| + // Test that we can't setup a call if one peer does not support encryption |
| + function negotiateNonCryptoCall() { |
| + createConnections(null); |
| + gTestNonCrypto = true; |
| + navigator.webkitGetUserMedia({audio: true, video: true}, |
| + addStreamToBothConnectionsAndNegotiate, printGetUserMediaError); |
| + } |
| + |
| // Test only a data channel. |
| function callWithDataOnly() { |
| createConnections({optional:[{RtpDataChannels: true}]}); |
| @@ -387,6 +405,28 @@ |
| document.title = 'getUserMedia request failed with code ' + error.code; |
| } |
| + // Called if setLocaDescription fails. |
|
phoglund_chromium
2013/11/04 09:34:56
Nit: setLocalDescription.
elham
2013/11/07 23:48:00
I still need this, since I wanted to check if we g
|
| + function printLocalDescriptionError(error) { |
|
phoglund_chromium
2013/11/04 09:34:56
It's misleading to call this function printLocalDe
phoglund_chromium
2013/11/08 09:17:29
Oh, you are right again. You are passing this call
|
| + if ((gTestUnsupportedVideoCodec == true) && |
| + (error=='SetLocalDescription failed: Failed to update session state:' |
| + +'ERROR_CONTENT', error)) { |
| + document.title = 'OK'; |
| + gTestUnsupportedVideoCodec = false; |
| + } |
| + if ((gTestNonCrypto == true) && |
| + (error=='SetLocalDescription failed: Called with a SDP without crypto' |
| + +'enabled', error)) { |
| + document.title = 'OK'; |
| + gTestNonCrypto = false; |
| + } |
| + } |
| + |
| + // Called if setLocalDescription success |
|
phoglund_chromium
2013/11/04 09:34:56
This doesn't seem to be used.
elham
2013/11/07 23:48:00
It will be used every time setLocalDescription suc
phoglund_chromium
2013/11/08 09:17:29
Yes, except you pass in the error handler function
|
| + function printLocalDescriptionSuccess(error) { |
| + document.title = 'setLocalDescription Success' |
| + } |
| + |
| + |
| // Called if getUserMedia succeeds and we want to send from both connections. |
| function addStreamToBothConnectionsAndNegotiate(localStream) { |
| displayAndRemember(localStream); |
| @@ -467,7 +507,16 @@ |
| caller.createOffer( |
| function (offer) { |
| - caller.setLocalDescription(offer); |
| + if (gTestNonCrypto) { |
|
phoglund_chromium
2013/11/04 09:34:56
Good news and bad news: bemasc@ just refactored th
elham
2013/11/07 23:48:00
Done.
|
| + offer.sdp = offer.sdp.replace(/a=crypto.*\r\n/g, 'a=Xcrypto\r\n'); |
| + offer.sdp = offer.sdp.replace(/a=fingerprint.*\r\n/g, ''); |
| + } |
| + if (gTestUnsupportedVideoCodec) { |
| + offer.sdp = offer.sdp.replace('a=rtpmap:100 VP8/90000\r\n', |
| + 'a=rtpmap:100 XVP8/90000\r\n'); |
| + } |
| + caller.setLocalDescription(offer, printLocalDescriptionSuccess, |
| + printLocalDescriptionError); |
| expectEquals('have-local-offer', caller.signalingState); |
| receiveOffer(offer.sdp, caller, callee); |
| }); |
| @@ -506,6 +555,7 @@ |
| if (gTestWithoutMsidAndBundle) { |
| answerSdp = removeMsidAndBundle(answerSdp); |
| } |
| + |
| var parsedAnswer = new RTCSessionDescription({ type: 'answer', |
| sdp: answerSdp }); |
| caller.setRemoteDescription(parsedAnswer); |