mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
chore: add helper to wait for a window to load in a remote-safe way (#16841)
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user