From e90ba26250b23ca76ad05578a99b56825bd4ccec Mon Sep 17 00:00:00 2001 From: Joel Einbinder Date: Thu, 9 Jul 2020 08:34:07 -0700 Subject: [PATCH] fix(context): fire close event for persistent contexts (#2891) --- src/browser.ts | 2 ++ test/defaultbrowsercontext.spec.js | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/browser.ts b/src/browser.ts index 36bbc0d665..3907f453ae 100644 --- a/src/browser.ts +++ b/src/browser.ts @@ -92,6 +92,8 @@ export abstract class BrowserBase extends EventEmitter implements Browser { _didClose() { for (const context of this.contexts()) (context as BrowserContextBase)._browserClosed(); + if (this._defaultContext) + this._defaultContext._browserClosed(); this.emit(Events.Browser.Disconnected); } diff --git a/test/defaultbrowsercontext.spec.js b/test/defaultbrowsercontext.spec.js index 4035874417..01d62bed08 100644 --- a/test/defaultbrowsercontext.spec.js +++ b/test/defaultbrowsercontext.spec.js @@ -367,4 +367,11 @@ describe('launchPersistentContext()', function() { expect(error).toBe(e); await removeUserDataDir(userDataDir); }); + it('should fire close event for a persistent context', async(state) => { + const {context} = await launch(state); + let closed = false; + context.on('close', () => closed = true); + await close(state); + expect(closed).toBe(true); + }); });