electron/atom/renderer
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: upgrade to Chromium 72.0.3626.52 (#16334) 2019-01-22 10:39:32 -08:00
printing refactor: printing implementation (#15143) 2018-11-09 14:42:34 +11:00
resources/mac mac: Generate Info.plist from gyp variables 2015-04-14 16:09:34 +08:00
atom_autofill_agent.cc feat: Upgrade to Chromium 71.0.3578.98 (#15966) 2019-01-11 17:00:43 -08:00
atom_autofill_agent.h The Great Blink mv for source files, part 2. 2018-09-11 20:21:32 +02:00
atom_render_frame_observer.cc feat: preloads and nodeIntegration in iframes (#16425) 2019-01-22 11:24:46 -08:00
atom_render_frame_observer.h refactor: use separate ipc-renderer-internal / ipc-main-internal APIs for Electron internals (#13940) 2018-10-07 00:48:00 +13:00
atom_render_view_observer.cc The Great Blink mv for source files, part 2. 2018-09-11 20:21:32 +02:00
atom_render_view_observer.h [chromium-style] override / virtual warnings 2018-04-19 11:12:10 -07:00
atom_renderer_client.cc feat: preloads and nodeIntegration in iframes (#16425) 2019-01-22 11:24:46 -08:00
atom_renderer_client.h feat: Upgrade to Chromium 71.0.3578.98 (#15966) 2019-01-11 17:00:43 -08:00
atom_sandboxed_renderer_client.cc feat: preloads and nodeIntegration in iframes (#16425) 2019-01-22 11:24:46 -08:00
atom_sandboxed_renderer_client.h feat: preloads and nodeIntegration in iframes (#16425) 2019-01-22 11:24:46 -08:00
content_settings_observer.cc feat: upgrade to Chromium 72.0.3626.52 (#16334) 2019-01-22 10:39:32 -08:00
content_settings_observer.h feat: upgrade to Chromium 72.0.3626.52 (#16334) 2019-01-22 10:39:32 -08:00
guest_view_container.cc fix: fix gn cpplint warnings (#14583) 2018-09-12 19:25:56 -05:00
guest_view_container.h insertText is deprecated 2017-02-06 10:34:29 -08:00
preferences_manager.cc refactor: remove instances of createDeepCopy (#13703) 2018-08-04 07:23:07 +10:00
preferences_manager.h Update to API changes of Chrome 52 2016-07-04 15:32:43 +09:00
renderer_client_base.cc chore: fix v8 deprecation warnings 2018-12-03 20:07:43 +05:30
renderer_client_base.h chore: simplify main world setup of contextIsolation (#16046) 2018-12-13 16:25:12 -05:00
web_worker_observer.cc also format missing .cc files 2018-04-18 20:48:45 -04:00
web_worker_observer.h fix: fix gn cpplint warnings (#14583) 2018-09-12 19:25:56 -05:00