Interop Notes

Show Contents

Firefox and Chrome are interoperable, but currently require a small degree of adaptation on the part of the calling site.

API differences

Firefox and Chrome both prefix their interfaces and are likely to continue to do so until the standard is more finalized. The following table shows the relevant names:

W3C Standard           Chrome                   Firefox
--------------------------------------------------------------
getUserMedia           webkitGetUserMedia       mozGetUserMedia
RTCPeerConnection      webkitRTCPeerConnection  RTCPeerConnection
RTCSessionDescription  RTCSessionDescription    RTCSessionDescription
RTCIceCandidate        RTCIceCandidate          RTCIceCandidate

Note that the getUserMedia API has been deprecated in favor of the promise-based mediaDevices.getUserMedia API which is supported natively both in Firefox and Chrome Canary.

To help insulate apps from these differences, we provide a “polyfill” library which takes care of all these issues and lets developers write to the unprefixed W3C standard names. This library can be found in the WebRTC adapter GitHub repository.

Interop with AppRTC

AppRTC (appr.tc) uses the adapter.js polyfill, so it correctly handles interop between the browsers. You can test this with Chrome and Firefox today! This is tested continuously by our automated Chrome-Firefox interop tests.