MarshallOfSound

#53860: perf: push preload paths to Node.js renderers instead of a sync IPC at startup

Merged
Created: Sep 12, 2026, 10:55:54 AM
Merged: Sep 14, 2026, 1:12:15 PM
4 comments
Target: main

Description of Change

Renderers with sandbox: false still fetched their preload list from browser-process JS with a synchronous BROWSER_NONSANDBOX_LOAD IPC during renderer init. The browser now pushes RendererStartupData to those frames as it already does for sandboxed ones (paths only, no file contents or environment), at frame creation and ahead of each committed navigation, and the sync IPC and its handler are removed.

Release build, Linux x64, median over 3 runs of 14 windows each:

sandbox: false window, first navigation, preload start before after
idle main process 66.9 ms 65.2 ms
main process busy (20 ms of every 25 ms) 82.3 ms 63.9 ms
sync IPCs during renderer init 1 0

Checklist

Release Notes

Notes: none

Backports

43-x-y
In-flight
PR Number
#53927
Waiting to be merged
44-x-y
In-flight
PR Number
#53915
Waiting to be merged
45-x-y
Merged
PR Number
#53916
Merged At
Sep 14, 2026, 2:23:35 PM
Released In
v45.0.0-alpha.7
Release Date
Sep 14, 2026, 3:00:17 PM

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

Semantic Versioning helps users understand the impact of updates:

  • Major (X.y.z): Breaking changes that may require code modifications
  • Minor (x.Y.z): New features that maintain backward compatibility
  • Patch (x.y.Z): Bug fixes that don't change the API
  • None: Changes that don't affect using facing parts of Electron