Charles Kerr
e70ce89235
chore: more iwyu ( #43063 )
...
* chore: iwyu shell/browser/electron_pdf_document_helper_client.h
* chore: iwyu shell/browser/hid/electron_hid_delegate.h
* chore: iwyu content/public/browser/web_contents.h
* chore: iwyu shell/browser/usb/electron_usb_delegate.h
* chore: iwyu shell/browser/browser_observer.h
* chore: iwyu shell/browser/bluetooth/electron_bluetooth_delegate.h
* chore: iwyu shell/browser/serial/electron_serial_delegate.h
* chore: iwyu shell/browser/api/frame_subscriber.h
* chore: iwyu mojo/public/cpp/bindings/
* chore: iwyu components/
* chore: iwyu extensions/
* chore: iwyu shell/common/gin_helper/
* chore: iwyu v8/
* chore: iwyu base/containers/linked_list.h
* chore: iwyu shell/browser/native_window.h
* chore: iwyu shell/browser/api/electron_api_base_window.h
* chore: iwyu shell/common/node_includes.h
* chore: iwyu gin/handle.h
* chore: iwyu base/functional/callback.h
* chore: iwyu ui/gfx/
* chore: iwyu content/public/browser/render_frame_host.h
* fix: mac
* fix: mac
* fix: win
* chore: iwyu base/files/file_path.h
* chore: iwyu base/unguessable_token.h
* chore: iwyu ui/display/screen.h
* chore: iwyu chrome/browser/predictors/preconnect_manager.h
* chore: iwyu base/observer_list_types.h
* chore: iwyu content/public/browser/web_contents.h
* chore: iwyu chrome/browser/devtools/devtools_eye_dropper.h
* chore: iwyu shell/browser/ui/inspectable_web_contents.h
* chore: iwyu content/public/browser/keyboard_event_processing_result.h
* chore: iwyu net/cookies/canonical_cookie.h
* chore: iwyu net/base/address_list.h
* chore: iwyu net/cert/x509_certificate.h
* chore: iwyu net/cookies/cookie_change_dispatcher.h
* chore: iwyu net/dns/public/host_resolver_results.h
* fix: mac
* Revert "chore: iwyu net/cert/x509_certificate.h"
This reverts commit 002896f71146e90f1e29e090a1d6eede48cee11e.
2024-07-29 12:42:57 -05:00
Charles Kerr
df524c6eca
chore: use v8::Local<>, not v8::Handle<> ( #43019 )
...
v8::Handle is an alias for v8::Local that "is kept around for historical
reasons" and is disabled when V8_IMMINENT_DEPRECATION_WARNING is defined
2024-07-24 18:24:07 -05:00
Charles Kerr
60c4c9fec6
chore: remove unused #includes ( #42971 )
...
* chore: iwyu buildflags.h
* chore: iwyu dictionary.h
* chore: iwyu arguments.h
* chore: iwyu values.h
* chore: iwyu compiler_specific.h
* chore: iwyu binder_map.h
* chore: iwyu <vector>
* chore: iwyu <set>
* chore: iwyu raw_ptr
* chore: iwyu gfx/canvas.h
* chore: iwyu gfx/color_utils.h
* chore: iwyu base/strings/stringprintf.h
* chore: iwyu base/task/thread_pool.h
* chore: iwyu base/no_destructor.h
* chore: iwyu base/path_service.h
* chore: iwyu base/files/file_pathh
* chore: iwyu base/strings/sys_string_conversions.h
* chore: iwyu base/logging.h
* chore: iwyu base/command_line.h
* chore: iwyu base/files/file_util.h
* chore: iwyu base/files/scoped_file.h
* chore: iwyu base/strings/utf_string_conversions.h
* chore: iwyu base/environment.h
* chore: iwyu base/scoped_observation.h
* chore: iwyu base/strings/string_split.h
* chore: iwyu base/strings/pattern.h
* chore: iwyu base/json/string_escape.h
* chore: iwyu base/json/json_reader.h
* chore: iwyu base/memory/singleton.h
* chore: iwyu base/observer_list.h
* chore: iwyu base/timer/timer.h
* fixup! chore: iwyu values.h
* chore: iwyu shell/browser/browser.h
* chore: iwyu base/stl_util.h
* chore: iwyu base/strings/string_util.h
* chore: iwyu shell/browser/javascript_environment.h
* chore: iwyu base/memory/ref_counted.h
* chore: iwyu base/environment.h
* chore: iwyu content/public/browser/browser_thread.h
* chore: remove unused typedef gin_helper::EventEmitter::ValueArray
* chore: iwyu gin/wrappable.h
* chore: iwyu shell/common/gin_helper/function_template_extensions.h
* chore: iwyu shell/common/gin_converters/login_item_settings_converter.h
* chore: iwyu shell/common/gin_helper/arguments.h
* chore: iwyu ui/gfx/skia_util.h
* chore: iwyu ui/gfx/geometry/rect.h
* chore: iwyu ui/gfx/image/image.h
* chore: iwyu base/strings/strcat.h
* chore: iwyu ui/native_theme/native_theme.h
* fixup! chore: iwyu shell/browser/javascript_environment.h
* fixup! chore: iwyu gfx/canvas.h
* fixup! chore: iwyu content/public/browser/browser_thread.h
* fixup! chore: iwyu ui/native_theme/native_theme.h
* fixup! chore: iwyu ui/native_theme/native_theme.h
2024-07-22 11:31:32 +02:00
electron-roller[bot]
ec24b51808
chore: bump node to v20.15.0 (main) ( #42616 )
...
* chore: bump node in DEPS to v20.15.0
* doc: Add OpenSSL errors to API docs
https://github.com/nodejs/node/pull/34213
* test: crypto-rsa-dsa testing for dynamic openssl
https://github.com/nodejs/node/pull/52781
* src: allow preventing debug signal handler start
https://github.com/nodejs/node/pull/46681
* cli: allow running wasm in limited vmemory with --disable-wasm-trap-handler
https://github.com/nodejs/node/pull/52766
* chore: fixup indices
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-06-27 13:34:39 +02:00
George Xu
ba8ad4716b
feat: expose system preferences to utility process ( #42203 )
...
* chore: expose system preferences to utility process
* chore: add tests, doc changes and module-list update
* relative link
* use @
* fix test
* chore: disable linux test
* kick
* noop on windows utility process
2024-06-20 11:15:57 -04:00
electron-roller[bot]
c3b4cd987c
chore: bump chromium to 127.0.6521.0 (main) ( #42118 )
...
* chore: bump chromium in DEPS to 126.0.6470.0
* 5492605: Migrate TODOs referencing old crbug IDs to the new issue tracker IDs | https://chromium-review.googlesource.com/c/chromium/src/+/5492605
* 5513277: Move subresource-filter-ruleset to GCS | https://chromium-review.googlesource.com/c/chromium/src/+/5513277
* 5512656: Remove CustomizeChromeSupportsChromeRefresh2023 | https://chromium-review.googlesource.com/c/chromium/src/+/5512656
* 5516009: Accept mouse events in inactive window for Top Chrome WebUIs | https://chromium-review.googlesource.com/c/chromium/src/+/5516009
* 5376861: Change references to RWHVB in RWHIER and RenderWidgetTargeter to RWHVI. | https://chromium-review.googlesource.com/c/chromium/src/+/5376861
* 5490530: Use partition_alloc PA_BUILDFLAG(...) outside PA. #cleanup | https://chromium-review.googlesource.com/c/chromium/src/+/5490530
* 5296870: network: Allow trusted loaders to learn the sent request cookies. | https://chromium-review.googlesource.com/c/chromium/src/+/5296870
* 5453438: Delegate delegated ink trails to RWHI from RWHIER. | https://chromium-review.googlesource.com/c/chromium/src/+/5453438
* chore: update patches
* chore: bump chromium in DEPS to 126.0.6472.0
* chore: bump chromium in DEPS to 126.0.6474.0
* chore: update patches
* chore: bump chromium in DEPS to 126.0.6476.0
* chore: bump chromium in DEPS to 126.0.6478.0
* chore: bump chromium in DEPS to 126.0.6478.3
* chore: bump chromium in DEPS to 126.0.6478.8
* update patches
* only disable enterprise_cloud_content_analysis
* 5403888: [api] support v8::Data in v8::TracedReference and v8::EmbedderGraph
https://chromium-review.googlesource.com/c/v8/v8/+/5403888
* chore: bump chromium in DEPS to 127.0.6484.0
* chore: bump chromium in DEPS to 127.0.6485.0
* 5539004: Use NOTREACHED_IN_MIGRATION() in remaining chrome/ | https://chromium-review.googlesource.com/c/chromium/src/+/5539004
* src: cast to v8::Value before using v8::EmbedderGraph::V8Node | https://github.com/nodejs/node/pull/52638/files
* chore: update patches
* chore: update v8 patches
* chore: bump chromium in DEPS to 127.0.6486.0
* chore: bump chromium in DEPS to 127.0.6488.0
* chore: bump chromium in DEPS to 127.0.6490.0
* chore: bump chromium in DEPS to 127.0.6492.0
* chore: update patches
For some reason, `feat_expose_raw_response_headers_from_urlloader.patch` got messed up in an earlier commit.
* chore: update patches
printing.patch was updated due to https://chromium-review.googlesource.com/c/chromium/src/+/5535938
* 5527572: Move Connectors prefs files to components/enterprise/connectors/
https://chromium-review.googlesource.com/c/chromium/src/+/5527572
* chore: bump chromium in DEPS to 127.0.6494.0
* chore: bump chromium in DEPS to 127.0.6495.0
* chore: bump chromium in DEPS to 127.0.6496.0
* 5465511: [api] Mark v8::ObjectTemplate::SetAccessor(..) for deprecation
https://chromium-review.googlesource.com/c/v8/v8/+/5465511
* chore: revert v8 deprecation
See patch message for more details.
https://chromium-review.googlesource.com/c/v8/v8/+/5526611
* chore: update patches
* 5538771: Remove srcdoc else-if block in CalculateOrigin()
https://chromium-review.googlesource.com/c/chromium/src/+/5538771
* 5522321: [devtools] Support saving base64 encoded files via host bindings
https://chromium-review.googlesource.com/c/chromium/src/+/5522321
* 5376861: Change references to RWHVB in RWHIER and RenderWidgetTargeter to RWHVI.
https://chromium-review.googlesource.com/c/chromium/src/+/5376861
* 5530163: [media] Use VideoFrame::Plane typed enum instead of nameless enum
https://chromium-review.googlesource.com/c/chromium/src/+/5530163
* 5463431: iwa: Only create IsolatedWebAppURLLoaderFactory for subresources in IWAs
https://chromium-review.googlesource.com/c/chromium/src/+/5463431
* fixup! 5465511: [api] Mark v8::ObjectTemplate::SetAccessor(..) for deprecation https://chromium-review.googlesource.com/c/v8/v8/+/5465511
* 5512176: Remove OnEnvironmentEstimationComplete()
https://chromium-review.googlesource.com/c/chromium/src/+/5512176
* 5528282: Move Web Speech API .mojom files to //media/mojo/mojom
https://chromium-review.googlesource.com/c/chromium/src/+/5528282
* 5513740: Reland "[Extensions] Restructure extensions::ProcessMap"
https://chromium-review.googlesource.com/c/chromium/src/+/5513740
* 5483406: [PEPC] Make PEPC permission subscription take into account device status
https://chromium-review.googlesource.com/c/chromium/src/+/5483406
* 5526034: [DoH] Remove kDnsOverHttps feature flag
https://chromium-review.googlesource.com/c/chromium/src/+/5526034
The title is a bit misleading. They removed handling for the feature flag and generally intend to remove it but haven't yet.
I only changed our code to address the flag that was removed. A quick search on GitHub for `DnsOverHttpsFallback` yielded a few results, but they were all C++ chromium code or patches, 0 app code or discussion results. Since I couldn't find any evidence of this flag being used in developer applications, I've chosen to exclude this change from the breaking changes docs.
* chore: revert v8 removal
https://chromium-review.googlesource.com/c/v8/v8/+/5497515
See patch message for more details.
* chore: cherry-pick Node.js patch for V8 API removal fix
Node.js PR: https://github.com/nodejs/node/pull/52996
V8 API Removal CL: https://chromium-review.googlesource.com/c/v8/v8/+/5539888
See the patch description for more details.
* 5492183: Extensions: CodeHealth: Give enums some class
https://chromium-review.googlesource.com/c/chromium/src/+/5492183
* fixup! 5528282: Move Web Speech API .mojom files to //media/mojo/mojom https://chromium-review.googlesource.com/c/chromium/src/+/5528282
* 5514687: Reland "Add a secret handshake to the base::Feature constructor"
https://chromium-review.googlesource.com/c/chromium/src/+/5514687
* fixup! 5530163: [media] Use VideoFrame::Plane typed enum instead of nameless enum https://chromium-review.googlesource.com/c/chromium/src/+/5530163
* 5466238: PDF Viewer: add metrics to record if PDF is opened with a11y
https://chromium-review.googlesource.com/c/chromium/src/+/5466238
* 5502081: Migrate OnDisplayRemoved to OnDisplaysRemoved
https://chromium-review.googlesource.com/c/chromium/src/+/5502081
* 5539888: [api] Remove several APIs deprecated in version 12.6
https://chromium-review.googlesource.com/c/v8/v8/+/5539888
This commit essentially only removes the `only_terminate_in_safe_scope` isolate creation parameter. This undoes some work that was originally done in #35766 .
* 5498236: Make browser_tests force full async initialization for OSCrypt Async
https://chromium-review.googlesource.com/c/chromium/src/+/5498236
* fixup! 5528282: Move Web Speech API .mojom files to //media/mojo/mojom https://chromium-review.googlesource.com/c/chromium/src/+/5528282
* 5545807: Migrate most remaining NOTREACHED()
https://chromium-review.googlesource.com/c/chromium/src/+/5545807
I took a systematic approach to modifying all of our uses of `NOTREACHED` that were causing errors:
* If there was a `return` or `break` (etc.) immediately after `NOTREACHED`, I removed the control flow instruction and left the `NOTREACHED` unmodified
* All other instances were migrated to `NOTREACHED_IN_MIGRATION`
We should revisit pretty much all usage of `NOTREACHED` as an upgrade follow-up item.
* fixup! 5526034: [DoH] Remove kDnsOverHttps feature flag https://chromium-review.googlesource.com/c/chromium/src/+/5526034
Turns out the feature flags were removed in the `.cc` file, but not the
`.h` feature list file. This means that the feature flags are pretty
much officially gone. (The leftover symbols in the header are likely an
oversight from what I can gather.)
We may potentially decide to put this in the breaking changes doc if we
decide this feature flag is important enough to highlight.
* chore: bump chromium in DEPS to 127.0.6498.3
* chore: bump chromium in DEPS to 127.0.6500.0
* chore: bump chromium in DEPS to 127.0.6502.0
* chore: bump chromium in DEPS to 127.0.6504.0
* chore: bump chromium in DEPS to 127.0.6505.0
* chore: bump chromium in DEPS to 127.0.6508.0
* build: use Sha256Sum in script/sysroots.json
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5506275
* chore: update chore_add_electron_deps_to_gitignores.patch
Xref: no manual changes; patch applied with fuzz 2
* chore: update feat_allow_code_cache_in_custom_schemes.patch
Xref: no manual changes; patch applied with fuzz 1
* chore: e patches all
* fixup! build: use Sha256Sum in script/sysroots.json
`sync` succeeds now
* chore: replace absl::optional with std::optional
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5253843
* chore: update CalculatePreferredSize() to new upstream semantics
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5459174
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5541220
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5514708
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5504212
Xref: https://chromium-review.googlesource.com/516542
* chore: replace absl::optional with std::optional
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5296147
* chore: add kPip to enumeration as a no-op
https://chromium-review.googlesource.com/c/chromium/src/+/5546257
* [Autofill] Remove RenderFrame::ElementBoundsInWindow()
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5553982
* chore: fix feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch
need new header to pick up definition of BLINK_PLATFORM_EXPORT macro
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5463143
* chore: bump chromium in DEPS to 127.0.6510.0
* chore: update patches
* chore: fix include path for native_web_keyboard_event.h
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5541976
* chore: add currently-unused should_include_device_status arg to GetPermissionStatusForCurrentDocument()
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5545382
* chore: bump chromium in DEPS to 127.0.6512.0
* chore: update mas_avoid_private_macos_api_usage.patch.patch
No manual changes; patch applied with fuzz 1
* chore: update feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch
No manual changes; patch applied with fuzz 1
* chore: update webview_fullscreen.patch
No manual changes; patch applied with fuzz 1
* chore=: remove cherry-pick-22db6918bac9.patch
already present upstream
* chore: remove nonexistent patchfiles from .patches
* chore: remove cherry-pick-3e037e195e50.patch
no longer needed; merged upstream
* Update namespace for files moved to //components/input
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5563251
* Require client for InitParams to always specify an ownership mode.
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5532482
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5578714
* chore: e patches all
* fixup! Update namespace for files moved to //components/input
* chore: remove profile_keyed_service_factory, profile_selections from chromium_src
already being linked in via chrome browser for printing
* chore: bump chromium in DEPS to 127.0.6515.0
* chore: bump chromium in DEPS to 127.0.6516.0
* chore: update render_widget_host_view_base.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5547803
patch applied manually due to simple upstream shear
* chore: update feat_allow_code_cache_in_custom_schemes.patch
No manual changes; patch applied with fuzz 1
* chore: e patches all
* Pull RWHIER and RWT to //content/common/input.
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5397681
* chore: bump chromium in DEPS to 127.0.6517.0
* chore: update patches
* fixup: Update namespace for files moved to //components/input
* Remove 0-arg (default) constructor for views::Widget::InitParams.
https://chromium-review.googlesource.com/c/chromium/src/+/5578714
* fixup: only disable enterprise_cloud_content_analysis
The original commit a5480accc2
, was due to this CL 5527572: Move Connectors prefs files to components/enterprise/connectors/ | https://chromium-review.googlesource.com/c/chromium/src/+/5527572
* chore: bump chromium in DEPS to 127.0.6519.0
* chore: update patches
* src: do not use deprecated V8 API
https://github.com/nodejs/node/pull/53084
* src: remove dependency on wrapper-descriptor-based cpp heap
https://github.com/nodejs/node/pull/53086
* 5344413: [DevTools] Add `getHostConfig` UI binding for sending status of `base::Features` to DevTools
https://chromium-review.googlesource.com/c/chromium/src/+/5344413
* 5585788: Extensions: ManifestHandler: Separate Registry like ExtensionRegistry
https://chromium-review.googlesource.com/c/chromium/src/+/5585788
* chore: update filenames.libcxx.gni
* 5506857: Reland "Migrate clang-format to gcs first class deps"
https://chromium-review.googlesource.com/c/chromium/src/+/5506857
* fixup: 5539888: [api] Remove several APIs deprecated in version 12.6
* fixup: 5506857: Reland Migrate clang-format to gcs first class deps
* chore: bump chromium in DEPS to 127.0.6521.0
* chore: update patches
* spec: update navigator.keyboard should lock the keyboard
* Block or allow all MIDI using the existing SysEx permission
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5154368
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5499157
* spec: update test/parallel/test-v8-stats
* views: remove CalculatePreferredSize()
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5504212
* chore: update patches after rebase
* 5560288: Re-enable ChromeOS XNNPack on Intel only
https://chromium-review.googlesource.com/c/chromium/src/+/5560288
* chore: add nan patches for v8 changes
Refs
5539888: [api] Remove several APIs deprecated in version 12.6 | https://chromium-review.googlesource.com/c/v8/v8/+/5539888
and
5539852: [heap][api] Remove deprecated v8::Isolate::IdleNotificationDeadline | https://chromium-review.googlesource.com/c/v8/v8/+/5539852
* 5573603: Modularize //chrome/browser/themes
https://chromium-review.googlesource.com/c/chromium/src/+/5573603
* 5539888: [api] Remove several APIs deprecated in version 12.6
https://chromium-review.googlesource.com/c/v8/v8/+/5539888
* chore: update patches
* test: fixup navigator.keyboard.lock on Windows
* chore: remove unneeded profile target
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
2024-06-07 17:18:35 -04:00
Shelley Vohr
43a9f70d19
feat: support NODE_EXTRA_CA_CERTS
( #41689 )
...
* feat: support NODE_EXTRA_CA_CERTS
* chore: allow disabling NODE_EXTRA_CA_CERTS
* chore: call base::Environment::UnSetVar
* docs: link to fuses from env vars
* chore: update patch to match upstream
* docs: note enabled by default
* Update environment-variables.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-04-10 10:30:35 -04:00
Cheng Zhao
814ba71dc1
chore: update src_preload_function_for_environment.patch ( #41500 )
2024-03-04 13:11:14 +01:00
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