feat: add webPreferences.enableRemoteModule option (#13028)

This commit is contained in:
Milan Burda 2018-10-13 19:50:07 +02:00 committed by Alexey Kuzmin
parent 72db5ed7cb
commit d3efc52745
36 changed files with 303 additions and 45 deletions

View file

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

View file

@ -6,6 +6,7 @@ for (const {
name,
load,
enabled = true,
configurable = false,
private: isPrivate = false
} of moduleList) {
if (!enabled) {
@ -13,6 +14,7 @@ for (const {
}
Object.defineProperty(exports, name, {
configurable,
enumerable: !isPrivate,
get: load
})

View file

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

View file

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

View file

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

View file

@ -16,21 +16,28 @@ module.exports = [
name: 'ipcRenderer',
load: () => require('@electron/internal/renderer/api/ipc-renderer')
},
{
name: 'isPromise',
load: () => require('@electron/internal/common/api/is-promise'),
private: true
},
{
name: 'nativeImage',
load: () => require('@electron/internal/common/api/native-image')
},
{
name: 'remote',
configurable: true, // will be configured in init.js
load: () => require('@electron/internal/renderer/api/remote')
},
{
name: 'webFrame',
load: () => require('@electron/internal/renderer/api/web-frame')
},
// The internal modules, invisible unless you know their names.
{
name: 'deprecate',
load: () => require('@electron/internal/common/api/deprecate'),
private: true
},
{
name: 'isPromise',
load: () => require('@electron/internal/common/api/is-promise'),
private: true
}
]