feat: deprecate modules internally using remote.require in sandboxed renderer context (#15145)

This commit is contained in:
Milan Burda 2018-12-05 10:34:09 +01:00 committed by Alexey Kuzmin
parent d5d1fa8290
commit d561c5531b
12 changed files with 71 additions and 8 deletions

View file

@ -1,4 +1,8 @@
'use strict'
const { deprecate } = require('electron')
deprecate.warn(`require('child_process')`, `remote.require('child_process')`)
const { getRemoteForUsage } = require('@electron/internal/renderer/remote')
module.exports = getRemoteForUsage('child_process').require('child_process')

View file

@ -1,4 +1,8 @@
'use strict'
const { deprecate } = require('electron')
deprecate.warn(`require('fs')`, `remote.require('fs')`)
const { getRemoteForUsage } = require('@electron/internal/renderer/remote')
module.exports = getRemoteForUsage('fs').require('fs')

View file

@ -1,4 +1,8 @@
'use strict'
const { deprecate } = require('electron')
deprecate.warn(`require('os')`, `remote.require('os')`)
const { getRemoteForUsage } = require('@electron/internal/renderer/remote')
module.exports = getRemoteForUsage('os').require('os')

View file

@ -1,4 +1,8 @@
'use strict'
const { deprecate } = require('electron')
deprecate.warn(`require('path')`, `remote.require('path')`)
const { getRemoteForUsage } = require('@electron/internal/renderer/remote')
module.exports = getRemoteForUsage('path').require('path')

View file

@ -90,6 +90,15 @@ Object.assign(preloadProcess, processProps)
Object.assign(process, binding.process)
Object.assign(process, processProps)
Object.defineProperty(preloadProcess, 'noDeprecation', {
get () {
return process.noDeprecation
},
set (value) {
process.noDeprecation = value
}
})
process.on('exit', () => preloadProcess.emit('exit'))
// This is the `require` function that will be visible to the preload script