chore: add helper to wait for a window to load in a remote-safe way (#16837)
This commit is contained in:
parent
1632c4b837
commit
833daaa2b2
2 changed files with 10 additions and 3 deletions
|
@ -9,7 +9,7 @@ const url = require('url')
|
|||
const ChildProcess = require('child_process')
|
||||
const { ipcRenderer, remote } = require('electron')
|
||||
const { emittedOnce } = require('./events-helpers')
|
||||
const { closeWindow } = require('./window-helpers')
|
||||
const { closeWindow, waitForWebContentsToLoad } = require('./window-helpers')
|
||||
const { resolveGetters } = require('./assert-helpers')
|
||||
const { app, BrowserWindow, ipcMain, protocol, session, webContents } = remote
|
||||
const isCI = remote.getGlobal('isCi')
|
||||
|
@ -525,7 +525,7 @@ describe('chromium feature', () => {
|
|||
const w = window.open()
|
||||
try {
|
||||
const [, { webContents }] = await browserWindowCreated
|
||||
await emittedOnce(webContents, 'did-finish-load')
|
||||
await waitForWebContentsToLoad(webContents)
|
||||
assert.strictEqual(w.location.href, 'about:blank')
|
||||
} finally {
|
||||
w.close()
|
||||
|
@ -537,7 +537,7 @@ describe('chromium feature', () => {
|
|||
const w = window.open('')
|
||||
try {
|
||||
const [, { webContents }] = await browserWindowCreated
|
||||
await emittedOnce(webContents, 'did-finish-load')
|
||||
await waitForWebContentsToLoad(webContents)
|
||||
assert.strictEqual(w.location.href, 'about:blank')
|
||||
} finally {
|
||||
w.close()
|
||||
|
|
|
@ -17,3 +17,10 @@ exports.closeWindow = async (window = null,
|
|||
expect(BrowserWindow.getAllWindows()).to.have.lengthOf(1)
|
||||
}
|
||||
}
|
||||
|
||||
exports.waitForWebContentsToLoad = async (webContents) => {
|
||||
const didFinishLoadPromise = emittedOnce(webContents, 'did-finish-load')
|
||||
if (webContents.isLoadingMainFrame()) {
|
||||
await didFinishLoadPromise
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue