diff --git a/docs/api/sandbox-option.md b/docs/api/sandbox-option.md index d549d6b39b..c18d5d7b26 100644 --- a/docs/api/sandbox-option.md +++ b/docs/api/sandbox-option.md @@ -166,7 +166,7 @@ Currently the `require` function provided in the preload scope exposes the following modules: - `child_process` -- `electron` (crashReporter, remote and ipcRenderer) +- `electron` (crashReporter, remote, ipcRenderer, and webFrame) - `fs` - `os` - `timers` diff --git a/lib/sandboxed_renderer/api/exports/electron.js b/lib/sandboxed_renderer/api/exports/electron.js index 02f23be396..209bd7f739 100644 --- a/lib/sandboxed_renderer/api/exports/electron.js +++ b/lib/sandboxed_renderer/api/exports/electron.js @@ -11,6 +11,12 @@ Object.defineProperties(exports, { return require('../../../renderer/api/remote') } }, + webFrame: { + enumerable: true, + get: function () { + return require('../../../renderer/api/web-frame') + } + }, crashReporter: { enumerable: true, get: function () { diff --git a/spec/fixtures/api/isolated-preload.js b/spec/fixtures/api/isolated-preload.js index 6e45cbb7eb..8f22e2ab62 100644 --- a/spec/fixtures/api/isolated-preload.js +++ b/spec/fixtures/api/isolated-preload.js @@ -6,6 +6,8 @@ const {ipcRenderer, webFrame} = require('electron') window.foo = 3 +webFrame.executeJavaScript('window.preloadExecuteJavaScriptProperty = 1234;') + window.addEventListener('message', (event) => { ipcRenderer.send('isolated-world', { preloadContext: { diff --git a/spec/fixtures/api/isolated.html b/spec/fixtures/api/isolated.html index 95f5f9d262..562bf01b7c 100644 --- a/spec/fixtures/api/isolated.html +++ b/spec/fixtures/api/isolated.html @@ -7,7 +7,6 @@ window.hello = 'world' Array.prototype.push = 3 Function.prototype.apply = true - window.preloadExecuteJavaScriptProperty = 1234; const opened = window.open() opened.close()