1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
This commit is contained in:
David Walsh 2020-10-14 17:07:15 -05:00
parent 15654b3d0b
commit 9987484301

View File

@ -104,14 +104,14 @@ export default class QrScanner extends Component {
componentWillUnmount () { componentWillUnmount () {
this.mounted = false this.mounted = false
clearTimeout(this.permissionChecker) clearTimeout(this.permissionChecker)
this.teardownCodeReader(); this.teardownCodeReader()
} }
teardownCodeReader() { teardownCodeReader () {
if(this.codeReader) { if (this.codeReader) {
this.codeReader.reset(); this.codeReader.reset()
this.codeReader.stop(); this.codeReader.stop()
this.codeReader = null; this.codeReader = null
} }
} }
@ -121,12 +121,12 @@ export default class QrScanner extends Component {
// once we receive permission so that the video displays. // once we receive permission so that the video displays.
// It's important to prevent this codeReader from being created twice; // It's important to prevent this codeReader from being created twice;
// Firefox otherwise starts 2 video streams, one of which cannot be stopped // Firefox otherwise starts 2 video streams, one of which cannot be stopped
if(!this.codeReader) { if (!this.codeReader) {
this.codeReader = new BrowserQRCodeReader() this.codeReader = new BrowserQRCodeReader()
} }
try { try {
await this.codeReader.getVideoInputDevices() await this.codeReader.getVideoInputDevices()
this.checkPermissions(); this.checkPermissions()
const content = await this.codeReader.decodeFromInputVideoDevice(undefined, 'video') const content = await this.codeReader.decodeFromInputVideoDevice(undefined, 'video')
const result = this.parseContent(content.text) const result = this.parseContent(content.text)
if (!this.mounted) { if (!this.mounted) {
@ -176,7 +176,7 @@ export default class QrScanner extends Component {
stopAndClose = () => { stopAndClose = () => {
if (this.codeReader) { if (this.codeReader) {
this.teardownCodeReader(); this.teardownCodeReader()
} }
this.props.hideModal() this.props.hideModal()
} }