From fba2dbeaa44479fe950355753b7be8509abb0ed1 Mon Sep 17 00:00:00 2001 From: CanadaHonk Date: Tue, 31 Jan 2023 09:59:32 +0000 Subject: [PATCH] launcher: close browser on node exit --- src/launcher/inject.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/launcher/inject.js b/src/launcher/inject.js index 5fc546d..f57a8ac 100644 --- a/src/launcher/inject.js +++ b/src/launcher/inject.js @@ -181,8 +181,24 @@ export default async (CDP, proc, injectionType = 'browser', { dataPath, browserN versions }; + // Close window fully internally if browser process closes proc.on('close', Window.close); + + // Close browser fully if Node exits + process.on('exit', Window.close); + + const interruptHandler = () => { + Window.close(); + process.exit(); + }; + + process.on('SIGINT', interruptHandler); + process.on('SIGUSR1', interruptHandler); + process.on('SIGUSR2', interruptHandler); + process.on('SIGTERM', interruptHandler); + + Window.idle = await IdleApi(Window.cdp, { browserType, closeHandlers }); Window.controls = await ControlsApi(Window.cdp); Window.v8Cache = await V8CacheApi(Window.cdp, evalInWindow, { browserType, dataPath });