fix: nodeIntegrationInWorker not working in AudioWorklet

This commit is contained in:
Shelley Vohr
2025-05-23 11:53:40 +02:00
parent 2248de847d
commit 4c425807bc

View File

@@ -207,9 +207,16 @@ void ElectronRendererClient::WorkerScriptReadyForEvaluationOnWorkerThread(
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kNodeIntegrationInWorker)) {
auto* current = WebWorkerObserver::GetCurrent();
if (current)
return;
WebWorkerObserver::Create()->WorkerScriptReadyForEvaluation(context);
if (current) {
// With thread pooling, threads can be reused. Check if this context
// already has a Node.js environment before skipping.
if (node::Environment::GetCurrent(context))
return;
}
if (!current)
current = WebWorkerObserver::Create();
current->WorkerScriptReadyForEvaluation(context);
}
}