1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-27 04:46:10 +01:00
metamask-extension/ui/lib/webcam-utils.js

36 lines
1.1 KiB
JavaScript
Raw Normal View History

'use strict'
import DetectRTC from 'detectrtc'
import { ENVIRONMENT_TYPE_POPUP, PLATFORM_BRAVE, PLATFORM_FIREFOX } from '../../app/scripts/lib/enums'
import { getEnvironmentType, getPlatform } from '../../app/scripts/lib/util'
class WebcamUtils {
static checkStatus () {
return new Promise((resolve, reject) => {
2018-08-04 01:36:01 +02:00
const isPopup = getEnvironmentType(window.location.href) === ENVIRONMENT_TYPE_POPUP
2018-08-08 09:00:39 +02:00
const isFirefoxOrBrave = getPlatform() === (PLATFORM_FIREFOX || PLATFORM_BRAVE)
2018-08-04 01:36:01 +02:00
try {
DetectRTC.load(_ => {
if (DetectRTC.hasWebcam) {
let environmentReady = true
if ((isFirefoxOrBrave && isPopup) || (isPopup && !DetectRTC.isWebsiteHasWebcamPermissions)) {
environmentReady = false
}
resolve({
permissions: DetectRTC.isWebsiteHasWebcamPermissions,
environmentReady,
})
2018-08-04 01:36:01 +02:00
} else {
2019-12-03 21:50:55 +01:00
reject({ type: 'NO_WEBCAM_FOUND' })
2018-08-04 01:36:01 +02:00
}
})
} catch (e) {
2019-12-03 21:50:55 +01:00
reject({ type: 'UNKNOWN_ERROR' })
2018-08-04 01:36:01 +02:00
}
})
}
}
export default WebcamUtils