<!DOCTYPE HTML> <html> <head> <script type="application/javascript" src="pc.js"></script> </head> <body> <pre id="test"> <script type="application/javascript"> createHTML({ bug: "952145", title: "Rollback local reoffer" }); var test; runNetworkTest(function (options) { test = new PeerConnectionTest(options); addRenegotiation(test.chain, [ function PC_LOCAL_ADD_SECOND_STREAM(test) { test.setMediaConstraints([{audio: true}, {audio: true}], [{audio: true}]); return test.pcLocal.getAllUserMedia([{audio: true}]); }, function PC_REMOTE_SETUP_ICE_HANDLER(test) { test.pcRemote.setupIceCandidateHandler(test); if (test.testOptions.steeplechase) { test.pcRemote.endOfTrickleIce.then(() => { send_message({"type": "end_of_trickle_ice"}); }); } }, function PC_REMOTE_CREATE_AND_SET_OFFER(test) { return test.createOffer(test.pcRemote).then(offer => { return test.setLocalDescription(test.pcRemote, offer, HAVE_LOCAL_OFFER); }); }, function PC_REMOTE_ROLLBACK(test) { return test.setLocalDescription( test.pcRemote, new RTCSessionDescription({ type: "rollback", sdp: ""}), STABLE); }, // Rolling back should shut down gathering function PC_REMOTE_WAIT_FOR_END_OF_TRICKLE(test) { return test.pcRemote.endOfTrickleIce; }, ]); test.setMediaConstraints([{audio: true}], [{audio: true}]); test.run(); }); </script> </pre> </body> </html>