| <!doctype html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>Testing ICE candidate filtering when using data channel</title> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script> |
| promise_test(async (test) => { |
| let pc = new RTCPeerConnection(); |
| pc.createDataChannel('sendDataChannel'); |
| let offer = await pc.createOffer(); |
| pc.setLocalDescription(offer); |
| // This test is a bit racy, we are trying to have network process crash between the time it receives a monitor start request and the time it answers that request. |
| if (window.testRunner && testRunner.terminateNetworkProcess) |
| setTimeout(() => testRunner.terminateNetworkProcess(), 0); |
| |
| await fetch(".").then(() => { }, () => { }); |
| |
| let pc2 = new RTCPeerConnection(); |
| pc2.createDataChannel('sendDataChannel'); |
| |
| const iceCandidatePromise = new Promise(r => pc2.onicecandidate = r); |
| |
| offer = await pc2.createOffer(); |
| pc2.setLocalDescription(offer); |
| return iceCandidatePromise; |
| }, "Gathering ICE candidates from a data channel while network process is crashing"); |
| </script> |
| </body> |
| </html> |