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

Unified Diff: content/test/data/media/peerconnection-setConfiguration.html

Issue 2706563003: Create the API that returns the RTCConfiguration of the PeerConnection.
Patch Set: rebaselining again Created 3 years, 9 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
Index: content/test/data/media/peerconnection-setConfiguration.html
diff --git a/content/test/data/media/peerconnection-setConfiguration.html b/content/test/data/media/peerconnection-setConfiguration.html
deleted file mode 100644
index 9bf30de1e0555fc5129f80b3643eee7bbaf0c37a..0000000000000000000000000000000000000000
--- a/content/test/data/media/peerconnection-setConfiguration.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<html>
-<head>
- <script type="text/javascript" src="webrtc_test_utilities.js"></script>
- <script type="text/javascript" src="webrtc_test_common.js"></script>
- <script type="text/javascript">
- $ = function(id) {
- return document.getElementById(id);
- };
-
- window.onerror = function(errorMsg, url, lineNumber, column, errorObj) {
- failTest('Error: ' + errorMsg + '\nScript: ' + url +
- '\nLine: ' + lineNumber + '\nColumn: ' + column +
- '\nStackTrace: ' + errorObj);
- }
-
- var gPeerConnection = null;
- var gCertificate = null;
-
- // This test creates and sets three offers, calling setConfiguration in
- // between each offer, expecting an ICE restart to be triggered by the next
- // offer.
- function testSetConfiguration() {
- gPeerConnection = new RTCPeerConnection(
- {iceServers:[], iceTransportPolicy:'all', bundlePolicy:'balanced',
- rtcpMuxPolicy:'require', certificates:[]});
- // Now test successful cases of setConfiguration. Changes should trigger an
- // ICE restart in the next offer. To do this, first we need to trigger an
- // initial ICE gathering phase and wait until it completes.
- // TODO(deadbeef): Once onicegatheringstatechange is implemented, use that
- // instead of a "null" candidate.
- gPeerConnection.onicecandidate = iceCandidateCallback1;
- createOfferAndSetLocalDescription();
- }
-
- function iceCandidateCallback1(candidate) {
- if (gPeerConnection.iceGatheringState === 'complete') {
- gPeerConnection.onicecandidate = iceCandidateCallback2;
- // Policy changed.
- gPeerConnection.setConfiguration(
- {iceServers:[], iceTransportPolicy:'relay', bundlePolicy:'balanced',
- rtcpMuxPolicy:'require', certificates:[]});
- createOfferAndSetLocalDescription();
- }
- }
-
- function iceCandidateCallback2(candidate) {
- if (gPeerConnection.iceGatheringState === 'complete') {
- gPeerConnection.onicecandidate = iceCandidateCallback3;
- // Servers changed.
- gPeerConnection.setConfiguration(
- {iceServers:[{urls:'stun:foo.invalid'}], iceTransportPolicy:'all',
- bundlePolicy:'balanced', rtcpMuxPolicy:'require', certificates:[]});
- createOfferAndSetLocalDescription();
- }
- }
-
- function iceCandidateCallback3(candidate) {
- // Only wait for 'gathering', since it will take a while for the requests to
- // 'foo.invalid' to time out.
- if (gPeerConnection.iceGatheringState === 'gathering') {
- reportTestSuccess();
- }
- }
-
- function testSetConfigurationErrors() {
- // Generate certificate so we can test the InvalidModificationError from
- // attempting to change certificates.
- RTCPeerConnection.generateCertificate({ name:'ECDSA', namedCurve:'P-256' })
- .then(function(certificate) {
- gCertificate = certificate;
- continueTestSetConfigurationErrors();
- },
- function() {
- failTest('Failed to generate certificate.');
- }
- );
- }
-
- // Continued after certificate generated.
- function continueTestSetConfigurationErrors() {
- gPeerConnection = new RTCPeerConnection(
- {iceServers:[], iceTransportPolicy:'all', bundlePolicy:'balanced',
- rtcpMuxPolicy:'require', certificates:[]});
- // If bundlePolicy, rtcpMuxPolicy or certificates are changed, an
- // InvalidModificationError should be thrown.
- assertThrows(gPeerConnection.setConfiguration,
- {iceServers:[], iceTransportPolicy:'all',
- bundlePolicy:'max-bundle', rtcpMuxPolicy:'require',
- certificates:[]});
- assertThrows(gPeerConnection.setConfiguration,
- {iceServers:[], iceTransportPolicy:'all',
- bundlePolicy:'balanced', rtcpMuxPolicy:'negotiate',
- certificates:[]});
- assertThrows(gPeerConnection.setConfiguration,
- {iceServers:[], iceTransportPolicy:'all',
- bundlePolicy:'balanced', rtcpMuxPolicy:'require',
- certificates:[gCertificate]});
- // Failure to parse URL should result in SyntaxError.
- assertThrows(gPeerConnection.setConfiguration,
- {iceServers:[{url:'stunnnn:foo.invalid'}],
- iceTransportPolicy:'all', bundlePolicy:'max-bundle',
- rtcpMuxPolicy:'require', certificates:[]});
- // TURN server with missing username should result in InvalidAccessError.
- assertThrows(gPeerConnection.setConfiguration,
- {iceServers:[{url:'turn:foo.invalid'}],
- iceTransportPolicy:'all', bundlePolicy:'max-bundle',
- rtcpMuxPolicy:'require', certificates:[]});
- // Sanity check that a configuration can be successfully set, and thus
- // there's not something unexpected causing the above exceptions.
- gPeerConnection.setConfiguration(
- {iceServers:[], iceTransportPolicy:'all', bundlePolicy:'balanced',
- rtcpMuxPolicy:'require', certificates:[]});
- reportTestSuccess();
- }
-
- function assertThrows(func) {
- try {
- func.apply(arguments.slice(start=1));
- failTest('Expected exception to be thrown by: ' + code);
- } catch (e) {
- }
- }
-
- // Helper function to create and apply offer.
- function createOfferAndSetLocalDescription() {
- gPeerConnection.createOffer({offerToReceiveAudio:1})
- .then(function(offer) {
- console.log("Setting offer:\n" + offer.sdp);
- gPeerConnection.setLocalDescription(offer).then(
- function() {},
- function() { failTest('Failed to set local description.') }
- );
- },
- function() {
- failTest('Failed to generate offer.')
- }
- );
- }
-
- </script>
-</head>
-<body>
-</body>
-</html>

Powered by Google App Engine
This is Rietveld 408576698