chore: add helper to wait for a window to load in a remote-safe way (#16841)

This commit is contained in:
trop[bot]
2019-02-08 13:26:02 -08:00
committed by Samuel Attard
parent 28c7b346db
commit 0dc9e32039
2 changed files with 10 additions and 3 deletions

View File

@@ -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()

View File

@@ -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
}
}