- From: Jan-Ivar Bruaroey via GitHub <sysbot+gh@w3.org>
- Date: Thu, 18 Jan 2024 21:09:17 +0000
- To: public-webrtc@w3.org
jan-ivar has just created a new issue for https://github.com/w3c/webrtc-pc: == Consider making RTCIceCandidatePair an interface == Currently, [RTCIceCandidatePair](https://w3c.github.io/webrtc-pc/#dom-rtcicecandidatepair) is a dictionary containing two interfaces: ```webidl dictionary RTCIceCandidatePair { RTCIceCandidate local; RTCIceCandidate remote; }; ``` This seems like a mistake, allowing JS to compose invalid pairs and pass them as inputs. Valid pairs are [formed](https://w3c.github.io/webrtc-extensions/#dfn-form) exclusively by the ICE Agent, a reality better expressed by a more restrictive contract: ```webidl [Exposed=Window] interface RTCIceCandidatePair { readonly attribute RTCIceCandidate local; readonly attribute RTCIceCandidate remote; }; ``` This would benefit web developers by enforcing an invariant, and spec writers by improved WebIDL type checking, simpler algorithms, and even simpler APIs in the future. I believe this should be mostly backwards compatible since all APIs that take pairs expect valid ones. cc @sam-vi I propose we make this change. Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/2930 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 18 January 2024 21:09:19 UTC