Layout:
main.js # electron main process
ext/manifest.json # minimal MV3 extension
ext/bg.js # background service worker
Run:
npm i electron@43.0.0
ELECTRON_ENABLE_LOGGING=1 npx electron main.js
Expected (Chrome behavior): the worker registers chrome.webRequest.onBeforeRequest
(observational, no blocking) and stays alive.
Actual: the webRequest / webRequestEvent bindings module resources are missing from
the resource bundle (NOTREACHED in extensions/renderer/resource_bundle_source_map.cc),
so chrome.webRequest is an empty object, the worker throws at top level, and MV3
service worker registration fails with status code 15. See output-excerpt.log.
The same worker script runs fine in Chrome (chrome://extensions → Load unpacked).