Fix missing remote object error when calling remote function created in preload script (#15444)

* fix: report wrong context error based on contextId

* fix: destroyed remote renderer warning is now async
This commit is contained in:
Cheng Zhao 2018-11-01 00:26:57 +09:00 committed by John Kleinschmidt
parent b2e1a93177
commit a8f2646ba6
5 changed files with 54 additions and 21 deletions

View file

@ -8,6 +8,7 @@ const { closeWindow } = require('./window-helpers')
const { resolveGetters } = require('./assert-helpers')
const { remote, ipcRenderer } = require('electron')
const { ipcMain, BrowserWindow } = remote
const { expect } = chai
chai.use(dirtyChai)
@ -512,4 +513,23 @@ describe('remote module', () => {
}
})
})
describe('remote function in renderer', () => {
afterEach(() => {
ipcMain.removeAllListeners('done')
})
it('works when created in preload script', (done) => {
ipcMain.once('done', () => w.close())
const preload = path.join(fixtures, 'module', 'preload-remote-function.js')
w = new BrowserWindow({
show: false,
webPreferences: {
preload: preload
}
})
w.once('closed', () => done())
w.loadURL('about:blank')
})
})
})