Bläddra i källkod

expect built-in support for `MediaDevices` API (#2945)

https://caniuse.com/?search=mediadevices

IE users would need this polyfill:
https://github.com/mozdevs/mediaDevices-getUserMedia-polyfill
Antoine du Hamel 3 år sedan
förälder
incheckning
69397be5a0
2 ändrade filer med 3 tillägg och 32 borttagningar
  1. 1 11
      packages/@uppy/screen-capture/src/index.js
  2. 2 21
      packages/@uppy/webcam/src/index.js

+ 1 - 11
packages/@uppy/screen-capture/src/index.js

@@ -8,17 +8,7 @@ const CaptureScreen = require('./CaptureScreen')
 // Adapted from: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
 function getMediaDevices () {
   // check if screen capturing is supported
-  /* eslint-disable */
-  if (navigator &&
-    navigator.mediaDevices &&
-    navigator.mediaDevices.getDisplayMedia &&
-    window &&
-    window.MediaRecorder) {
-    return navigator.mediaDevices
-  }
-  /* eslint-enable */
-
-  return null
+  return window.MediaRecorder && navigator.mediaDevices // eslint-disable-line compat/compat
 }
 
 /**

+ 2 - 21
packages/@uppy/webcam/src/index.js

@@ -43,29 +43,10 @@ function isImageMimeType (mimeType) {
   return /^image\/[^*]+$/.test(mimeType)
 }
 
-/**
- * Setup getUserMedia, with polyfill for older browsers
- * Adapted from: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
- */
 function getMediaDevices () {
+  // bug in the compatibility data
   // eslint-disable-next-line compat/compat
-  if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
-    // eslint-disable-next-line compat/compat
-    return navigator.mediaDevices
-  }
-
-  const getUserMedia = navigator.mozGetUserMedia || navigator.webkitGetUserMedia
-  if (!getUserMedia) {
-    return null
-  }
-
-  return {
-    getUserMedia (opts) {
-      return new Promise((resolve, reject) => {
-        getUserMedia.call(navigator, opts, resolve, reject)
-      })
-    },
-  }
+  return navigator.mediaDevices
 }
 /**
  * Webcam