diff --git a/src/launcher/inject.js b/src/launcher/inject.js index 1d23087..6b0f3cd 100644 --- a/src/launcher/inject.js +++ b/src/launcher/inject.js @@ -27,6 +27,9 @@ export default async (CDP, proc, injectionType = 'browser', { browserName } = { log('browser:', browserInfo.product); } + const browserEngine = browserInfo.jsVersion.startsWith('1.') ? 'firefox' : 'chromium'; + + CDP.sendMessage('Runtime.enable', {}, sessionId); // enable runtime API CDP.sendMessage('Runtime.addBinding', { // setup sending from window to Node via Binding @@ -42,14 +45,15 @@ export default async (CDP, proc, injectionType = 'browser', { browserName } = { const [ ipcMessageCallback, injectIPC, IPC ] = await IPCApi({ browserName, - browserInfo + browserInfo, + browserEngine }, { evalInWindow, evalOnNewDocument: source => CDP.sendMessage('Page.addScriptToEvaluateOnNewDocument', { source }, sessionId), pageLoadPromise: new Promise(res => pageLoadCallback = res) }); - onWindowMessage = ipcMessageCallback; + onWindowMessage = ipcMessageCallback; log('finished setup'); diff --git a/src/lib/ipc.js b/src/lib/ipc.js index 94ee857..15696b3 100644 --- a/src/lib/ipc.js +++ b/src/lib/ipc.js @@ -1,4 +1,4 @@ -export default ({ browserName, browserInfo }, { evalInWindow, evalOnNewDocument, pageLoadPromise }) => { +export default ({ browserName, browserInfo, browserEngine }, { evalInWindow, evalOnNewDocument, pageLoadPromise }) => { const injection = `(() => { if (window.Gluon) return; let onIPCReply = {}, ipcListeners = {}; @@ -8,7 +8,7 @@ window.Gluon = { builder: '${'GLUGUN_VERSION' === 'G\LUGUN_VERSION' ? 'nothing' : 'Glugun GLUGUN_VERSION'}', node: '${process.versions.node}', browser: '${browserInfo.product.split('/')[1]}', - browserType: '${browserName.startsWith('Firefox') ? 'firefox' : 'chromium'}', + browserType: '${browserEngine}', product: '${browserName}', js: {