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); + }); });