Backed out 16 changesets (bug 1815369, bug 1804678, bug 1510802, bug 1265827, bug 1531812, bug 1531087, bug 1813147, bug 1815248, bug 1278299, bug 1808989) for causing build bustages on PeerConnectionImpl.cpp CLOSED TREE

Backed out changeset ed64251d7fc6 (bug 1804678)
Backed out changeset 62130501686f (bug 1804678)
Backed out changeset 7b6a4b55d6f7 (bug 1278299)
Backed out changeset d454deae329b (bug 1278299)
Backed out changeset cc4c2ac428b0 (bug 1531812)
Backed out changeset 56af0158f35f (bug 1815369)
Backed out changeset 6e36d750e4e1 (bug 1808989)
Backed out changeset d69211c46c57 (bug 1808989)
Backed out changeset 67b457f83b21 (bug 1510802)
Backed out changeset 19435dddb76d (bug 1510802)
Backed out changeset b8dca8a4e260 (bug 1510802)
Backed out changeset a9ba1293f158 (bug 1815248)
Backed out changeset 0bf440baea51 (bug 1531087)
Backed out changeset b5567371a9b3 (bug 1813147)
Backed out changeset 56f00875890b (bug 1265827)
Backed out changeset 0dba91984a39 (bug 1265827)

gecko-commit: 7b385abd39b4e149ad0be8fa5158bf49e51d5789
diff --git a/webrtc/RTCPeerConnection-onnegotiationneeded.html b/webrtc/RTCPeerConnection-onnegotiationneeded.html
index 6ede5cc..a87551a 100644
--- a/webrtc/RTCPeerConnection-onnegotiationneeded.html
+++ b/webrtc/RTCPeerConnection-onnegotiationneeded.html
@@ -386,172 +386,6 @@
   }, 'Calling setStreams should cause negotiationneeded to fire');
 
   promise_test(async t => {
-    const pc = new RTCPeerConnection();
-    t.add_cleanup(() => pc.close());
-
-    const transceiver = pc.addTransceiver('audio', {direction:'sendrecv'});
-    const stream = new MediaStream();
-    transceiver.sender.setStreams(stream);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-
-    const offer = await pc.createOffer();
-    await pc.setLocalDescription(offer);
-    const answer = await generateAnswer(offer);
-    await pc.setRemoteDescription(answer);
-
-    const stream2 = new MediaStream();
-    transceiver.sender.setStreams(stream2);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-  }, 'Calling setStreams with a different stream as before should cause negotiationneeded to fire');
-
-  promise_test(async t => {
-    const pc = new RTCPeerConnection();
-    t.add_cleanup(() => pc.close());
-
-    const transceiver = pc.addTransceiver('audio', {direction:'sendrecv'});
-    const stream = new MediaStream();
-    transceiver.sender.setStreams(stream);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-
-    const offer = await pc.createOffer();
-    await pc.setLocalDescription(offer);
-    const answer = await generateAnswer(offer);
-    await pc.setRemoteDescription(answer);
-
-    const stream2 = new MediaStream();
-    transceiver.sender.setStreams(stream, stream2);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-  }, 'Calling setStreams with an additional stream should cause negotiationneeded to fire');
-
-  promise_test(async t => {
-    const pc = new RTCPeerConnection();
-    t.add_cleanup(() => pc.close());
-
-    const transceiver = pc.addTransceiver('audio', {direction:'sendrecv'});
-    const stream1 = new MediaStream();
-    const stream2 = new MediaStream();
-    transceiver.sender.setStreams(stream1, stream2);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-
-    const offer = await pc.createOffer();
-    await pc.setLocalDescription(offer);
-    const answer = await generateAnswer(offer);
-    await pc.setRemoteDescription(answer);
-
-    transceiver.sender.setStreams(stream2);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-  }, 'Calling setStreams with a stream removed should cause negotiationneeded to fire');
-
-  promise_test(async t => {
-    const pc = new RTCPeerConnection();
-    t.add_cleanup(() => pc.close());
-
-    const transceiver = pc.addTransceiver('audio', {direction:'sendrecv'});
-    const stream1 = new MediaStream();
-    const stream2 = new MediaStream();
-    transceiver.sender.setStreams(stream1, stream2);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-
-    const offer = await pc.createOffer();
-    await pc.setLocalDescription(offer);
-    const answer = await generateAnswer(offer);
-    await pc.setRemoteDescription(answer);
-
-    transceiver.sender.setStreams();
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-  }, 'Calling setStreams with all streams removed should cause negotiationneeded to fire');
-
-  promise_test(async t => {
-    const pc = new RTCPeerConnection();
-    t.add_cleanup(() => pc.close());
-
-    const transceiver = pc.addTransceiver('audio', {direction:'sendrecv'});
-    const stream = new MediaStream();
-    transceiver.sender.setStreams(stream);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-
-    const offer = await pc.createOffer();
-    await pc.setLocalDescription(offer);
-    const answer = await generateAnswer(offer);
-    await pc.setRemoteDescription(answer);
-
-    transceiver.sender.setStreams(stream);
-    const event = await Promise.race([
-      new Promise(r => pc.onnegotiationneeded = r),
-      new Promise(r => t.step_timeout(r, 10))
-    ]);
-    assert_equals(event, undefined, "No negotiationneeded event");
-  }, 'Calling setStreams with the same stream as before should not cause negotiationneeded to fire');
-
-  promise_test(async t => {
-    const pc = new RTCPeerConnection();
-    t.add_cleanup(() => pc.close());
-
-    const transceiver = pc.addTransceiver('audio', {direction:'sendrecv'});
-    const stream = new MediaStream();
-    transceiver.sender.setStreams(stream);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-
-    const offer = await pc.createOffer();
-    await pc.setLocalDescription(offer);
-    const answer = await generateAnswer(offer);
-    await pc.setRemoteDescription(answer);
-
-    transceiver.sender.setStreams(stream, stream);
-    const event = await Promise.race([
-      new Promise(r => pc.onnegotiationneeded = r),
-      new Promise(r => t.step_timeout(r, 10))
-    ]);
-    assert_equals(event, undefined, "No negotiationneeded event");
-  }, 'Calling setStreams with duplicates of the same stream as before should not cause negotiationneeded to fire');
-
-  promise_test(async t => {
-    const pc = new RTCPeerConnection();
-    t.add_cleanup(() => pc.close());
-
-    const transceiver = pc.addTransceiver('audio', {direction:'sendrecv'});
-    const stream1 = new MediaStream();
-    const stream2 = new MediaStream();
-    transceiver.sender.setStreams(stream1, stream2);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-
-    const offer = await pc.createOffer();
-    await pc.setLocalDescription(offer);
-    const answer = await generateAnswer(offer);
-    await pc.setRemoteDescription(answer);
-
-    transceiver.sender.setStreams(stream2, stream1);
-    const event = await Promise.race([
-      new Promise(r => pc.onnegotiationneeded = r),
-      new Promise(r => t.step_timeout(r, 10))
-    ]);
-    assert_equals(event, undefined, "No negotiationneeded event");
-  }, 'Calling setStreams with the same streams as before in a different order should not cause negotiationneeded to fire');
-
-  promise_test(async t => {
-    const pc = new RTCPeerConnection();
-    t.add_cleanup(() => pc.close());
-
-    const transceiver = pc.addTransceiver('audio', {direction:'sendrecv'});
-    const stream1 = new MediaStream();
-    const stream2 = new MediaStream();
-    transceiver.sender.setStreams(stream1, stream2);
-    await new Promise(resolve => pc.onnegotiationneeded = resolve);
-
-    const offer = await pc.createOffer();
-    await pc.setLocalDescription(offer);
-    const answer = await generateAnswer(offer);
-    await pc.setRemoteDescription(answer);
-
-    transceiver.sender.setStreams(stream1, stream2, stream1);
-    const event = await Promise.race([
-      new Promise(r => pc.onnegotiationneeded = r),
-      new Promise(r => t.step_timeout(r, 10))
-    ]);
-    assert_equals(event, undefined, "No negotiationneeded event");
-  }, 'Calling setStreams with duplicates of the same streams as before should not cause negotiationneeded to fire');
-
-  promise_test(async t => {
     const pc1 = new RTCPeerConnection();
     t.add_cleanup(() => pc1.close());
     const pc2 = new RTCPeerConnection();