feat: expose executeJavaScriptInIsolatedWorld on webContents (#21190)

* feat: expose executeJavaScriptInIsolatedWorld on webContents

* Apply suggestions from code review

Co-Authored-By: loc <andy@slack-corp.com>
This commit is contained in:
Samuel Attard 2019-11-22 15:33:55 -08:00 committed by GitHub
parent a7c2f79a94
commit 34452ee69e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 43 additions and 12 deletions

View file

@ -214,6 +214,23 @@ describe('webContents module', () => {
})
})
describe('webContents.executeJavaScriptInIsolatedWorld', () => {
let w: BrowserWindow
before(async () => {
w = new BrowserWindow({ show: false, webPreferences: { contextIsolation: true } })
await w.loadURL('about:blank')
})
it('resolves the returned promise with the result', async () => {
await w.webContents.executeJavaScriptInIsolatedWorld(999, [{ code: 'window.X = 123' }])
const isolatedResult = await w.webContents.executeJavaScriptInIsolatedWorld(999, [{ code: 'window.X' }])
const mainWorldResult = await w.webContents.executeJavaScript('window.X')
expect(isolatedResult).to.equal(123)
expect(mainWorldResult).to.equal(undefined)
})
})
describe('loadURL() promise API', () => {
let w: BrowserWindow
beforeEach(async () => {