Add test for #9387
This commit is contained in:
parent
6b5bd3b6ce
commit
5654ff0d43
5 changed files with 97 additions and 5 deletions
|
@ -1161,7 +1161,6 @@ describe('BrowserWindow module', function () {
|
|||
}
|
||||
})
|
||||
w.loadURL('file://' + path.join(fixtures, 'api', 'sandbox.html?allocate-memory'))
|
||||
w.webContents.openDevTools({mode: 'detach'})
|
||||
ipcMain.once('answer', function (event, {bytesBeforeOpen, bytesAfterOpen, bytesAfterClose}) {
|
||||
const memoryIncreaseByOpen = bytesAfterOpen - bytesBeforeOpen
|
||||
const memoryDecreaseByClose = bytesAfterOpen - bytesAfterClose
|
||||
|
@ -1173,6 +1172,73 @@ describe('BrowserWindow module', function () {
|
|||
done()
|
||||
})
|
||||
})
|
||||
|
||||
// see #9387
|
||||
it('properly manages remote object references after page reload', (done) => {
|
||||
w.destroy()
|
||||
w = new BrowserWindow({
|
||||
show: false,
|
||||
webPreferences: {
|
||||
preload: preload,
|
||||
sandbox: true
|
||||
}
|
||||
})
|
||||
w.loadURL('file://' + path.join(fixtures, 'api', 'sandbox.html?reload-remote'))
|
||||
|
||||
ipcMain.on('get-remote-module-path', (event) => {
|
||||
event.returnValue = path.join(fixtures, 'module', 'hello.js')
|
||||
})
|
||||
|
||||
let reload = false
|
||||
ipcMain.on('reloaded', (event) => {
|
||||
event.returnValue = reload
|
||||
reload = !reload
|
||||
})
|
||||
|
||||
ipcMain.once('reload', (event) => {
|
||||
event.sender.reload()
|
||||
})
|
||||
|
||||
ipcMain.once('answer', (event, arg) => {
|
||||
ipcMain.removeAllListeners('reloaded')
|
||||
ipcMain.removeAllListeners('get-remote-module-path')
|
||||
assert.equal(arg, 'hi')
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
it('properly manages remote object references after page reload in child window', (done) => {
|
||||
w.destroy()
|
||||
w = new BrowserWindow({
|
||||
show: false,
|
||||
webPreferences: {
|
||||
preload: preload,
|
||||
sandbox: true
|
||||
}
|
||||
})
|
||||
w.loadURL('file://' + path.join(fixtures, 'api', 'sandbox.html?reload-remote-child'))
|
||||
|
||||
ipcMain.on('get-remote-module-path', (event) => {
|
||||
event.returnValue = path.join(fixtures, 'module', 'hello-child.js')
|
||||
})
|
||||
|
||||
let reload = false
|
||||
ipcMain.on('reloaded', (event) => {
|
||||
event.returnValue = reload
|
||||
reload = !reload
|
||||
})
|
||||
|
||||
ipcMain.once('reload', (event) => {
|
||||
event.sender.reload()
|
||||
})
|
||||
|
||||
ipcMain.once('answer', (event, arg) => {
|
||||
ipcMain.removeAllListeners('reloaded')
|
||||
ipcMain.removeAllListeners('get-remote-module-path')
|
||||
assert.equal(arg, 'hi child window')
|
||||
done()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('nativeWindowOpen option', () => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue