Click here to download the Blitz Browser!

WPT

wpt / webrtc-ice / RTCIceTransport-extension.https.html

Spec: IceTransport Extensions for WebRTC ↗

Runs: Chrome 155.0.8042.0 (wpt@168cb0286, 2026-09-04) | Firefox 157.0a1 (wpt@1b4bc17cf, 2026-09-04) | Safari 251 preview (wpt@e7122b73f, 2026-09-04) | Ladybird 1.0-17043 (wpt@25681acff, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)

View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi

ChromeFirefoxSafariLadybirdServoBlitz
Total0/310/310/310/310/31NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
RTCIceTransport constructor does not throwFAILFAILFAILFAILFAIL
RTCIceTransport initial properties are setFAILFAILFAILFAILFAIL
gather() with { iceServers: null } should throw TypeErrorFAILFAILFAILFAILFAIL
gather() with { iceServers: undefined } should succeedFAILFAILFAILFAILFAIL
gather() with one turns server, one turn server, username, credential should succeedFAILFAILFAILFAILFAIL
gather() with 2 stun servers should succeedFAILFAILFAILFAILFAIL
gather() throws if closedFAILFAILFAILFAILFAIL
gather() transitions gatheringState to 'gathering'FAILFAILFAILFAILFAIL
gather() throws if called twiceFAILFAILFAILFAILFAIL
eventually transition gatheringState to 'complete'FAILFAILFAILFAILFAIL
onicecandidate fires with null candidate before gatheringState transitions to 'complete'FAILFAILFAILFAILFAIL
gather() returns at least one host candidateFAILFAILFAILFAILFAIL
gather() returns no candidates with { gatherPolicy: 'relay'} and no turn serversFAILFAILFAILFAILFAIL
start() throws if closedFAILFAILFAILFAILFAIL
start() throws if usernameFragment or password not setFAILFAILFAILFAILFAIL
start() throws if usernameFragment does not conform to syntaxFAILFAILFAILFAILFAIL
start() throws if password does not conform to syntaxFAILFAILFAILFAILFAIL
start() does not transition state to 'checking' if no remote candidates addedFAILFAILFAILFAILFAIL
start() with default role sets role attribute to 'controlled'FAILFAILFAILFAILFAIL
start() sets role attribute to 'controlling'FAILFAILFAILFAILFAIL
addRemoteCandidate() throws if closedFAILFAILFAIL
addRemoteCandidate() throws on invalid candidateFAILFAILFAIL
start() transitions state to 'checking' if one remote candidate had been addedFAILFAILFAIL
addRemoteCandidate() transitions state to 'checking' if start() had been called beforeFAILFAILFAIL
start() throws if later called with a different roleFAILFAILFAIL
start() flushes remote candidates and transitions state to 'new' if later called with different remote parametersFAILFAILFAIL
Two RTCIceTransports connect to each otherFAILFAILFAIL
Two RTCIceTransports configured with the controlling role resolve the conflict in band and still connect.FAILFAILFAIL
Two RTCIceTransports configured with the controlled role resolve the conflict in band and still connect.FAILFAILFAIL
Selected candidate pair changes once the RTCIceTransports connect.FAILFAILFAIL
getSelectedCandidatePair() returns null once the RTCIceTransport is stopped.FAILFAILFAIL