Use web contents id when pid is unavailable

This commit is contained in:
Kevin Sawicki 2016-08-02 16:23:12 -07:00
parent eaa567dd86
commit 88dc281242

View file

@ -73,9 +73,9 @@ const saveCoverageData = (coverage, pid) => {
} }
const getCoverageFromWebContents = (webContents, callback) => { const getCoverageFromWebContents = (webContents, callback) => {
webContents.executeJavaScript('[global.__coverage__, global.process && global.process.pid]', (results) => { webContents.executeJavaScript('[window.__coverage__, window.process && window.process.pid]', (results) => {
const coverage = results[0] const coverage = results[0]
const pid = results[1] const pid = results[1] || webContents.getId()
callback(coverage, pid) callback(coverage, pid)
}) })
} }
@ -102,13 +102,13 @@ const saveCoverageOnBeforeUnload = () => {
const {app, ipcMain} = require('electron') const {app, ipcMain} = require('electron')
ipcMain.on('save-coverage', function (event, coverage, pid) { ipcMain.on('save-coverage', function (event, coverage, pid) {
saveCoverageData(coverage, pid) saveCoverageData(coverage, pid || event.sender.getId())
}) })
app.on('web-contents-created', function (event, webContents) { app.on('web-contents-created', function (event, webContents) {
webContents.executeJavaScript(` webContents.executeJavaScript(`
window.addEventListener('beforeunload', function () { window.addEventListener('beforeunload', function () {
require('electron').ipcRenderer.send('save-coverage', global.__coverage__, process && process.pid) require('electron').ipcRenderer.send('save-coverage', window.__coverage__, window.process && window.process.pid)
}) })
`) `)
}) })