electron/shell/common
Robo da0fd286b4
feat: UtilityProcess API (#34980)
* chore: initial scaffolding

* chore: implement interface and docs

* chore: address code style review

* fix: cleanup of utility process on shutdown

* chore: simplify NodeBindings::CreateEnvironment

* chore: rename disableLibraryValidation => allowLoadingUnsignedLibraries

* chore: implement process.parentPort

* chore(posix): implement stdio pipe interface

* chore(win): implement stdio interface

* chore: reenable SetNodeOptions for utility process

* chore: add specs

* chore: fix lint

* fix: update kill API

* fix: update process.parentPort API

* fix: exit event

* docs: update exit event

* fix: tests on linux

* chore: expand on some comments

* fix: shutdown of pipe reader

Avoid logging since it is always the case that reader end of
pipe will terminate after the child process.

* fix: remove exit code check for crash spec

* fix: rm PR_SET_NO_NEW_PRIVS for unsandbox utility process

* chore: fix incorrect rebase

* fix: address review feedback

* chore: rename utility_process -> utility

* chore: update docs

* chore: cleanup c++ implemantation

* fix: leak in NodeServiceHost impl

* chore: minor cleanup

* chore: cleanup JS implementation

* chore: flip default stdio to inherit

* fix: some api improvements

* Support cwd option
* Remove path restriction for modulePath
* Rewire impl for env support

* fix: add tests for cwd and env option

* chore: alt impl for reading stdio handles

* chore: support message queuing

* chore: fix lint

* chore: new UtilityProcess => utilityProcess.fork

* fix: support for uncaught exception exits

* chore: remove process.execArgv as default

* fix: windows build

* fix: style changes

* fix: docs and style changes

* chore: update patches

* spec: disable flaky test on win32 arm CI

Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
2022-10-19 22:49:49 -07:00
..
api test: migrate shell specs to main process (#35058) 2022-07-27 09:18:33 -07:00
asar chore: modernize base::Value useage in asar/archive (#34796) 2022-07-05 12:35:38 -04:00
extensions chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
gin_converters feat: support serialPort.forget() (#35310) 2022-10-18 11:22:32 +02:00
gin_helper chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
mac chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
resources/mac fix: disable MallocNanoZone on mac (#33704) 2022-04-28 10:28:27 -04:00
application_info.cc fix: use correct userData path when unbundled (#30113) 2021-07-14 13:10:37 -07:00
application_info.h chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
application_info_linux.cc fix: potential crash caused by dlopen different gtk libraries (#33650) 2022-04-18 13:24:32 +09:00
application_info_mac.mm
application_info_win.cc chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
color_util.cc fix: #ARGB to #RGBA conversion (#33707) 2022-04-13 10:46:05 +02:00
color_util.h feat: support more color formats for backgroundColor (#31868) 2022-03-21 18:35:54 +01:00
crash_keys.cc chore: bump chromium to 108.0.5355.0 (main) (#35900) 2022-10-17 10:22:24 -04:00
crash_keys.h chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
electron_command_line.cc chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
electron_command_line.h chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
electron_constants.cc fix: build when pdf component is disabled (#33513) 2022-03-30 11:55:38 -07:00
electron_constants.h fix: build when pdf component is disabled (#33513) 2022-03-30 11:55:38 -07:00
electron_paths.h feat: allow customizing browser data location (#33554) 2022-05-09 10:26:57 -04:00
heap_snapshot.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
heap_snapshot.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
key_weak_map.h chore: fix spelling errors in multiple files (#34574) 2022-06-16 16:46:11 +09:00
keyboard_util.cc chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
keyboard_util.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
language_util.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
language_util_linux.cc
language_util_mac.mm
language_util_win.cc
logging.cc fix: fail non-fatally when InitLogging fails (#35138) 2022-08-02 15:45:30 -04:00
logging.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
mouse_util.cc
mouse_util.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
node_bindings.cc feat: UtilityProcess API (#34980) 2022-10-19 22:49:49 -07:00
node_bindings.h feat: UtilityProcess API (#34980) 2022-10-19 22:49:49 -07:00
node_bindings_linux.cc chore: remove redundant code in node integration (#33500) 2022-03-29 20:09:42 -07:00
node_bindings_linux.h chore: remove redundant code in node integration (#33500) 2022-03-29 20:09:42 -07:00
node_bindings_mac.cc chore: remove redundant code in node integration (#33500) 2022-03-29 20:09:42 -07:00
node_bindings_mac.h chore: remove redundant code in node integration (#33500) 2022-03-29 20:09:42 -07:00
node_bindings_win.cc chore: remove redundant code in node integration (#33500) 2022-03-29 20:09:42 -07:00
node_bindings_win.h chore: remove redundant code in node integration (#33500) 2022-03-29 20:09:42 -07:00
node_includes.h fix: initialize asar support in worker threads (#33216) 2022-03-22 20:37:55 -04:00
node_util.cc chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
node_util.h chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
options_switches.cc chore: bump chromium to 108.0.5355.0 (main) (#35900) 2022-10-17 10:22:24 -04:00
options_switches.h chore: bump chromium to 108.0.5355.0 (main) (#35900) 2022-10-17 10:22:24 -04:00
platform_util.cc fix: shell.trashItem crash when called in renderer (#28748) 2021-04-22 13:46:41 -07:00
platform_util.h fix: set Wayland application ID (#34855) 2022-07-11 11:26:18 -07:00
platform_util_internal.h chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
platform_util_linux.cc fix: set Wayland application ID (#34855) 2022-07-11 11:26:18 -07:00
platform_util_mac.mm fix: Building on macOS with is_debug true (#30913) 2021-09-15 09:40:36 +09:00
platform_util_win.cc chore: bump chromium to 108.0.5329.0 (main) (#35628) 2022-10-03 13:21:00 -07:00
process_util.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
process_util.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
skia_util.cc chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
skia_util.h chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
v8_value_serializer.cc chore: bump chromium to 108.0.5329.0 (main) (#35628) 2022-10-03 13:21:00 -07:00
v8_value_serializer.h chore: bump chromium to 102.0.4961.0 (main) (#33091) 2022-03-24 21:39:03 -04:00
world_ids.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00