added camera snippet injection to inpage.js

feature/default_network_editable
brunobar79 6 years ago
parent 2e50348241
commit 0940ecd57b
  1. 39
      app/scripts/inpage.js

@ -5,6 +5,7 @@ const log = require('loglevel')
const LocalMessageDuplexStream = require('post-message-stream')
const setupDappAutoReload = require('./lib/auto-reload.js')
const MetamaskInpageProvider = require('./lib/inpage-provider.js')
const Instascan = require('instascan')
restoreContextAfterImports()
log.setDefaultLevel(process.env.METAMASK_DEBUG ? 'debug' : 'warn')
@ -96,3 +97,41 @@ function restoreContextAfterImports () {
console.warn('MetaMask - global.define could not be overwritten.')
}
}
function initCameraScanner () {
// Append preview div
const preview = document.createElement('div')
preview.id = 'metamask-preview-wrapper'
preview.style = 'position:absolute; top: 20px; left: 20px; z-indez: 99999999999999; width: 300px; height: 300px; overflow: hidden'
const previewVideo = document.createElement('video')
previewVideo.id = 'metamask-preview-video'
previewVideo.style = 'width: 100%; height: 100%; object-fit: none; margin-left: -10%; margin-top: 10%'
preview.appendChild(previewVideo)
document.body.appendChild(preview)
console.log('injected')
const scanner = new Instascan.Scanner({
video: document.getElementById('metamask-preview-video'),
backgroundScan: false,
continuous: true,
})
scanner.addListener('scan', function (content) {
alert(content)
scanner.stop().then(_ => {
document.getElementById('metamask-preview-wrapper').parentElement.removeChild(document.getElementById('metamask-preview-wrapper'))
})
})
Instascan.Camera.getCameras().then(function (cameras) {
if (cameras.length > 0) {
scanner.start(cameras[1])
} else {
console.error('No cameras found.')
}
}).catch(function (e) {
console.error(e)
})
}
setTimeout(_ => {
console.log('injecting...')
initCameraScanner()
}, 3000)

Loading…
Cancel
Save