electron/lib/browser
Samuel Attard 58a6fe13d6
feat: preloads and nodeIntegration in iframes (#16425)
* feat: add support for node / preloads in subframes

This feature has delibrately been built / implemented in such a way
that it has minimum impact on existing apps / code-paths.
Without enabling the new "nodeSupportInSubFrames" option basically none of this
new code will be hit.

The things that I believe need extra scrutiny are:

* Introduction of `event.reply` for IPC events and usage of `event.reply` instead of `event.sender.send()`
* Usage of `node::FreeEnvironment(env)` when the new option is enabled in order to avoid memory leaks.  I have tested this quite a bit and haven't managed to cause a crash but it is still feature flagged behind the "nodeSupportInSubFrames" flag to avoid potential impact.

Closes #10569
Closes #10401
Closes #11868
Closes #12505
Closes #14035

* feat: add support preloads in subframes for sandboxed renderers

* spec: add tests for new nodeSupportInSubFrames option

* spec: fix specs for .reply and ._replyInternal for internal messages

* chore: revert change to use flag instead of environment set size

* chore: clean up subframe impl

* chore: apply suggestions from code review

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>

* chore: clean up reply usage

* chore: fix TS docs generation

* chore: cleanup after rebase

* chore: rename wrap to add in event fns
2019-01-22 11:24:46 -08:00
..
api feat: preloads and nodeIntegration in iframes (#16425) 2019-01-22 11:24:46 -08:00
chrome-extension.js feat: preloads and nodeIntegration in iframes (#16425) 2019-01-22 11:24:46 -08:00
default-menu.js feat: use default-app behavior in packaged apps (#16310) 2019-01-15 21:35:53 +01:00
desktop-capturer.js feat: preloads and nodeIntegration in iframes (#16425) 2019-01-22 11:24:46 -08:00
guest-view-manager.js feat: preloads and nodeIntegration in iframes (#16425) 2019-01-22 11:24:46 -08:00
guest-window-manager.js feat: preloads and nodeIntegration in iframes (#16425) 2019-01-22 11:24:46 -08:00
init.js feat: use default-app behavior in packaged apps (#16310) 2019-01-15 21:35:53 +01:00
ipc-main-internal.js refactor: use separate ipc-renderer-internal / ipc-main-internal APIs for Electron internals (#13940) 2018-10-07 00:48:00 +13:00
navigation-controller.js feat: webContents.loadURL returns a promise (#15855) 2018-12-06 12:16:19 -08:00
objects-registry.js refactor: add prefer-const to .eslintrc + fix errors (#14880) 2018-10-02 11:56:31 +10:00
rpc-server.js feat: add preload-error event to webContents (#16411) 2019-01-18 12:03:43 +01:00