From 6aa7e27b392102703a8e04fb4b935e50848251ae Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Wed, 1 Feb 2023 16:03:23 -0800 Subject: [PATCH] fix: nodeIntegrationInWorker fails to boot in AudioWorklets (#37041) --- lib/worker/init.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/worker/init.ts b/lib/worker/init.ts index 6a5b11495a8f..5c537892caa3 100644 --- a/lib/worker/init.ts +++ b/lib/worker/init.ts @@ -21,8 +21,9 @@ global.module = new Module('electron/js2c/worker_init'); global.require = makeRequireFunction(global.module); // Set the __filename to the path of html file if it is file: protocol. -if (self.location.protocol === 'file:') { - const pathname = process.platform === 'win32' && self.location.pathname[0] === '/' ? self.location.pathname.substr(1) : self.location.pathname; +// NB. 'self' isn't defined in an AudioWorklet. +if (typeof self !== 'undefined' && self.location.protocol === 'file:') { + const pathname = process.platform === 'win32' && self?.location.pathname[0] === '/' ? self?.location.pathname.substr(1) : self?.location.pathname; global.__filename = path.normalize(decodeURIComponent(pathname)); global.__dirname = path.dirname(global.__filename);