datachannel.js 890 B

12345678910111213141516171819202122232425262728293031
  1. /*!
  2. {
  3. "name": "RTC Data Channel",
  4. "property": "datachannel",
  5. "notes": [{
  6. "name": "HTML5 Rocks Tutorial",
  7. "href": "https://www.html5rocks.com/en/tutorials/webrtc/datachannels/"
  8. }]
  9. }
  10. !*/
  11. /* DOC
  12. Detect for the RTCDataChannel API that allows for transfer data directly from one peer to another
  13. */
  14. define(['Modernizr', 'prefixed', 'domPrefixes', 'test/webrtc/peerconnection'], function(Modernizr, prefixed, domPrefixes) {
  15. Modernizr.addTest('datachannel', function() {
  16. if (!Modernizr.peerconnection) {
  17. return false;
  18. }
  19. for (var i = 0, l = domPrefixes.length; i < l; i++) {
  20. var PeerConnectionConstructor = window[domPrefixes[i] + 'RTCPeerConnection'];
  21. if (PeerConnectionConstructor) {
  22. var peerConnection = new PeerConnectionConstructor(null);
  23. return 'createDataChannel' in peerConnection;
  24. }
  25. }
  26. return false;
  27. });
  28. });