New Node.js module resolution system reads `package.json` from imported
modules by reading from the file natively in C++ without calling into
`fs.readFileSync`. The ASAR FS wrapper code had copied files out into a
temporary folder as a workaround, but it is inefficient and does not
cover all module resolution mechanisms in Node.js.
In this change we expose `overrideReadFileSync` method on the `modules`
binding in Node.js, and use this override to call into ASAR-supporting
`fs.readFileSync`.
* chore: bump chromium in DEPS to 136.0.7052.0
* chore: update mas_avoid_private_macos_api_usage.patch.patch
6318359
patch applied manually due to context shear
* chore: update preconnect_manager.patch
Xref: 6318420
patch applied manually due to context shear
* chore: e patches all
* chore: bump chromium to 136.0.7053.1
* chore: update fix_remove_profiles_from_spellcheck_service.patch
Xref: 6326575
patch applied manually due to context shear
* chore: e patches all
* chore: revert removal of v8 API used by Node.js
* devtools: Remove DevToolsUIBindings::SendJsonRequest() | 6326236
* 6244461: Merge //content/common/user_agent.cc into //components/embedder_support:user_agent | 6244461
* 6313744: Migrate views::Background factory methods to ColorVariant | 6313744
* 6314545: Remove multiple argument support from base::ToString() | 6314545
* 6317362: [Extensions] Inline MessagingDelegate::CreateReceiverForTab() | 6317362
* 6308998: Add SettingAccess structured metrics event for DevTools | 6308998
* 6295214: Remove redundant state field in per-extension preferences | 6295214
NB: this change is copied from the upstream change to extensions/shell/browser/shell_extension_loader.cc
* fix: ui/ linter error
This is showing up in an eslint build step in Electron:
> /__w/electron/electron/src/out/Default/gen/ui/webui/resources/cr_elements/preprocessed/cr_menu_selector/cr_menu_selector.ts
> 77:23 error This assertion is unnecessary since the receiver accepts the original type of the expression @typescript-eslint/no-unnecessary-type-assertion
>
> ✖ 1 problem (1 error, 0 warnings)
> 1 error and 0 warnings potentially fixable with the `--fix` option.
However, removing the assertion causes a typescript build failure:
> gen/ui/webui/resources/cr_elements/preprocessed/cr_menu_selector/cr_menu_selector.ts:77:23 - error TS2345: Argument of type 'HTMLElement | null' is not assignable to parameter of type 'HTMLElement'.
> Type 'null' is not assignable to type 'HTMLElement'.
>
> 77 items.indexOf(this.querySelector<HTMLElement>(':focus'));
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
So I think the two different steps may be picking up typescript definitions.
This patch should be removed after the issue is tracked down
and fixed in a followup task.
* fix: -Wnonnull warning
Fixes this warning:
> 2025-03-07T01:05:01.8637705Z ../../third_party/electron_node/src/debug_utils.cc(257,12): error: null passed to a callee that requires a non-null argument [-Werror,-Wnonnull]
> 2025-03-07T01:05:01.8638267Z 257 | return nullptr;
> 2025-03-07T01:05:01.8638481Z | ^~~~~~~
> 2025-03-07T01:05:01.8638700Z 1 error generated.
Not sure why this warning was never triggered before; `git blame`
indicates this code hasn't changed in ages:
> c40a8273ef2 (Michaël Zasso 2024-05-10 09:50:20 +0200 255) #endif // DEBUG
> 8e2d33f1562 (Anna Henningsen 2018-06-07 16:54:29 +0200 256) }
> 247b5130595 (Refael Ackermann 2018-10-22 15:07:00 -0400 257) return nullptr;
> 247b5130595 (Refael Ackermann 2018-10-22 15:07:00 -0400 258) }
Presumably this is failing in this Chromium roll due to a
clang version bump.
We should remove this patch after upstreaming it.
* docs: add upstream pr link for Node patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
fix: javascript heap oom is not raised in node::OOMErrorHandler
node::OOMErrorHandler terminates the process directly without raising an
oom exception. To fix it, set an oom handler into node from electron.
* chore: bump chromium in DEPS to 134.0.6948.0
* chore: update can_create_window.patch
6151982
no patch code changes, but had to manually apply due to upstream context shear
* chore: update proxy_config_monitor.patch
no manual changes; patch applied with fuzz 2
Xref: 6126219
* chore: update build_add_electron_tracing_category.patch
Xref: 6149256
* chore: update adjust_accessibility_ui_for_electron.patch
6105650
no patch code changes, but had to manually apply due to upstream context shear
* chore: e patches all
* chore: use fully-qualified path for all.gn
Xref: 6154997
* chore: do not use a variable when assigning rtc_use_h264
Xref: 6154997
* Move GlobalShortcutListenerLinux to //ui/base
Xref: 6097375
* [MPArch Guest View] Make WebPreferences queried per frame tree root
Xref: 6096390
* [Status Icons] Allow vector resources
6139403
* [Extensions] Move MatchOriginAsFallbackBehavior to Mojom
Xref: 6141793
* Remove StrongAlias::Hasher
Xref: 6132291
* Rename text-change and select-change methods and related stuff
Xref: 6148816
* [Code Health] Remove stale feature EnableWebUsbOnExtensionServiceWorker
6115161
* [Extensions Cleanup] Move creation of tab-based ports to factory method
6143725
* refactor: add StatusIconGtk::SetIcon()
Xref: 6139403
copied from chrome/browser/status_icons/status_icon.cc
* refactor: add TrayIconLinux::GetIcon()
Xref: 6139403
* chore: update feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch
remove unused filter_ field
* chore: bump chromium in DEPS to 134.0.6950.0
* chore: bump chromium in DEPS to 134.0.6952.0
* chore: bump chromium in DEPS to 134.0.6954.0
* chore: bump chromium in DEPS to 134.0.6956.0
* chore: update Chromium patches
* 6165749: Check scanout support in RenderableGpuMemoryBufferPool | 6165749
* 6106730: [Win] Use DXGI swapchains and DCOMP visuals in software mode | 6106730
* chore: update patches
* chore: bump chromium in DEPS to 134.0.6958.0
* chore: bump chromium in DEPS to 134.0.6960.0
* chore: update chromium patches
* 6168371: Remove extensions GlobalShortcutListener wrapper | 6168371
* chore: update patches
* 6161637: WebUI: Leverage build_webui() in chrome://translate-internals | 6161637
* chore: bump chromium in DEPS to 134.0.6962.0
* 6177329: Remove policy.used_policy_certificates pref on ChromeOS | 6177329
* 6180524: Simplify logic in components/os_crypt/sync/BUILD.gn | 6180524
* 6144831: Enforce --disallow-v8-feature-flag-overrides in the renderer | 6144831
* chore: update patches
* chore: bump chromium in DEPS to 134.0.6964.0
* 6181010: Ensure busy cursor does not show via LaunchWithoutSandbox | 6181010
* chore: update patches
* chore: bump chromium in DEPS to 134.0.6966.0
* 6180598: [api] Remove Reallocate | 6180598
* 6170781: [Refactor] Move UninstallExtension to ExtensionRegistrar. | 6170781
* chore: update filenames.libcxx.gni
* 6168207: cdm: Remove widevine_cdm_version.h | 6168207
* chore: bump chromium in DEPS to 134.0.6968.0
* 6030552: [macOS] Allow using vibrancy with NativeWidgetNSWindowBridge | 6030552
* fix: use explicit copy to replace realloc impl
6180598https://issues.chromium.org/issues/331326406
As per recommendation, "File an issue with Node to explicitly copy,because they copy under the hood anyway"
* fixup! 6106730: [Win] Use DXGI swapchains and DCOMP visuals in software mode | 6106730
* fix: undefine win32 StrCat
6172292
* fix: //device/vr:directx_helpers breaking the build
6064548
Upstreamed in 6186102
* fix: avoid calling ui::Layer::SetFillsBoundsOpaquely
6175787
The layer opacity is determined by the background color's alpha value
* fix: build with proprietary_codecs
The explicit setting of rtc_use_h264 is no longer needed since
https://webrtc-review.googlesource.com/c/src/+/62380
* fix: increase empty trace file size threshold
6176642
Traces now contain a net-constants property to allow them to be converted to a net log.
These contain ~1240 new properties with formatted JSON data.
* fix: node tests missing resource management globals
6174695
* fixup! fix: use explicit copy to replace realloc impl
* chore: disable focus handling test due to win32/ia32 regression
---------
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: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
Co-authored-by: Samuel Maddock <samuelmaddock@electronjs.org>
* chore: bump chromium in DEPS to 133.0.6902.0
* chore: bump chromium in DEPS to 133.0.6903.0
* chore: update patches
* Update PdfViewer Save File Picker to use showSaveFilePicker.
Refs 6074308
* Code Health: Clean up stale MacWebContentsOcclusion
Refs 6078344
* Change RenderProcessHost::GetID to RenderProcessHost::GetDeprecatedID
Refs 6065543
* [WebRTC] Make WebRTC IP Handling policy a mojo enum
Refs 6063620
* chore: gen filenames.libcxx.gni
* Remove allow_unsafe_buffers pragma in //printing
Refs 6092280
* refactor: to use ChildProcessId where possible
Refs https://issues.chromium.org/issues/379869738
* [Win] Update TabletMode detection code
Refs 6003486
* chore: bump chromium in DEPS to 133.0.6905.0
* chore: update patches
* Reland "Move global shortcut listener to //ui/base"
Refs 6099035
* [shared storage] Implement the batch `with_lock` option for response header
Refs 6072742
* chore: bump chromium in DEPS to 133.0.6907.0
* chore: bump chromium in DEPS to 133.0.6909.0
* chore: bump chromium in DEPS to 133.0.6911.0
* chore: bump chromium in DEPS to 133.0.6912.0
* chore: update patches
* WebUI: Reveal hidden deps to ui/webui/resources.
Refs 6096291
* chore: bump chromium in DEPS to 133.0.6913.0
* chore: bump chromium in DEPS to 133.0.6915.0
* Code Health: Clean up stale base::Feature "AccessibilityTreeForViews"
Refs 6104174
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* fix: remove fastapitypedarray usage
* chore: update patches
* chore: script/gen-libc++-filenames.js
* Code Health: Clean up stale base::Feature "WinRetrieveSuggestionsOnlyOnDemand"
Refs 6109477
* fix: empty suggestions with windows platform checker
Amends the fix from https://github.com/electron/electron/pull/29690
since the feature flag is no longer available. We follow the
same pattern as //chrome/browser/renderer_context_menu/spelling_menu_observer.cc
to generate the suggestion list on demand when context menu action
is invoked.
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* fixup! fix: empty suggestions with windows platform checker
* fixup! fix: empty suggestions with windows platform checker
* revert: 6078344: Code Health: Clean up stale MacWebContentsOcclusion | 6078344
* Revert "revert: 6078344: Code Health: Clean up stale MacWebContentsOcclusion | 6078344"
This reverts commit 9cacda452ed5a072351e8f5a35b009d91843a08c.
* chore: bump to 133.0.6920.0, update patches
* Revert "6078344: Code Health: Clean up stale MacWebContentsOcclusion"
Refs: 6078344
* fixup! Update PdfViewer Save File Picker to use showSaveFilePicker.
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* chore: bump chromium in DEPS to 133.0.6858.0
* chore: bump chromium in DEPS to 133.0.6860.0
* chore: update patches
v8/revert_fastapi_remove_dynamic_overload_resolution.patch had some additions due to 6023139
* 6044060: Reland "Moves shared GN templates into //build/config/apple."
6044060
* Revert "6023139: [fastapi] Add support for attribute setters"
6023139
* Update printing.patch
The removed include is present in the original source file now, just slightly before where it was being added.
6015430: Reduce platform-like buildflags in sandbox code
Refs: 6015430
* 6039836: Migrate Command::IsMediaKey to be a member of ui::Accelerator
6039836
* 6038659: [CodeHealth] Clean up the feature ZstdContentEncoding
6038659
* chore: bump chromium in DEPS to 133.0.6862.0
* chore: update patches
* 72747: crypto: switch to C++
https://boringssl-review.googlesource.com/c/boringssl/+/72747
* fixup! 72747: crypto: switch to C++ https://boringssl-review.googlesource.com/c/boringssl/+/72747
* chore: gen libc++ filenames
* 6042601: [shared storage] Implement with_lock option for methods from response headers
6042601
* chore: bump chromium in DEPS to 133.0.6864.0
* chore: bump chromium in DEPS to 133.0.6866.0
* chore: bump chromium in DEPS to 133.0.6868.0
* chore: bump chromium in DEPS to 133.0.6870.0
* chore: bump chromium in DEPS to 133.0.6872.0
* chore: bump chromium in DEPS to 133.0.6874.0
* chore: bump chromium in DEPS to 133.0.6876.0
* 6039992: Fix false activation logic for context menu. | 6039992
* chore: update patches
* chore: update patches
* chore: bump chromium in DEPS to 133.0.6878.0
* chore: update patches
* [Build] Organize //components/dbus into a single component
Xref: 6055280
* Merge //components/dbus/* into a single //components/dbus, which
matches how most components are organized. This avoids having
many small shared libraries which incurs unnecessary overhead.
* Limit visibility of //components/dbus/* to //components/dbus
* fixup! Update _LIBCPP_ABI_VERSION to always have a default value while keeping unstable false due to changes in llvm https://github.com/llvm/llvm-project/pull/112094
* 6040416: Let s know which widget the input came on. | 6040416
* 6056267: [MPArch guest view] Fix authentication for MPArch guests | 6056267
* make_span() is deprecated: https://issues.chromium.org/issues/341907909
* fixup: https://issues.chromium.org/issues/341907909
* chore: delete extra bracket from removing make_span commit
* fixup: 6059305: Make WTF::UTF8ConversionMode a scoped enum | 6059305
* 6051058: CookieInclusionStatus: Remove ctors which bypass invariants | 6051058
* 6038981: Remove most remaining CHECK(false)s | 6038981
* build: use third_party/simdutf in Node.js
* chore: node ./script/gen-libc++-filenames.js
* chore: fix strict-cast conversion error in subspan()
Xref: 6044946
* chore: fix strict-cast conversion error in base::as_bytes()
Xref: 6044946
* chore: fix strict-cast conversion error in span.split_at()
Xref: 6044946
* chore: use shorthand target name
* chore: better docs in build_add_public_config_simdutf_config.patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 131.0.6756.0
* chore: update disable_hidden.patch
no code changes; just handling upstream context shear
5887019
* chore: update feat_expose_raw_response_headers_from_urlloader.patch
Factor out URLLoader's URLRequest configuration into a helper
Xref: 5902254
* chore: update fix_disabling_background_throttling_in_compositor.patch
no manual changes; patch applied with fuzz 1
* chore: e patches all
* 5882129: Fix basic auth issues for sub frame and sub resources | 5882129
- Add `is_request_for_navigation` param to
ElectronBrowserClient::CreateLoginDelegate().
- Propagate the flag as another undocumented property
in the app.login Event's authenticationResponseDetails object
- Side cleanup: also in CreateLoginDelegate(), use upstream's name
for the `is_request_for_main_frame` param, renamed back in
3256171
* 5875189: [FSA] Check for DANGEROUS extension types when creating a new file. | 5875189
* chore: node ./script/gen-libc++-filenames.js
* chore: bump chromium in DEPS to 131.0.6758.0
* chore: bump chromium in DEPS to 131.0.6760.0
* chore: update patches
* [A11y] Remove Accessibility Object Model (AOM)
Refs 5896593
* chore: bump chromium in DEPS to 131.0.6762.0
* [heap] Remove deprecated V8 flag
Refs 5904046
---------
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: deepak1556 <hop2deep@gmail.com>
* chore: bump chromium in DEPS to 130.0.6723.4
* chore: bump chromium in DEPS to 131.0.6724.0
* chore: update patches
* chore: update libc++ filenames
* 5844369: controlledframe: Disable Web Bluetooth for <webview> & <controlledframe>
5844369
* (multiple CLs): Use an opaque type for FrameTreeNode IDs
5807683: Use an opaque type for FrameTreeNode IDs, part 1 | 5807683
5829746: Use an opaque type for FrameTreeNode IDs, part 2 | 5829746
5836903: Use an opaque type for FrameTreeNode IDs, part 7 | 5836903
5837249: Use an opaque type for FrameTreeNode IDs, part 8 | 5837249
5836564: Use an opaque type for FrameTreeNode IDs, part 12 | 5836564
5837180: Use an opaque type for FrameTreeNode IDs, part 15 | 5837180
* 5822889: [task] Make GetForegroundTaskRunner non-virtual
5822889
* 5833297: Remove unused inner WebContents attach params
5833297
* 5806403: Shift PowerMonitor to non static
5806403
* 5666874: [3/N] Remove old OnPowerChange in PowerObserver
5666874
* 5829085: [v8] Differentiate between UserVisible and BestEffort task runners
5829085
* 5791112: [webrtc] Use `c/b/permissions/system` for system permissions
5791112
* 5825636: [Extensions] Create WebContentsObservers with ExtensionsBrowserClient
5825636
* fixup! (multiple CLs): Use an opaque type for FrameTreeNode IDs
* fixup! 5791112: [webrtc] Use `c/b/permissions/system` for system permissions 5791112
* chore: bump chromium in DEPS to 131.0.6726.0
* chore: update patches
* chore: update libc++ filenames
* 5858119: Declutter: Allow opening to a specific feature
5858119
* fix: macOS SDK 15 error
Not sure exactly what changed in the upgrade to macOS SDK 15, but it triggered a new error:
```
electron/shell/browser/ui/message_box_mac.mm:84:7: error: multiple methods named 'highlight:' found with mismatched result, parameter type or attributes
```
The `highlight:` selector a few lines down was ambiguous because the object type of the `NSArray` was not specified. Specifying `NSButton` as the element type makes the selector unambiguous for type checking.
* 5854143: [File Download Access Prevention] Obfuscate download file for enterprise deep scan
5854143
* 5854811: Use kNotAllowedError instead of kSecurityError for Web MIDI
5854811
* chore: bump chromium in DEPS to 131.0.6728.0
* chore: update patches
* disable invalid test
* chore: bump chromium in DEPS to 131.0.6730.0
* chore: update patches
* update build tools target commit for new macOS SDK
* chore: update libc++ file names
* chore: bump chromium in DEPS to 131.0.6732.0
* chore: bump chromium in DEPS to 131.0.6734.0
* 5856527: [UI] Use mojo enum for `WindowShowState` in ui/
5856527
* chore: update build-tools sha to include macOD 15.0 SDK
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: alice <alice@makenotion.com>
* chore: bump chromium in DEPS to 129.0.6623.0
* chore: update mas_avoid_private_macos_api_usage.patch.patch
remove the changes to media/audio/mac/audio_manager_mac.cc,
since upstream has also made this change now.
Xref: 5738654
* chore: update fix_disable_scope_reuse_associated_dchecks.patch
We had been removing a couple of `DCHECK`. Upstream changed their
code to limit when these `DCHECK`s get called, so let's see if our
change is still needed.
Xref: 5739076
* chore: e patches all
* Bump the Chrome macOS deployment target to 11.0
Xref: 5734361
BREAKING CHANGE: Bump the Chrome macOS deployment target to 11.0
* src: stop using deprecated fields of `v8::FastApiCallbackOptions`
Xref: d0000b118d
Xref: 5741336
Xref: 5741199
* fixup! chore: update fix_disable_scope_reuse_associated_dchecks.patch
chore: re-disable DCHECKs
yep, it is still needed
* refactor use non-deprecated variant of openApplicationAtURL
old version is deprecated now in macOS 11
Xref: 1534810-launchapplicationaturl
Xref: 3172700-openapplicationaturl
* chore: bump chromium in DEPS to 129.0.6626.0
* chore: e patches all
* chore: disable NSUserNotification deprecation errors
* chore: disable NSWindowStyleMaskTexturedBackground deprecation errors
Xref: https://github.com/electron/electron/issues/43125
* chore: disable deprecation errors in platform_util_mac.mm
* chore: disable launchApplication deprecation errors
* chore: bump chromium in DEPS to 129.0.6630.0
* chore: update refactor_expose_file_system_access_blocklist.patch
apply patch manually due to context shear
Xref: 5745444
* chore: update deps_add_v8_object_setinternalfieldfornodecore.patch
no manual changes. patch applied with fuzz 1 (offset -5 lines)
* chore: e patches all
* fix: add clang_x64_v8_arm64/snapshot_blob.bin to the zip manifest
Xref: 5746173
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>