Expose RTCPeerConnection and related interfaces (currently [NoInterfaceObject] + window.RTCPeerConnection) |
||||||||||
Issue description
These are the currently exposed things in Chrome 53, as tested with Object.getOwnPropertyNames(window).filter(name => name.includes('RTC')):
webkitRTCPeerConnection
RTCCertificate
RTCIceCandidate
RTCSessionDescription
Firefox 50 has:
RTCPeerConnection
RTCStatsReport
mozRTCPeerConnection
RTCPeerConnectionIceEvent
RTCSessionDescription
mozRTCSessionDescription
RTCTrackEvent
RTCCertificate
RTCDataChannelEvent
RTCIceCandidate
mozRTCIceCandidate
RTCRtpReceiver
RTCRtpSender
Edge 14 has:
RTCDTMFToneChangeEvent
RTCStatsProvider
RTCDtlsTransport
RTCDtlsTransportStateChangedEvent
RTCDtmfSender
RTCIceCandidatePairChangedEvent
RTCIceGatherer
RTCIceGathererEvent
RTCIceTransport
RTCIceTransportStateChangedEvent
RTCRtpReceiver
RTCRtpSender
RTCSrtpSdesTransport
RTCSsrcConflictEvent
The things in the spec that seem ripe to expose in Blink are:
RTCPeerConnection (in Firefox)
RTCDTMFToneChangeEvent (in Edge)
RTCDataChannel (nowhere yet)
RTCDataChannelEvent (in Firefox, odd)
RTCDTMFSender is called RTCDtmfSender in Edge and so it's worth considering if the name should change to match that. There are 22 hits in HTTP Archive, originating from something called twilio:
https://github.com/twilio/ortc-adapter/blob/7831cfbdb069749fcb98d79e2f0c5d263a7beccf/lib/rtcpeerconnection.js#L530
,
Sep 22 2016
Anyone eager to expose some interfaces?
,
Sep 22 2016
There are two spec issues around the events that would be best to resolve before exposing their constructors: https://github.com/w3c/webrtc-pc/issues/816 https://github.com/w3c/webrtc-pc/issues/817
,
Sep 26 2016
,
Sep 27 2016
Oh, looks like RTCDtmfSender is from http://draft.ortc.org/#rtcdtmfsender*, I've filed https://github.com/w3c/ortc/issues/601
,
Sep 30 2016
At this time, I think it would be fine to expose RTCPeerConnection, RTCDataChannel and RTCDataChannelEvent, waiting with *DTMF* until https://github.com/w3c/ortc/issues/601 is resolved in one way or another. Any takers?
,
Oct 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e70c6e15ba896a2e88d0dc05f1a20fb3d4befabf commit e70c6e15ba896a2e88d0dc05f1a20fb3d4befabf Author: foolip <foolip@chromium.org> Date: Thu Oct 13 01:43:50 2016 Sync RTCDataChannel and RTCPeerConnection IDL with spec No observable changes are intended. BUG= 460722 , 649343 R=guidou@chromium.org Review-Url: https://codereview.chromium.org/2413703002 Cr-Commit-Position: refs/heads/master@{#424933} [modify] https://crrev.com/e70c6e15ba896a2e88d0dc05f1a20fb3d4befabf/third_party/WebKit/Source/core/frame/UseCounter.h [modify] https://crrev.com/e70c6e15ba896a2e88d0dc05f1a20fb3d4befabf/third_party/WebKit/Source/modules/peerconnection/RTCDataChannel.idl [modify] https://crrev.com/e70c6e15ba896a2e88d0dc05f1a20fb3d4befabf/third_party/WebKit/Source/modules/peerconnection/RTCDataChannelEvent.idl [modify] https://crrev.com/e70c6e15ba896a2e88d0dc05f1a20fb3d4befabf/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp [modify] https://crrev.com/e70c6e15ba896a2e88d0dc05f1a20fb3d4befabf/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.h [modify] https://crrev.com/e70c6e15ba896a2e88d0dc05f1a20fb3d4befabf/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.idl [modify] https://crrev.com/e70c6e15ba896a2e88d0dc05f1a20fb3d4befabf/tools/metrics/histograms/histograms.xml
,
Oct 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/15d04a3473cb60cba6ceb7205353df67642126f7 commit 15d04a3473cb60cba6ceb7205353df67642126f7 Author: foolip <foolip@chromium.org> Date: Fri Oct 21 17:47:11 2016 Merge RTCConfiguration into WebRTCConfiguration This makes WebRTCConfiguration into a data struct instead of wrapping a RTCConfiguration. The motivation for this is to introduce RTCConfiguration as an IDL dictionary, at which point the extra layer starts to look unnecessary. BUG= 649343 Review-Url: https://chromiumcodereview.appspot.com/2415673003 Cr-Commit-Position: refs/heads/master@{#426836} [modify] https://crrev.com/15d04a3473cb60cba6ceb7205353df67642126f7/content/renderer/media/rtc_peer_connection_handler.cc [modify] https://crrev.com/15d04a3473cb60cba6ceb7205353df67642126f7/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp [modify] https://crrev.com/15d04a3473cb60cba6ceb7205353df67642126f7/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.h [modify] https://crrev.com/15d04a3473cb60cba6ceb7205353df67642126f7/third_party/WebKit/Source/platform/BUILD.gn [delete] https://crrev.com/ff8dfc8dad9f98b4022c1108335820204fee3c70/third_party/WebKit/Source/platform/exported/WebRTCConfiguration.cpp [delete] https://crrev.com/ff8dfc8dad9f98b4022c1108335820204fee3c70/third_party/WebKit/Source/platform/peerconnection/RTCConfiguration.h [modify] https://crrev.com/15d04a3473cb60cba6ceb7205353df67642126f7/third_party/WebKit/public/platform/WebRTCConfiguration.h [modify] https://crrev.com/15d04a3473cb60cba6ceb7205353df67642126f7/third_party/WebKit/public/platform/WebRTCPeerConnectionHandler.h
,
Oct 21 2016
,
Oct 21 2016
,
Oct 24 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/379271912cc80682629cc26c7199f89841e3c038 commit 379271912cc80682629cc26c7199f89841e3c038 Author: foolip <foolip@chromium.org> Date: Mon Oct 24 14:08:43 2016 Convert Dictionary handling to RTCConfiguration IDL dictionary This preserves behavior as far as possible and adds use counters for cases that aren't per spec. One intentional change is that the first argument of the RTCPeerConnection constructor is made optional, as that is a very low risk change, and requiring the dictionary makes no sense when providing null, undefined and {iceServers:[]} already work. Without custom bindings it is unfortunately not possible to distinguish {certificates:null} from no certificates specified, so that is not measured. BUG= 649343 Review-Url: https://codereview.chromium.org/2442763002 Cr-Commit-Position: refs/heads/master@{#427065} [modify] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-expected.txt [modify] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection.html [modify] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/third_party/WebKit/Source/core/frame/UseCounter.h [modify] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/third_party/WebKit/Source/modules/modules_idl_files.gni [add] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/third_party/WebKit/Source/modules/peerconnection/RTCConfiguration.idl [add] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/third_party/WebKit/Source/modules/peerconnection/RTCIceServer.idl [modify] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp [modify] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.h [modify] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.idl [modify] https://crrev.com/379271912cc80682629cc26c7199f89841e3c038/tools/metrics/histograms/histograms.xml
,
Oct 25 2016
These are the *RTC* interfaces supported by EdgeHTML 15.14951: RTCDTMFToneChangeEvent RTCStatsProvider RTCDtlsTransport RTCDtlsTransportStateChangedEvent RTCDtmfSender RTCIceCandidate RTCIceCandidatePairChangedEvent RTCIceGatherer RTCIceGathererEvent RTCIceTransport RTCIceTransportStateChangedEvent RTCPeerConnection RTCPeerConnectionIceEvent RTCRtpReceiver RTCRtpSender RTCSessionDescription RTCSrtpSdesTransport RTCSsrcConflictEvent webkitRTCPeerConnection
,
Oct 25 2016
These are new in Edge 15: RTCIceCandidate RTCPeerConnection RTCPeerConnectionIceEvent RTCSessionDescription webkitRTCPeerConnection RTCPeerConnectionIceEvent is the one not also in Chrome, so I'll add to the list of good things to fix: Rename RTCIceCandidateEvent to RTCPeerConnectionIceEvent. (It currently has [NoInterfaceObject])
,
Oct 25 2016
,
Oct 26 2016
,
Dec 14 2016
I think this issue has served its purpose, we found some things and fixed it. To keep in sync with the specs over time we're working on issue 673852. Unblocking issue 651800 .
,
Jan 23 2017
|
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by foolip@chromium.org
, Sep 22 2016