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

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

Issue 2721163002: Add support for RTCConfiguration.iceCandidatePoolSize. (Closed)
Patch Set: Merge with master 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
index 9bf30de1e0555fc5129f80b3643eee7bbaf0c37a..8a896c15db4863d6b0d5800d8fcbe47ddc49ddac 100644
--- a/content/test/data/media/peerconnection-setConfiguration.html
+++ b/content/test/data/media/peerconnection-setConfiguration.html
@@ -22,7 +22,12 @@
function testSetConfiguration() {
gPeerConnection = new RTCPeerConnection(
{iceServers:[], iceTransportPolicy:'all', bundlePolicy:'balanced',
- rtcpMuxPolicy:'require', certificates:[]});
+ rtcpMuxPolicy:'require', certificates:[], iceCandidatePoolSize:0});
+ // Change ICE candidate pool size, which will succeed before
+ // setLocalDescription is called.
+ gPeerConnection.setConfiguration(
+ {iceServers:[], iceTransportPolicy:'all', bundlePolicy:'balanced',
+ rtcpMuxPolicy:'require', certificates:[], iceCandidatePoolSize:1});
// 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.
@@ -38,7 +43,7 @@
// Policy changed.
gPeerConnection.setConfiguration(
{iceServers:[], iceTransportPolicy:'relay', bundlePolicy:'balanced',
- rtcpMuxPolicy:'require', certificates:[]});
+ rtcpMuxPolicy:'require', certificates:[], iceCandidatePoolSize:1});
createOfferAndSetLocalDescription();
}
}
@@ -49,7 +54,8 @@
// Servers changed.
gPeerConnection.setConfiguration(
{iceServers:[{urls:'stun:foo.invalid'}], iceTransportPolicy:'all',
- bundlePolicy:'balanced', rtcpMuxPolicy:'require', certificates:[]});
+ bundlePolicy:'balanced', rtcpMuxPolicy:'require', certificates:[],
+ iceCandidatePoolSize:1});
createOfferAndSetLocalDescription();
}
}
@@ -80,13 +86,13 @@
function continueTestSetConfigurationErrors() {
gPeerConnection = new RTCPeerConnection(
{iceServers:[], iceTransportPolicy:'all', bundlePolicy:'balanced',
- rtcpMuxPolicy:'require', certificates:[]});
+ rtcpMuxPolicy:'require', certificates:[], iceCandidatePoolSize:1});
// If bundlePolicy, rtcpMuxPolicy or certificates are changed, an
// InvalidModificationError should be thrown.
assertThrows(gPeerConnection.setConfiguration,
{iceServers:[], iceTransportPolicy:'all',
bundlePolicy:'max-bundle', rtcpMuxPolicy:'require',
- certificates:[]});
+ certificates:[], iceCandidatePoolSize:1});
assertThrows(gPeerConnection.setConfiguration,
{iceServers:[], iceTransportPolicy:'all',
bundlePolicy:'balanced', rtcpMuxPolicy:'negotiate',
@@ -94,23 +100,46 @@
assertThrows(gPeerConnection.setConfiguration,
{iceServers:[], iceTransportPolicy:'all',
bundlePolicy:'balanced', rtcpMuxPolicy:'require',
- certificates:[gCertificate]});
+ certificates:[gCertificate], iceCandidatePoolSize:1});
// Failure to parse URL should result in SyntaxError.
assertThrows(gPeerConnection.setConfiguration,
{iceServers:[{url:'stunnnn:foo.invalid'}],
iceTransportPolicy:'all', bundlePolicy:'max-bundle',
- rtcpMuxPolicy:'require', certificates:[]});
+ rtcpMuxPolicy:'require', certificates:[],
+ iceCandidatePoolSize:1});
// 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:[]});
+ rtcpMuxPolicy:'require', certificates:[],
+ iceCandidatePoolSize:1});
// 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();
+ rtcpMuxPolicy:'require', certificates:[], iceCandidatePoolSize:1});
+ // Lastly: only after applying a local description, changing the candidate
+ // pool size is not allowed.
+ gPeerConnection.createOffer({offerToReceiveAudio:1})
+ .then(function(offer) {
+ console.log("Setting offer:\n" + offer.sdp);
+ gPeerConnection.setLocalDescription(offer).then(
+ function() {
+ // Pool size absent, which means it should default to 0, which is
+ // different than its current value of 1.
+ assertThrows(gPeerConnection.setConfiguration,
+ {iceServers:[], iceTransportPolicy:'all',
+ bundlePolicy:'balanced', rtcpMuxPolicy:'require',
+ certificates:[]});
+ reportTestSuccess();
+ },
+ function() { failTest('Failed to set local description.') }
+ );
+ },
+ function() {
+ failTest('Failed to generate offer.')
+ }
+ );
}
function assertThrows(func) {

Powered by Google App Engine
This is Rietveld 408576698