aboutsummaryrefslogtreecommitdiffstats
path: root/ui/lib/webcam-utils.js
diff options
context:
space:
mode:
authorbrunobar79 <brunobar79@gmail.com>2018-08-01 06:30:40 +0800
committerbrunobar79 <brunobar79@gmail.com>2018-08-01 06:30:56 +0800
commit710b4e294f66fe6e623fa145cc99be5b79c8210e (patch)
tree94fbe1f5d91aef33d04effc254a2a77e217c308a /ui/lib/webcam-utils.js
parentedb154749d468299166e41e56d23beb781817cbc (diff)
downloadtangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.tar
tangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.tar.gz
tangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.tar.bz2
tangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.tar.lz
tangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.tar.xz
tangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.tar.zst
tangerine-wallet-browser-710b4e294f66fe6e623fa145cc99be5b79c8210e.zip
added crossbrowser support and error handling
Diffstat (limited to 'ui/lib/webcam-utils.js')
-rw-r--r--ui/lib/webcam-utils.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/ui/lib/webcam-utils.js b/ui/lib/webcam-utils.js
new file mode 100644
index 000000000..e4261dfbc
--- /dev/null
+++ b/ui/lib/webcam-utils.js
@@ -0,0 +1,38 @@
+'use strict'
+
+import DetectRTC from 'detectrtc'
+const { ENVIRONMENT_TYPE_POPUP } = require('../../app/scripts/lib/enums')
+const { getEnvironmentType } = require('../../app/scripts/lib/util')
+
+class WebcamUtils {
+
+ static checkStatus () {
+ return new Promise((resolve, reject) => {
+ const isPopup = getEnvironmentType(window.location.href) === ENVIRONMENT_TYPE_POPUP
+ const isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1
+ const isBrave = !!window.chrome.ipcRenderer
+ const isFirefoxOrBrave = isFirefox || isBrave
+ try {
+ reject({type: 'NO_WEBCAM_FOUND'})
+ // DetectRTC.load(_ => {
+ // if (DetectRTC.hasWebcam) {
+ // let environmentReady = true
+ // if ((isFirefoxOrBrave && isPopup) || (isPopup && !DetectRTC.isWebsiteHasWebcamPermissions)) {
+ // environmentReady = false
+ // }
+ // resolve({
+ // permissions: DetectRTC.isWebsiteHasWebcamPermissions,
+ // environmentReady,
+ // })
+ // } else {
+ // reject({type: 'NO_WEBCAM_FOUND'})
+ // }
+ // })
+ } catch (e) {
+ reject({type: 'UNKNOWN_ERROR'})
+ }
+ })
+ }
+}
+
+module.exports = WebcamUtils