I’d like to propose that we support the use of a "notes"
section at the topmost level of a BCD file. This would let us provide general notes about the support level or compatibility of an API, which would be especially useful for newer APIs or those where browsers have substantial implementation differences that need to be considered.
For instance, at this time, the WebRTC statistics APIs are implemented wildly differently across the browsers. By the spec, the RTCRtpSender.setParameters()
method’s input object is of type RTCRtpSendParameters
, but Firefox instead uses the RTCRtpParameters
type (which by the spec is the parent class of RTCRtpSendParameters
.
One of the members of the RTCRtpSendParameters
class is, in Firefox, instead found in RTCRtpParameters
. Chrome, on the other hand, implements RTCRtpSendParameters
and RTCRtpEncodingParameters
, but the properties are strewn around among them so that many are not in the right place. And of course, all the browsers have properties they don’t support at all.
As a result, this dictionary deserves to have a note on it along the lines of "Due to the ongoing development of browser support for WebRTC, browser handling of WebRTC parameter objects varies widely, with properties sometimes defined in different dictionaries than described. These are noted here, but be sure to watch out for them."
Not only could this note then be used on MDN, but it would be helpful for others using our data, because they could get this helpful information for free along with the rest of the data.
All it would take is allowing something like this:
{
"api": {
"RTCRtpEncodingParameters": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/RTCRtpEncodingParameters",
"notes": "Due to the ongoing development... etc."
...
Thoughts?