cherry-pick(#18993): fix(electron): tolerate connection closed during quit
This commit is contained in:
parent
f38b2c86eb
commit
76dc43e9ba
|
|
@ -77,7 +77,7 @@ export class ElectronApplication extends SdkObject {
|
||||||
});
|
});
|
||||||
this._browserContext.setCustomCloseHandler(async () => {
|
this._browserContext.setCustomCloseHandler(async () => {
|
||||||
const electronHandle = await this._nodeElectronHandlePromise;
|
const electronHandle = await this._nodeElectronHandlePromise;
|
||||||
await electronHandle.evaluate(({ app }) => app.quit());
|
await electronHandle.evaluate(({ app }) => app.quit()).catch(() => {});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,10 @@ process.argv[1] = appPath;
|
||||||
for (const arg of chromiumSwitches) {
|
for (const arg of chromiumSwitches) {
|
||||||
const match = arg.match(/--([^=]*)=?(.*)/)!;
|
const match = arg.match(/--([^=]*)=?(.*)/)!;
|
||||||
app.commandLine.appendSwitch(match[1], match[2]);
|
app.commandLine.appendSwitch(match[1], match[2]);
|
||||||
app.getAppPath = () => path.dirname(appPath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
app.getAppPath = () => path.dirname(appPath);
|
||||||
|
|
||||||
let launchInfoEventPayload: any;
|
let launchInfoEventPayload: any;
|
||||||
app.on('ready', launchInfo => launchInfoEventPayload = launchInfo);
|
app.on('ready', launchInfo => launchInfoEventPayload = launchInfo);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -154,6 +154,7 @@ test('should create page for browser view', async ({ playwright }) => {
|
||||||
const app = await playwright._electron.launch({
|
const app = await playwright._electron.launch({
|
||||||
args: [path.join(__dirname, 'electron-window-app.js')],
|
args: [path.join(__dirname, 'electron-window-app.js')],
|
||||||
});
|
});
|
||||||
|
await app.firstWindow();
|
||||||
await app.evaluate(async electron => {
|
await app.evaluate(async electron => {
|
||||||
const window = electron.BrowserWindow.getAllWindows()[0];
|
const window = electron.BrowserWindow.getAllWindows()[0];
|
||||||
const view = new electron.BrowserView();
|
const view = new electron.BrowserView();
|
||||||
|
|
@ -169,6 +170,7 @@ test('should return same browser window for browser view pages', async ({ playwr
|
||||||
const app = await playwright._electron.launch({
|
const app = await playwright._electron.launch({
|
||||||
args: [path.join(__dirname, 'electron-window-app.js')],
|
args: [path.join(__dirname, 'electron-window-app.js')],
|
||||||
});
|
});
|
||||||
|
await app.firstWindow();
|
||||||
await app.evaluate(async electron => {
|
await app.evaluate(async electron => {
|
||||||
const window = electron.BrowserWindow.getAllWindows()[0];
|
const window = electron.BrowserWindow.getAllWindows()[0];
|
||||||
const view = new electron.BrowserView();
|
const view = new electron.BrowserView();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue