feat: add worldSafe flag for executeJS results (#24114)
* feat: add worldSafe flag for executeJS results * chore: do not log warning for webContents.executeJS * Apply suggestions from code review Co-authored-by: Jeremy Rose <jeremya@chromium.org> * chore: apply PR feedback * chore: split logic a bit * chore: allow primitives through the world safe checl * chore: clean up per PR feedback * chore: flip boolean logic * chore: update per PR feedback * chore: fix typo * chore: fix spec Co-authored-by: Jeremy Rose <jeremya@chromium.org>
This commit is contained in:
parent
3b250b649b
commit
b500294c1d
10 changed files with 160 additions and 7 deletions
10
spec/fixtures/pages/world-safe-preload-error.js
vendored
Normal file
10
spec/fixtures/pages/world-safe-preload-error.js
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
const { ipcRenderer, webFrame } = require('electron');
|
||||
|
||||
webFrame.executeJavaScript(`(() => {
|
||||
return Object(Symbol('a'));
|
||||
})()`).catch((err) => {
|
||||
// Considered safe if the object is constructed in this world
|
||||
ipcRenderer.send('executejs-safe', err);
|
||||
}).then(() => {
|
||||
ipcRenderer.send('executejs-safe', null);
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue