From f79bdd665ada815fbfa238baac7a66c38d3b5d82 Mon Sep 17 00:00:00 2001 From: Alejandro Estrada Date: Thu, 9 Dec 2021 16:12:47 -0500 Subject: [PATCH] fix: close chrome when closing electron (#19322) --- packages/server/lib/browsers/chrome.ts | 6 +++--- packages/server/lib/browsers/cri-client.ts | 1 - packages/server/test/unit/browsers/chrome_spec.js | 5 ++--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/server/lib/browsers/chrome.ts b/packages/server/lib/browsers/chrome.ts index 1de4b17b7d..9dbed7512a 100644 --- a/packages/server/lib/browsers/chrome.ts +++ b/packages/server/lib/browsers/chrome.ts @@ -520,13 +520,13 @@ export = { const originalBrowserKill = launchedBrowser.kill /* @ts-expect-error */ - launchedBrowser.kill = async (...args) => { + launchedBrowser.kill = (...args) => { debug('closing remote interface client') - await criClient.close() + criClient.close() debug('closing chrome') - await originalBrowserKill.apply(launchedBrowser, args) + originalBrowserKill.apply(launchedBrowser, args) } await this._maybeRecordVideo(criClient, options, browser.majorVersion) diff --git a/packages/server/lib/browsers/cri-client.ts b/packages/server/lib/browsers/cri-client.ts index 41a84bb84b..e54a6bd228 100644 --- a/packages/server/lib/browsers/cri-client.ts +++ b/packages/server/lib/browsers/cri-client.ts @@ -191,7 +191,6 @@ export const create = Bluebird.method((target: websocketUrl, onAsynchronousError maybeDebugCdpMessages(cri) cri.send = Bluebird.promisify(cri.send, { context: cri }) - cri.close = Bluebird.promisify(cri.close, { context: cri }) // @see https://github.com/cyrus-and/chrome-remote-interface/issues/72 cri._notifier.on('disconnect', reconnect) diff --git a/packages/server/test/unit/browsers/chrome_spec.js b/packages/server/test/unit/browsers/chrome_spec.js index dead82ad20..a020e04655 100644 --- a/packages/server/test/unit/browsers/chrome_spec.js +++ b/packages/server/test/unit/browsers/chrome_spec.js @@ -300,10 +300,9 @@ describe('lib/browsers/chrome', () => { .then(() => { expect(this.launchedBrowser.kill).to.be.a('function') - return this.launchedBrowser.kill() - }).then(() => { - expect(this.criClient.close).to.be.calledOnce + this.launchedBrowser.kill() + expect(this.criClient.close).to.be.calledOnce expect(kill).to.be.calledOnce }) })