Cheng Zhao
92c5ff30a7
build: add flag for setting vendor version ( #41247 )
2024-02-06 14:23:17 -08:00
Cheng Zhao
d13a93fb61
chore: remove node patches by using the preload feature ( #41080 )
2024-01-24 09:54:32 -06:00
Shelley Vohr
6803624576
fix: check for Node.js-created module when contextIsolation
disabled ( #40993 )
2024-01-16 14:29:00 +01:00
Charles Kerr
f36ceae024
chore: migrate base::StringPiece to std::string_view ( #40915 )
...
* chore: migrate from base::StringPiece to std::string_view in keyboard_util.cc
* chore: migrate from base::StringPiece to std::string_view in error_thrower.cc
* chore: migrate from base::StringPiece to std::string_view in electron_api_web_contents.cc
* chore: migrate from base::StringPiece to std::string_view in gin_helper/dictionary.h
* chore: migrate from base::StringPiece to std::string_view in electron_api_url_loader.cc
* chore: phase out internal use of base:::StringPiece
`base::StringPiece` is being phased out upstream. Its code has been
removed upstream and it's just a typedef for `std::string_view`.
They haven't removed the typedef yet, so this PR tries to get ahead
of future breakage by migrating "internal" use (i.e. leaving alone the
places where the `base::StringPiece` name is coming from an upstream
method that we override).
Xref: https://bugs.chromium.org/p/chromium/issues/detail?id=691162
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4294483
Xref: https://docs.google.com/document/d/1d4RnD1uAE2t4iANR0nXy82ASIPGsPuw2mpO6v6T7JKs
2024-01-10 19:00:37 -06:00
Milan Burda
892c9d78a3
chore: replace absl::optional<T> with std::optional<T> ( #40928 )
...
* chore: replace absl::optional<T> with std::optional<T>
* IWYU
2024-01-10 16:23:35 -06:00
Devraj Mehta
8c71e2adc9
feat: add net module to utility process ( #40017 )
...
* 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>
2024-01-04 16:20:37 -05:00
Jeremy Rose
15c6014324
feat: replace BrowserView with WebContentsView ( #35658 )
2023-12-13 13:01:03 -08:00
Shelley Vohr
9c94fd7afb
chore: upgrade to Node.js v20 ( #40545 )
...
* chore: upgrade to Node.js v20
* src: allow embedders to override NODE_MODULE_VERSION
https://github.com/nodejs/node/pull/49279
* src: fix missing trailing ,
https://github.com/nodejs/node/pull/46909
* src,tools: initialize cppgc
https://github.com/nodejs/node/pull/45704
* tools: allow passing absolute path of config.gypi in js2c
https://github.com/nodejs/node/pull/49162
* tools: port js2c.py to C++
https://github.com/nodejs/node/pull/46997
* doc,lib: disambiguate the old term, NativeModule
https://github.com/nodejs/node/pull/45673
* chore: fixup Node.js BSSL tests
* https://github.com/nodejs/node/pull/49492
* https://github.com/nodejs/node/pull/44498
* deps: upgrade to libuv 1.45.0
https://github.com/nodejs/node/pull/48078
* deps: update V8 to 10.7
https://github.com/nodejs/node/pull/44741
* test: use gcUntil() in test-v8-serialize-leak
https://github.com/nodejs/node/pull/49168
* module: make CJS load from ESM loader
https://github.com/nodejs/node/pull/47999
* src: make BuiltinLoader threadsafe and non-global
https://github.com/nodejs/node/pull/45942
* chore: address changes to CJS/ESM loading
* module: make CJS load from ESM loader (https://github.com/nodejs/node/pull/47999 )
* lib: improve esm resolve performance (https://github.com/nodejs/node/pull/46652 )
* bootstrap: optimize modules loaded in the built-in snapshot
https://github.com/nodejs/node/pull/45849
* test: mark test-runner-output as flaky
https://github.com/nodejs/node/pull/49854
* lib: lazy-load deps in modules/run_main.js
https://github.com/nodejs/node/pull/45849
* url: use private properties for brand check
https://github.com/nodejs/node/pull/46904
* test: refactor `test-node-output-errors`
https://github.com/nodejs/node/pull/48992
* assert: deprecate callTracker
https://github.com/nodejs/node/pull/47740
* src: cast v8::Object::GetInternalField() return value to v8::Value
https://github.com/nodejs/node/pull/48943
* test: adapt test-v8-stats for V8 update
https://github.com/nodejs/node/pull/45230
* tls: ensure TLS Sockets are closed if the underlying wrap closes
https://github.com/nodejs/node/pull/49327
* test: deflake test-tls-socket-close
https://github.com/nodejs/node/pull/49575
* net: fix crash due to simultaneous close/shutdown on JS Stream Sockets
https://github.com/nodejs/node/pull/49400
* net: use asserts in JS Socket Stream to catch races in future
https://github.com/nodejs/node/pull/49400
* lib: fix BroadcastChannel initialization location
https://github.com/nodejs/node/pull/46864
* src: create BaseObject with node::Realm
https://github.com/nodejs/node/pull/44348
* src: implement DataQueue and non-memory resident Blob
https://github.com/nodejs/node/pull/45258
* sea: add support for V8 bytecode-only caching
https://github.com/nodejs/node/pull/48191
* chore: fixup patch indices
* gyp: put filenames in variables
https://github.com/nodejs/node/pull/46965
* build: modify js2c.py into GN executable
* fix: (WIP) handle string replacement of fs -> original-fs
* [v20.x] backport vm-related memory fixes
https://github.com/nodejs/node/pull/49874
* src: make BuiltinLoader threadsafe and non-global
https://github.com/nodejs/node/pull/45942
* src: avoid copying string in fs_permission
https://github.com/nodejs/node/pull/47746
* look upon my works ye mighty
and dispair
* chore: patch cleanup
* [api] Remove AllCan Read/Write
https://chromium-review.googlesource.com/c/v8/v8/+/5006387
* fix: missing include for NODE_EXTERN
* chore: fixup patch indices
* fix: fail properly when js2c fails in Node.js
* build: fix js2c root_gen_dir
* fix: lib/fs.js -> lib/original-fs.js
* build: fix original-fs file xforms
* fixup! module: make CJS load from ESM loader
* build: get rid of CppHeap for now
* build: add patch to prevent extra fs lookup on esm load
* build: greatly simplify js2c modifications
Moves our original-fs modifications back into a super simple python script action, wires up the output of that action into our call to js2c
* chore: update to handle moved internal/modules/helpers file
* test: update @types/node test
* feat: enable preventing cppgc heap creation
* feat: optionally prevent calling V8::EnableWebAssemblyTrapHandler
* fix: no cppgc initialization in the renderer
* gyp: put filenames in variables
https://github.com/nodejs/node/pull/46965
* test: disable single executable tests
* fix: nan tests failing on node headers missing file
* tls,http2: send fatal alert on ALPN mismatch
https://github.com/nodejs/node/pull/44031
* test: disable snapshot tests
* https://github.com/nodejs/node/pull/47887
* https://github.com/nodejs/node/pull/49684
* https://github.com/nodejs/node/pull/44193
* build: use deps/v8 for v8/tools
Node.js hard depends on these in their builtins
* test: fix edge snapshot stack traces
https://github.com/nodejs/node/pull/49659
* build: remove js2c //base dep
* build: use electron_js2c_toolchain to build node_js2c
* fix: don't create SafeSet outside packageResolve
Fixes failure in parallel/test-require-delete-array-iterator:
=== release test-require-delete-array-iterator ===
Path: parallel/test-require-delete-array-iterator
node:internal/per_context/primordials:426
constructor(i) { super(i); } // eslint-disable-line no-useless-constructor
^
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator))
at new Set (<anonymous>)
at new SafeSet (node:internal/per_context/primordials:426:22)
* fix: failing crashReporter tests on Linux
These were failing because our change from node::InitializeNodeWithArgs to
node::InitializeOncePerProcess meant that we now inadvertently called
PlatformInit, which reset signal handling. This meant that our intentional
crash function ElectronBindings::Crash no longer worked and the renderer process
no longer crashed when process.crash() was called. We don't want to use Node.js'
default signal handling in the renderer process, so we disable it by passing
kNoDefaultSignalHandling to node::InitializeOncePerProcess.
* build: only create cppgc heap on non-32 bit platforms
* chore: clean up util:CompileAndCall
* src: fix compatility with upcoming V8 12.1 APIs
https://github.com/nodejs/node/pull/50709
* fix: use thread_local BuiltinLoader
* chore: fixup v8 patch indices
---------
Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>
Co-authored-by: Samuel Attard <marshallofsound@electronjs.org>
2023-11-30 09:51:35 -05:00
electron-roller[bot]
5c7579ab1c
chore: bump chromium to 121.0.6147.0 (main) ( #40523 )
...
* chore: bump chromium in DEPS to 121.0.6128.0
* build: update patches
* refactor: remove instrumentation from extensions code
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5002404
* refactor: modernization of tabs_api
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/4997031
* fix: add RecordHover and RecordDrag handlers
* build: add missing pdf files
* chore: bump chromium in DEPS to 121.0.6129.0
* chore: bump chromium in DEPS to 121.0.6131.0
* chore: update patches
* refactor: remove will_cause_resize from ExitFullscreen
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5031312
* chore: add missing std converter include
Before these were being inferred as std::string implicitly, not anymore
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5029573
* chore: Unwrap UserScriptList from unique_ptrs
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5005198
* refactor: add PDF internal id into PDF stream info
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/4876972
* refactor: add metadata to view classes
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/4994885
* chore: run lint --fix
* chore: update libc++ filenames
* chore: clean up menubar
* chore: update patches after main merge
* 5010979: Replace base::WStringPiece usage with std::wstring_view | https://chromium-review.googlesource.com/c/chromium/src/+/5010979
* chore: bump chromium in DEPS to 121.0.6142.0
* chore: update patches
* 4969574: Refactor NativeDesktopMediaList | https://chromium-review.googlesource.com/c/chromium/src/+/4969574
* 5031192: [blink] Create new blink test suite that doesn't create blink Isolate | https://chromium-review.googlesource.com/c/chromium/src/+/5031192
* chore: update v8/devtools patches
* 5040722: [base] Replace MakeFixedFlatTreeSorted with tag type overloads | https://chromium-review.googlesource.com/c/chromium/src/+/5040722
* 5026474: Add --generate-pdf-document-outline | https://chromium-review.googlesource.com/c/chromium/src/+/5026474
* 5024297: Change parameter of CheckMediaAccessPermission from GURL to URL::Origin | https://chromium-review.googlesource.com/c/chromium/src/+/5024297
* 5034217: [RWS] Remove CanonicalCookie::IsSameParty method | https://chromium-review.googlesource.com/c/chromium/src/+/5034217
* 5037192: Rewrite usage of RenderFrame::GetRoutingID | https://chromium-review.googlesource.com/c/chromium/src/+/5037192
* 5041802: Reland "Incorporate policy override for OOPPD feature" | https://chromium-review.googlesource.com/c/chromium/src/+/5041802
* chore: bump chromium in DEPS to 121.0.6143.0
* chore: bump chromium in DEPS to 121.0.6145.0
* chore: update chromium patches
* 5049986: Use std::unique_ptr for MenuItemView::submenu_ member. | https://chromium-review.googlesource.com/c/chromium/src/+/5049986
* 5041595: picture-in-picture: Add PictureInPictureOcclusionTracker | https://chromium-review.googlesource.com/c/chromium/src/+/5041595
* chore: update all patches
* chore: bump chromium in DEPS to 121.0.6147.0
* chore: update patches
* 5051069: Use base::FunctionRef for BrowserPluginGuestManager. | https://chromium-review.googlesource.com/c/chromium/src/+/5051069
* 5057330: [base] Remove base::Erase()/base::EraseIf() overloads for std::set | https://chromium-review.googlesource.com/c/chromium/src/+/5057330
* fixup! 5041802: Reland "Incorporate policy override for OOPPD feature" | https://chromium-review.googlesource.com/c/chromium/src/+/5041802
* 5017518: Remove PPAPI if NaCl is disabled | https://chromium-review.googlesource.com/c/chromium/src/+/5017518
* 5002232: [DevTools] Console Insights: move from build flag to Feature API | https://chromium-review.googlesource.com/c/chromium/src/+/5002232
* 4970322: [X11] Move utils into x11::Connection | https://chromium-review.googlesource.com/c/chromium/src/+/4970322
* 5048950: Let MenuModelAdapter::CreateMenu return a std::unique_ptr<>. | https://chromium-review.googlesource.com/c/chromium/src/+/5048950
* chore: update libcxx filenames
* use Context::Scope in RunScriptsAtDocument{Start,End}
* 4775128: content: Reuse CC instance for main frame navigations
https://chromium-review.googlesource.com/c/chromium/src/+/4775128
* also wrap WebWorkerObserver::ContextWillDestroy with Context::Scope
* set LIBCPP_HARDENING_MODE
https://chromium-review.googlesource.com/c/chromium/src/+/5014271
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Samuel Attard <marshallofsound@electronjs.org>
Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>
Co-authored-by: VerteDinde <keeleymhammond@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2023-11-28 13:40:12 -08:00
Shelley Vohr
e78ce82641
fix: do not call after()
async_hook
for asyncId
0 ( #40574 )
...
fix: do not call after() async_hook for asyncId 0
2023-11-22 17:37:40 +01:00
Samuel Attard
d6bb9b40b0
feat: add webUtils module with getPathForFile method ( #38776 )
...
* feat: add blinkUtils module with getPathForFile method
This is designed to replace the File.path augmentation
we currently have in place to allow apps to get the filesystem
path for a file that blink has a representation of.
File.path is non-standard and messes with certain websites, using
a method like this is effectively 0-cost and removes one of the final
deviations we have with web standards.
* add error
* refactor: update per PR feedback
* chore: update patches
* oops
* chore: update patches
* chore: update patches
* feat: add blinkUtils module with getPathForFile method
This is designed to replace the File.path augmentation
we currently have in place to allow apps to get the filesystem
path for a file that blink has a representation of.
File.path is non-standard and messes with certain websites, using
a method like this is effectively 0-cost and removes one of the final
deviations we have with web standards.
* add error
* refactor: update per PR feedback
* chore: update patches
* oops
* chore: update patches
* chore: update patches
* chore: update patches
* fix: provide isolate to WebBlob::FromV8Value
* chore: add tests
* build: fix depshash mismatch on arm64 macOS
---------
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
2023-11-20 15:59:36 -08:00
David Sanders
cf5f0419f1
chore: fix some typos ( #40506 )
2023-11-12 19:51:56 -08:00
Charles Kerr
f6e8a42c48
refactor: remove unused fields, methods in gin_helper::Locker ( #39803 )
...
* refactor: remove unused field gin_helper::Locker::g_is_browser_process
refactor: remove unused field gin_helper::Locker::g_is_renderer_process
refactor: make field const gin_helper::Locker::locker_
* refactor: remove unused declaration gin_helper::Locker::new()
refactor: remove unused declaration gin_helper::Locker::delete()
* refactor: make field const electron::JavascriptEnvironment::locker_
* refactor: remove unused #include gin_helper/locker.h
2023-09-12 16:53:20 -07:00
Samuel Attard
16aec702b4
fix: ensure app load is limited to real asar files when appropriate ( #39788 )
2023-09-11 11:51:14 -07:00
Charles Kerr
792037b338
fix: raw_ptr destruction order in NodeBindings ( #39762 )
2023-09-07 18:25:17 -05:00
Samuel Attard
ac031bf8de
feat: I guess it's esm ( #37535 )
...
* fix: allow ESM loads from within ASAR files
* fix: ensure that ESM entry points finish loading before app ready
* fix: allow loading ESM entrypoints via default_app
* fix: allow ESM loading for renderer preloads
* docs: document current known limitations of esm
* chore: add patches to support blending esm handlers
* refactor: use SetDefersLoading instead of JoinAppCode in renderers
Blink has it's own event loop so pumping the uv loop in the renderer is not enough, luckily in blink we can suspend the loading of the frame while we do additional work.
* chore: add patch to expose SetDefersLoading
* fix: use fileURLToPath instead of pathname
* chore: update per PR feedback
* fix: fs.exists/existsSync should never throw
* fix: convert path to file url before importing
* fix: oops
* fix: oops
* Update docs/tutorial/esm-limitations.md
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* windows...
* windows...
* chore: update patches
* spec: fix tests and document empty body edge case
* Apply suggestions from code review
Co-authored-by: Daniel Scalzi <d_scalzi@yahoo.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* spec: add tests for esm
* spec: windows
* chore: update per PR feedback
* chore: update patches
* Update shell/common/node_bindings.h
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* chore: update patches
* rebase
* use cjs loader by default for preload scripts
* chore: fix lint
* chore: update patches
* chore: update patches
* chore: fix patches
* build: debug depshash
* ?
* Revert "build: debug depshash"
This reverts commit 0de82523fb93f475226356b37418ce4b69acdcdf.
* chore: allow electron as builtin protocol in esm loader
* Revert "Revert "build: debug depshash""
This reverts commit ff86b1243ca6d05c9b3b38e0a6d717fb380343a4.
* chore: fix esm doc
* chore: update node patches
---------
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: electron-patch-conflict-fixer[bot] <83340002+electron-patch-conflict-fixer[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Daniel Scalzi <d_scalzi@yahoo.com>
2023-08-30 17:38:07 -07:00
Charles Kerr
35969939a1
refactor: node::Environment self-cleanup ( #39604 )
...
* chore: savepoint
* chore: turn raw_ptr tests back off
2023-08-23 09:56:16 -04:00
Charles Kerr
213388cd87
refactor: prefer Sorted variant of MakeFixedFlatSet() ( #39537 )
...
perf: prefer Sorted variant of MakeFixedFlatSet()
https://chromium-review.googlesource.com/c/chromium/src/+/4660000
says that the sorted version is simpler at compile time because it
can skip MakeFixedFlatSet()'s compile-time dynamic sorting.
2023-08-17 08:58:04 -05:00
Shelley Vohr
22429e2112
refactor: clean up Node.js cli arg parsing ( #39465 )
...
* refactor: clean up Node.js arg parsing
* chore: feedback from review
2023-08-15 14:49:21 -04:00
Robo
bee5d94886
feat: support dns-result-order Node.js cli flag ( #39376 )
...
* feat: support dns-result-order Node.js cli flag
* chore: update docs
Co-authored-by: Erick Zhao <erick@hotmail.ca>
* chore: remove patch
---------
Co-authored-by: Erick Zhao <erick@hotmail.ca>
2023-08-15 12:19:45 +02:00
electron-roller[bot]
ef5d5f888d
chore: bump node to v18.17.1 (main) ( #39457 )
...
* chore: bump node in DEPS to v18.17.1
* chore: update patches
* policy: disable process.binding() when enabled
d4570fae35
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2023-08-15 10:06:55 +02:00
Shelley Vohr
2e0517c0ad
feat: allow more Node.js cli flags in main process ( #39344 )
...
* feat: allow more Node.js cli flags in main process
* docs: update cli switch documentation
2023-08-04 19:59:40 +09:00
Shelley Vohr
8874306dc0
fix: window.open
causing occasional Node.js crashes ( #38754 )
...
* fix: window.open causing occasional Node.js crashes
* chore: always free isolate data
* chore: clear pending ticks in worker thread
* fix: UAF crash when creating WebWorkerObserver
---------
Co-authored-by: deepak1556 <hop2deep@gmail.com>
2023-07-18 10:41:50 +02:00
Charles Kerr
5ad8b4b7d1
chore: remove unused std includes ( #38767 )
2023-06-14 11:07:18 -07:00
Charles Kerr
167c2b250e
refactor: use compile-time cli arg sets. ( #38748 )
...
We're currently building these on the heap with `std::set<std::string>`
but this can be a very small compile-time container instead.
Marking as 'refactor' rather than 'perf' since this isn't called often,
but moving from heap to compile-time is good and using this container
makes the code more readable.
2023-06-13 14:37:59 -05:00
Milan Burda
bb2ba35b51
refactor: use process_util.h
helpers ( #38574 )
...
refactor: use process_util.h helpers
2023-06-06 17:19:13 +09:00
Milan Burda
06cc9caeaa
build: remove enable_desktop_capturer flag ( #38412 )
...
feat: remove enable_desktop_capturer flag
Co-authored-by: Milan Burda <miburda@microsoft.com>
2023-05-24 15:32:31 -04:00
Robo
0240f6664e
fix: crash in utilityProcess when generating code from strings ( #38014 )
2023-04-20 09:27:02 +09:00
electron-roller[bot]
de192c2db2
chore: bump node to v18.16.0 (main) ( #37973 )
...
* chore: bump node in DEPS to v18.16.0
* build,test: add proper support for IBM i
https://github.com/nodejs/node/pull/46739
* lib: enforce use of trailing commas
https://github.com/nodejs/node/pull/46881
* src: add initial support for single executable applications
https://github.com/nodejs/node/pull/45038
* lib: do not crash using workers with disabled shared array buffers
https://github.com/nodejs/node/pull/41023
* src: remove shadowed variable in OptionsParser::Parse
https://github.com/nodejs/node/pull/46672
* src: allow embedder control of code generation policy
https://github.com/nodejs/node/pull/46368
* src: allow optional Isolate termination in node::Stop()
https://github.com/nodejs/node/pull/46583
* lib: fix BroadcastChannel initialization location
https://github.com/nodejs/node/pull/46864
* chore: fixup patch indices
* chore: sync filenames.json
* fix: add simdutf dep to src/inspector BUILD.gn
- https://github.com/nodejs/node/pull/46471
- https://github.com/nodejs/node/pull/46472
* deps: replace url parser with Ada
https://github.com/nodejs/node/pull/46410
* tls: support automatic DHE
https://github.com/nodejs/node/pull/46978
* fixup! src: add initial support for single executable applications
* http: unify header treatment
https://github.com/nodejs/node/pull/46528
* fix: libc++ buffer overflow in string_view ctor
https://github.com/nodejs/node/pull/46410
* test: include strace openat test
https://github.com/nodejs/node/pull/46150
* fixup! fixup! src: add initial support for single executable applications
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2023-04-18 22:23:11 +02:00
Jeremy Rose
e9d5c3517c
fix: apply csp correctly when contextIsolation: false ( #37756 )
...
* fix: apply csp correctly when contextIsolation: false
* better comments
2023-04-04 17:31:49 +09:00
Shelley Vohr
6395898a79
refactor: use associated v8::Context
for event setup ( #37355 )
...
refactor: use associated v8::Context for event setup
2023-02-22 10:03:46 +01:00
Jeremy Rose
71944f2c3b
refactor: simplify events ( #37099 )
2023-02-13 13:39:18 -08:00
Milan Burda
35a9e67dba
chore: rename built-in modules to bindings to match naming update in node ( #37182 )
2023-02-09 10:31:38 +09:00
Milan Burda
6a3cb34326
fix: expose native bindings by process type ( #35949 )
2023-02-07 20:22:18 -05:00
electron-roller[bot]
d02c9f8bc6
chore: bump chromium to 111.0.5544.3 (main) ( #36820 )
...
* 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: https://chromium-review.googlesource.com/c/chromium/src/+/4132807
Fix simple code shear
* chore: update patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4130675
Fix simple code shear
* chore: update patches/chromium/hack_plugin_response_interceptor_to_point_to_electron.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4144281
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/chromium/disable_unload_metrics.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4126173
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/chromium/feat_add_data_parameter_to_processsingleton.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4144281
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/chromium/preconnect_manager.patch
https://chromium-review.googlesource.com/c/chromium/src/+/4144281
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/v8/force_cppheapcreateparams_to_be_noncopyable.patch
https://chromium-review.googlesource.com/c/v8/v8/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/4134103
[upstream removal of RenderViewHostChanged]
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4092763
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4093234
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4133892
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/4133323
manually reync patch; no code changes
* chore: sync patches/chromium/mas_no_private_api.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/4111725
manually reync patch; no code changes
* chore: sync patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4133323
manually reync patch; no code changes
* chore: sync patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/4127230
patch-fuzz update; no manual changes
* chore: rebuild patches
* fixup! Remove RenderViewHostChanged
Use PrimaryPageChanged()
* chore: remove unused method TabsUpdateFunction::OnExecuteCodeFinished()
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/4141862
patch-fuzz update; no manual changes
* chore: sync patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4153110
Sync to minor upstream changes. Add const correctness.
* chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch
https://chromium-review.googlesource.com/c/chromium/src/+/4141862
patch-fuzz update; no manual changes
* chore: patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
sync https://chromium-review.googlesource.com/c/v8/v8/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/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: https://chromium-review.googlesource.com/c/chromium/src/+/4126836
patch-fuzz update; no manual changes
* chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4141863
manual sync
* chore: sync electron/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
https://chromium-review.googlesource.com/c/v8/v8/+/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
https://chromium-review.googlesource.com/c/chromium/src/+/4166680
* task posting v3: Remove task runner handles from codebase entirely
Refs https://chromium-review.googlesource.com/c/chromium/src/+/4150928
* Cleanup child_process_launcher_helper*
Refs https://chromium-review.googlesource.com/c/chromium/src/+/4141863
* fix: utilityprocess spec on macOS
* fix: build on windows
Refs https://chromium-review.googlesource.com/c/chromium/src/+/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 https://chromium-review.googlesource.com/c/chromium/src/+/3774416
* fixup! Add check for Executable+Writable handles in renderer processes.
* 4143761: [110] Disable SwiftShader for WebGL on M1 Macs.
https://chromium-review.googlesource.com/c/chromium/src/+/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
https://chromium-review.googlesource.com/c/chromium/src/+/4167020
* chore: bump chromium to 111.0.5559.0
* 4181044: Restrict WebCursor usage to RenderWidgetHostViewAura
https://chromium-review.googlesource.com/c/chromium/src/+/4181044
* 4189437: views: rename ink_drop_host_view to ink_drop_host
https://chromium-review.googlesource.com/c/chromium/src/+/4189437
* chore: bump chromium to 111.0.5560.0
* 4167016: win7dep: remove non aeroglass code
https://chromium-review.googlesource.com/c/chromium/src/+/4167016
* fixup after rebase: Remove forwarding header
s https://chromium-review.googlesource.com/c/chromium/src/+/4167020
* 4125755: Reland "Reject getDisplayMedia calls without user activation"
https://chromium-review.googlesource.com/c/chromium/src/+/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
https://chromium-review.googlesource.com/c/v8/v8/+/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>
2023-02-03 12:43:42 +01:00
Robo
fefb22a83d
chore: enable microtask queue per window agent ( #36870 )
...
* chore: enable microtask queue per window agent
* chore: switch policies on context microtask queue
* fix: ensure node::Environment is valid
2023-01-12 01:59:32 +09:00
Jeremy Rose
9e7fbc7021
fix: blend node and blink code generation policy when both are loaded ( #36567 )
2022-12-14 10:05:34 -08:00
Robo
2c723d7e84
fix: enable crashpad for ELECTRON_RUN_AS_NODE processes ( #36460 )
...
* wip: enable crashpad for node processes
fix: add PID testing method
wip: plumb fd into child_process in node
* node::ProcessInitializationFlags::kNoDefaultSignalHandling
* chore: clean up debug logging
* chore: gate platform includes
* test: clean up node process test
* fix: pass pid in node_main
* chore: cleanup impl
* chore: fixup patch method definition
* fix: expose bound methods to node_main
* fix: remove bound methods
* fix: crashpad connection for all ELECTRON_RUN_AS_NODE processes
* chore: fix typo
* chore: address review feedback
* chore: delay crashpad initialization
* chore: ensure options.env, code hygiene
* chore: add argv test, check for process.env over {}
* fix: fix test, return options.env immutability
Co-authored-by: VerteDinde <keeleymhammond@gmail.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
2022-11-29 10:33:54 -05:00
Samuel Attard
a9ef68f126
refactor: change defined(MAS_BUILD) to IS_MAS_BUILD() ( #36332 )
...
* refactor: change defined(MAS_BUILD) to IS_MAS_BUILD()
This is missing-definition safe and thus allows us to move the definition of this macro away from "all compilation targets" to "just the compilation targets that depend on this macro".
In turn this makes the rebuild time changing from mas <-> darwin only 80 seconds on my machine, instead of the 12-15 minutes it used to take. This will also allow us in the future to build both MAS and darwin on the same CI machine. Costing us ~2 minutes on one machine but saving us anywhere from 30 minutes to an hour of CI time on other parts of the matrix.
* build: always define IS_MAS_BUILD even on non-mac builds
* build: use extra_configs
2022-11-14 12:46:52 -08:00
Shelley Vohr
75d2caf451
chore: upgrade to Node.js v18 ( #35999 )
...
* chore: update to Node.js v18
* child_process: improve argument validation
https://github.com/nodejs/node/pull/41305
* bootstrap: support configure-time user-land snapshot
https://github.com/nodejs/node/pull/42466
* chore: update GN patch
* src: disambiguate terms used to refer to builtins and addons
https://github.com/nodejs/node/pull/44135
* src: use a typed array internally for process._exiting
https://github.com/nodejs/node/pull/43883
* chore: lib/internal/bootstrap -> lib/internal/process
* src: disambiguate terms used to refer to builtins and addons
https://github.com/nodejs/node/pull/44135
* chore: remove redudant browserGlobals patch
* chore: update BoringSSL patch
* src: allow embedder-provided PageAllocator in NodePlatform
https://github.com/nodejs/node/pull/38362
* chore: fixup Node.js crypto tests
- https://github.com/nodejs/node/pull/44171
- https://github.com/nodejs/node/pull/41600
* lib: add Promise methods to avoid-prototype-pollution lint rule
https://github.com/nodejs/node/pull/43849
* deps: update V8 to 10.1
https://github.com/nodejs/node/pull/42657
* src: add kNoBrowserGlobals flag for Environment
https://github.com/nodejs/node/pull/40532
* chore: consolidate asar initialization patches
* deps: update V8 to 10.1
https://github.com/nodejs/node/pull/42657
* deps: update V8 to 9.8
https://github.com/nodejs/node/pull/41610
* src,crypto: remove AllocatedBuffers from crypto_spkac
https://github.com/nodejs/node/pull/40752
* build: enable V8's shared read-only heap
https://github.com/nodejs/node/pull/42809
* src: fix ssize_t error from nghttp2.h
https://github.com/nodejs/node/pull/44393
* chore: fixup ESM patch
* chore: fixup patch indices
* src: merge NativeModuleEnv into NativeModuleLoader
https://github.com/nodejs/node/pull/43824
* [API] Pass OOMDetails to OOMErrorCallback
https://chromium-review.googlesource.com/c/v8/v8/+/3647827
* src: iwyu in cleanup_queue.cc
* src: return Maybe from a couple of functions
https://github.com/nodejs/node/pull/39603
* src: clean up embedder API
https://github.com/nodejs/node/pull/35897
* src: refactor DH groups to delete crypto_groups.h
https://github.com/nodejs/node/pull/43896
* deps,src: use SIMD for normal base64 encoding
https://github.com/nodejs/node/pull/39775
* chore: remove deleted source file
* chore: update patches
* chore: remove deleted source file
* lib: add fetch
https://github.com/nodejs/node/pull/41749
* chore: remove nonexistent node specs
* test: split report OOM tests
https://github.com/nodejs/node/pull/44389
* src: trace fs async api
https://github.com/nodejs/node/pull/44057
* http: trace http request / response
https://github.com/nodejs/node/pull/44102
* test: split test-crypto-dh.js
https://github.com/nodejs/node/pull/40451
* crypto: introduce X509Certificate API
https://github.com/nodejs/node/pull/36804
* src: split property helpers from node::Environment
https://github.com/nodejs/node/pull/44056
* https://github.com/nodejs/node/pull/38905
bootstrap: implement run-time user-land snapshots via --build-snapshot and --snapshot-blob
* lib,src: implement WebAssembly Web API
https://github.com/nodejs/node/pull/42701
* fixup! deps,src: use SIMD for normal base64 encoding
* fixup! src: refactor DH groups to delete crypto_groups.h
* chore: fixup base64 GN file
* fix: check that node::InitializeContext() returns true
* chore: delete _noBrowserGlobals usage
* chore: disable fetch in renderer procceses
* dns: default to verbatim=true in dns.lookup()
https://github.com/nodejs/node/pull/39987
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
2022-11-10 22:31:20 +01:00
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
Shelley Vohr
c76a931e20
fix: TryCatch
scope in node_bindings ( #35850 )
...
fix: TryCatch scope in node_bindings
2022-10-03 23:35:20 -07:00
Shelley Vohr
1847581848
fix: crash on WebWorker destruction ( #35422 )
2022-08-29 15:45:48 +02:00
Zuohui Yang
cbc1ee5775
fix: add uv_loop_close when object release to fix crash ( #35322 )
...
Co-authored-by: yangzuohui <yangzuohui@bytedance.com>
2022-08-15 10:40:52 -04:00
Joan Xie
afd08c9450
feat: Enable APNS registration + notification delivery in macOS apps ( #33574 )
2022-07-12 08:38:49 -07:00
Milan Burda
f3f327823e
chore: move main process only accessible API bindings away from common ( #34634 )
2022-06-21 16:34:56 +09:00
electron-roller[bot]
5391211824
chore: bump node to v16.15.0 (main) ( #33947 )
...
* chore: bump node in DEPS to v16.15.0
* chore: update patches
* src: allow preventing InitializeInspector in env
https://github.com/nodejs/node/pull/35025
* chore: update node gn filenames
* crypto: change default check(Host|Email) behavior
* Revert "crypto: change default check(Host|Email) behavior"
This reverts commit 1f1eb23702fe9dfc09470248d6c1a673f42b80fe.
* update node crypto tests to work with boringssl
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2022-05-09 18:55:49 -04:00
Jeremy Rose
d8a7219d07
chore: stop using v8::Locker everywhere ( #34078 )
2022-05-05 11:50:21 -07:00
Cheng Zhao
c119b1ebef
chore: remove redundant code in node integration ( #33500 )
2022-03-29 20:09:42 -07:00
Cheng Zhao
4e66b072da
chore: update libuv patch for event loop integration ( #31647 )
...
* chore: update libuv patch for loop integration
* chore: update patches
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
2022-03-29 19:03:07 +09:00