mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
fix(pipe): dispatch "disconnected" event when browser is terminated (#3472)
This commit is contained in:
parent
9800b2c3c2
commit
3dd5c28f90
@ -27,7 +27,11 @@ class PipeTransport {
|
|||||||
this._pipeWrite = pipeWrite;
|
this._pipeWrite = pipeWrite;
|
||||||
this._pendingMessage = '';
|
this._pendingMessage = '';
|
||||||
this._eventListeners = [
|
this._eventListeners = [
|
||||||
helper.addEventListener(pipeRead, 'data', buffer => this._dispatch(buffer))
|
helper.addEventListener(pipeRead, 'data', buffer => this._dispatch(buffer)),
|
||||||
|
helper.addEventListener(pipeRead, 'close', () => {
|
||||||
|
if (this.onclose)
|
||||||
|
this.onclose.call(null);
|
||||||
|
})
|
||||||
];
|
];
|
||||||
this.onmessage = null;
|
this.onmessage = null;
|
||||||
this.onclose = null;
|
this.onclose = null;
|
||||||
|
@ -217,6 +217,14 @@ module.exports.addTests = function({testRunner, expect, defaultBrowserOptions})
|
|||||||
await page.close();
|
await page.close();
|
||||||
await browser.close();
|
await browser.close();
|
||||||
});
|
});
|
||||||
|
it('should fire "disconnected" when closing with pipe', async() => {
|
||||||
|
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
||||||
|
const browser = await puppeteer.launch(options);
|
||||||
|
const disconnectedEventPromise = new Promise(resolve => browser.once('disconnected', resolve));
|
||||||
|
// Emulate user exiting browser.
|
||||||
|
browser.process().kill();
|
||||||
|
await disconnectedEventPromise;
|
||||||
|
});
|
||||||
it('should work with no default arguments', async() => {
|
it('should work with no default arguments', async() => {
|
||||||
const options = Object.assign({}, defaultBrowserOptions);
|
const options = Object.assign({}, defaultBrowserOptions);
|
||||||
options.ignoreDefaultArgs = true;
|
options.ignoreDefaultArgs = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user