Re: [webrtc-tests] Adding a basic no-media call that uses promises. (#1824)

Jan-Ivar, your thinking is muddy.

Re candidate probes failing: You'll notice this particular little piece of the log from your jsfiddle:

ICE-PEER(PC:1431938029319833 (id=21 url=http://localhost:8000/webrtc/promises-call.html?usePrefixes=1):default)/CAND-PAIR(REBC): triggered check on REBC|IP4:192.168.1.17:52671/UDP|IP4:192.168.1.17:46491/UDP(host(IP4:192.168.1.17:52671/UDP)|prflx)
ICE-PEER(PC:1431938029381961 (id=21 url=http://localhost:8000/webrtc/promises-call.html?usePrefixes=1):default)/CAND-PAIR(vC9l): triggered check on vC9l|IP4:192.168.1.17:46491/UDP|IP4:192.168.1.17:52671/UDP(host(IP4:192.168.1.17:46491/UDP)|candidate:0 1 UDP 2122252543 192.168.1.17 52671 typ host)
ICE-PEER(PC:1431938029319833 (id=21 url=http://localhost:8000/webrtc/promises-call.html?usePrefixes=1):default)/CAND-PAIR(REBC): triggered check on REBC|IP4:192.168.1.17:52671/UDP|IP4:192.168.1.17:46491/UDP(host(IP4:192.168.1.17:52671/UDP)|prflx)
ICE-PEER(PC:1431938029381961 (id=21 url=http://localhost:8000/webrtc/promises-call.html?usePrefixes=1):default)/CAND-PAIR(vC9l): triggered check on vC9l|IP4:192.168.1.17:46491/UDP|IP4:192.168.1.17:52671/UDP(host(IP4:192.168.1.17:46491/UDP)|candidate:0 1 UDP 2122252543 192.168.1.17 52671 typ host)
ICE-PEER(PC:1431938029319833 (id=21 url=http://localhost:8000/webrtc/promises-call.html?usePrefixes=1):default)/CAND-PAIR(REBC): setting pair to state SUCCEEDED: REBC|IP4:192.168.1.17:52671/UDP|IP4:192.168.1.17:46491/UDP(host(IP4:192.168.1.17:52671/UDP)|prflx)

How many probes were sent?
(You don't include timestamps in your log, so it's hard to see the timing of what happened here.)

You say "JSEP effectively prohibits onicecandidate from being called prior to the setLocalDescription callback, because a naive web application would otherwise send its candidates before it sends its offer, which JSEP prohibits." - if you want the API to have this restriction, then make that part of the spec. And JSEP doesn't prohibit what you say it prohibits - JSEP doesn't care - and *should* not care - how or when the application chooses to send its data.

What might make sense to prohibit is to call AddIceCandidate if there is no remoteDescription. And lo and behold, there is a restriction here, but not this one: "If this RTCPeerConnection object's signaling state is closed, the user agent must reject p with InvalidStateError, and jump to the step labeled Return."

Summary: The spec doesn't say what you claim it says. If you think it should say what you claim it says, file a bug. Until then, a test that exercises a legal sequence of transitions is a valid test of the current specification.

All that yelled .... I'll still switch away from using Promise.all in this test. Not because it's in any way, shape or form illegal, immoral or hazardous, but because the test could be copied into places where it might matter.


View on GitHub: https://github.com/w3c/web-platform-tests/pull/1824#issuecomment-103638006

Received on Tuesday, 19 May 2015 19:15:56 UTC