* refactor: more return-braced-init-list, this time for v8 and gin objects
* refactor: more return-braced-init-list, this time for v8, gin, std, and base objects
* refactor: misc-use-internal-linkage warnings in context bridge
move impl functions into anonymous namespace so that they're not visible
to other compilation units:
- ExposeAPIInWorld()
- IsCalledFromMainWorld()
- OverrideGlobalPropertyFromIsolatedWorld()
- OverrideGlobalValueFromIsolatedWorld()
- TraceKeyPath()
* refactor: misc-use-internal-linkage warnings in skia util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- struct ScaleFactorPair
- kScaleFactorPairs[]
- GetScaleFactorFromPath()
- AddImageSkiaRepFromPath()
* refactor: misc-use-internal-linkage warnings in printing util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetFullPagePlugin()
* refactor: misc-use-internal-linkage warnings in blijnk converter
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetKeyLocationCode()
- ModifiersToArray()
* refactor: misc-use-internal-linkage warnings in extrension system
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- ParseManifest()
* refactor: misc-use-internal-linkage warnings in skia util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetFrameTokenMap()
- GetFrameTreeNodeIdMap()
* refactor: misc-use-internal-linkage warnings in electron_api_utility_process.cc
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetAllUtilityProcessWrappers()
* refactor: misc-use-internal-linkage warnings in electron_api_menu
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- InvokeBoolMethod()
* refactor: misc-use-internal-linkage warnings in platform util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- struct TrashItemResult
- TrashItemOnBlockingThread()
* chore: reland "fix: utility process exit code for graceful termination"
This reverts commit 1cae73ba09.
* fix: exit code on posix when killed via api
* chore: fix code style
* feat: add error event for utility process
* chore: use public report api
* chore: fix lint
* doc: mark error event as experimental
---------
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* feat: support app#login event for utility process net requests
* chore: address review feedback
* GlobalRequestID: Avoid unwanted inlining and narrowing int conversions
Refs 5702737
* chore: initial prototype of net api from utility process
* chore: update url loader to work on both browser and utility processes
* chore: add net files to utility process bundle
* chore: re-add app ready check but only on main process
* chore: replace browser thread dcheck's with sequence checker
* refactor: move url loader from browser to common
* refactor: move net-client-request.ts from browser to common
* docs: add utility process to net api docs
* refactor: move net module app ready check to browser only
* refactor: switch import from main to common after moving to common
* test: add basic net module test for utility process
* refactor: switch browser pid with utility pid
* refactor: move electron_api_net from browser to common
* chore: add fetch to utility net module
* chore: add isOnline and online to utility net module
* refactor: move net spec helpers into helper file
* refactor: break apart net module tests
Adds two additional net module test files: `api-net-session-spec.ts` for
tests that depend on a session being available (aka depend on running on
the main process) and `api-net-custom-protocols-spec.ts` for custom
protocol tests. This enables running `api-net-spec.ts` in the utility
process.
* test: add utility process mocha runner to run net module tests
* docs: add utility process to net module classes
* refactor: update imports in lib/utility to use electron/utility
* chore: check browser context before using in main process
Since the browser context supplied to the SimpleURLLoaderWrapper can now
be null for use in the UtilityProcess, adding a null check for the main
process before use to get a more sensible error if something goes wrong.
Co-authored-by: Cheng Zhao <github@zcbenz.com>
* chore: remove test debugging
* chore: remove unnecessary header include
* docs: add utility process net module limitations
* test: run net module tests in utility process individually
* refactor: clean up prior utility process net tests
* chore: add resolveHost to utility process net module
* chore: replace resolve host dcheck with sequence checker
* test: add net module tests for net.resolveHost
* docs: remove utility process limitation for resolveHost
---------
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Cheng Zhao <github@zcbenz.com>
* chore: bump chromium in DEPS to 111.0.5522.0
* chore: bump chromium in DEPS to 111.0.5524.0
* chore: bump chromium in DEPS to 111.0.5526.0
* chore: bump chromium in DEPS to 111.0.5528.0
* chore: update patches/chromium/mas_avoid_usage_of_private_macos_apis.patch
Xref: 4132807
Fix simple code shear
* chore: update patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch
Xref: 4130675
Fix simple code shear
* chore: update patches/chromium/hack_plugin_response_interceptor_to_point_to_electron.patch
Xref: 4144281
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/chromium/disable_unload_metrics.patch
Xref: 4126173
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/chromium/feat_add_data_parameter_to_processsingleton.patch
Xref: 4144281
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/chromium/preconnect_manager.patch
4144281
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/v8/force_cppheapcreateparams_to_be_noncopyable.patch
3533019
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches
* chore: update patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch
Xref: 4128765
Upstream added a new call to HeaderContext(), whose signature we have patched
* chore: bump chromium in DEPS to 111.0.5530.0
* chore: update patches
* Move ChildProcessHost* from content/common to content/browser
Xref: Move ChildProcessHost* from content/common to content/browser
* Remove RenderViewHostChanged
Xref: 4134103
[upstream removal of RenderViewHostChanged]
Xref: 4092763
Xref: 4093234
Xref: 4133892
Xref: 4134103
[examples of upstream code adjusting to the change]
Upstream handles this change in roughly two approaches:
1. Move the code over to RenderFrameHostChanged(old_host, new_host)
but test for new_host->IsInPrimaryMainFrame() before acting
2. Migrate to the PrimaryPageChanged(page) API and use
page.GetMainDocument() to get the RenderFrameHost.
I've chosen 1. because electron_api_web_contents needed that pointer
to old_host to call RemoveInputEventListener(), but I may be missing
some context & would appreciate review on this commit.
* Make electron/shell/browser/relauncher_win.cc use <winternl.h>
Xref: 4129135
Many internal Windows types are now available in winternl.h
so upstrem no longer defines the types themselves.
* Move ChildProcessHost* from content/common to content/browser
Xref: 4134795
* fixup! Make electron/shell/browser/relauncher_win.cc use <winternl.h>
winternl.h does not define the field we need, so clone the struct Chromium was using into unnamed namespace
* fixup! Move ChildProcessHost* from content/common to content/browser
chore: update #includes too
* chore: bump chromium in DEPS to 111.0.5532.0
* chore: sync patches/chromium/pepper_plugin_support.patch
Xref: 4133323
manually reync patch; no code changes
* chore: sync patches/chromium/mas_no_private_api.patch
Xref: 4143865
the content/common/pseudonymization_salt.cc patch is no longer needed
* chore: sync patches/chromium/mas_disable_remote_accessibility.patch
patch-fuzz update; no manual changes
* chore: sync patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
Xref: 4111725
manually reync patch; no code changes
* chore: sync patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch
Xref: 4133323
manually reync patch; no code changes
* chore: sync patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
Xref: 4127230
patch-fuzz update; no manual changes
* chore: rebuild patches
* fixup! Remove RenderViewHostChanged
Use PrimaryPageChanged()
* chore: remove unused method TabsUpdateFunction::OnExecuteCodeFinished()
Xref: 4133991
This private, already-unused function showed up as a FTBFS because it
took a base::ListValue parameter and ListValue was removed upstream.
* task posting v3: remove includes of runner handles and IWYU task runners
Xref: 4133323
* chore: lint
* chore: more lint
* fixup! task posting v3: remove includes of runner handles and IWYU task runners
macOS, too
* fixup! task posting v3: remove includes of runner handles and IWYU task runners
* chore: bump chromium in DEPS to 111.0.5534.0
* chore: sync patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch
Xref: 4141862
patch-fuzz update; no manual changes
* chore: sync patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch
Xref: 4153110
Sync to minor upstream changes. Add const correctness.
* chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch
4141862
patch-fuzz update; no manual changes
* chore: patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
sync 4147787
patch-fuzz update; no manual changes
* chore: update patches
* chore: bump chromium in DEPS to 111.0.5536.0
* chore: sync patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch
Xref: 4141863
Sync with upstream code changes. Minor code golf for readability.
Note: upstream is laying groundwork for being able to work off of env vars
instead of switches. Doesn't affect us yet but worth being aware of.
> + // Environment variables could be supported in the future, but are not
> + // currently supported when launching with the zygote.
* chore: update patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch
Xref: 4126836
patch-fuzz update; no manual changes
* chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch
Xref: 4141863
manual sync
* chore: sync electron/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
4147788
fuzz-patch
* chore: rebuild patches
* chore: bump chromium in DEPS to 111.0.5538.0
* chore: bump chromium in DEPS to 111.0.5540.0
* chore: update patches
* Remove sdk_forward_declarations
4166680
* task posting v3: Remove task runner handles from codebase entirely
Refs 4150928
* Cleanup child_process_launcher_helper*
Refs 4141863
* fix: utilityprocess spec on macOS
* fix: build on windows
Refs 4141863
* chore: fix lint
* chore: bump chromium 111.0.5544.3
* chore: gen filenames.libcxx.gni
* Add check for Executable+Writable handles in renderer processes.
Refs 3774416
* fixup! Add check for Executable+Writable handles in renderer processes.
* 4143761: [110] Disable SwiftShader for WebGL on M1 Macs.
4143761
(cherry picked from commit 2f74db3c2139424c416f92d9169aeaa8a2f9c1ec)
* chore: bump chromium to 111.0.5555.0
* 56085: Remove hmac.h include from ssl.h.
https://boringssl-review.googlesource.com/c/boringssl/+/56085
* 4167020: Remove forwarding headers
4167020
* chore: bump chromium to 111.0.5559.0
* 4181044: Restrict WebCursor usage to RenderWidgetHostViewAura
4181044
* 4189437: views: rename ink_drop_host_view to ink_drop_host
4189437
* chore: bump chromium to 111.0.5560.0
* 4167016: win7dep: remove non aeroglass code
4167016
* fixup after rebase: Remove forwarding header
s 4167020
* 4125755: Reland "Reject getDisplayMedia calls without user activation"
4125755
* test: add workaround
* chore: update patches
* fix: alter coreModuleRegExp to prevent arm crash
* Revert "fix: alter coreModuleRegExp to prevent arm crash"
This reverts commit 7e50630c98137831a711c5abdbc8809e60cf1d73.
* 4218354: Disable the use of preserve_most on arm64 Windows
4218354
* chore: review changes
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>