inject: pass IPC browser engine

This commit is contained in:
CanadaHonk 2023-01-01 23:22:08 +00:00
parent 3285744fd4
commit baab5c7aa9
2 changed files with 8 additions and 4 deletions

View File

@ -27,6 +27,9 @@ export default async (CDP, proc, injectionType = 'browser', { browserName } = {
log('browser:', browserInfo.product); log('browser:', browserInfo.product);
} }
const browserEngine = browserInfo.jsVersion.startsWith('1.') ? 'firefox' : 'chromium';
CDP.sendMessage('Runtime.enable', {}, sessionId); // enable runtime API CDP.sendMessage('Runtime.enable', {}, sessionId); // enable runtime API
CDP.sendMessage('Runtime.addBinding', { // setup sending from window to Node via Binding 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({ const [ ipcMessageCallback, injectIPC, IPC ] = await IPCApi({
browserName, browserName,
browserInfo browserInfo,
browserEngine
}, { }, {
evalInWindow, evalInWindow,
evalOnNewDocument: source => CDP.sendMessage('Page.addScriptToEvaluateOnNewDocument', { source }, sessionId), evalOnNewDocument: source => CDP.sendMessage('Page.addScriptToEvaluateOnNewDocument', { source }, sessionId),
pageLoadPromise: new Promise(res => pageLoadCallback = res) pageLoadPromise: new Promise(res => pageLoadCallback = res)
}); });
onWindowMessage = ipcMessageCallback;
onWindowMessage = ipcMessageCallback;
log('finished setup'); log('finished setup');

View File

@ -1,4 +1,4 @@
export default ({ browserName, browserInfo }, { evalInWindow, evalOnNewDocument, pageLoadPromise }) => { export default ({ browserName, browserInfo, browserEngine }, { evalInWindow, evalOnNewDocument, pageLoadPromise }) => {
const injection = `(() => { const injection = `(() => {
if (window.Gluon) return; if (window.Gluon) return;
let onIPCReply = {}, ipcListeners = {}; let onIPCReply = {}, ipcListeners = {};
@ -8,7 +8,7 @@ window.Gluon = {
builder: '${'GLUGUN_VERSION' === 'G\LUGUN_VERSION' ? 'nothing' : 'Glugun GLUGUN_VERSION'}', builder: '${'GLUGUN_VERSION' === 'G\LUGUN_VERSION' ? 'nothing' : 'Glugun GLUGUN_VERSION'}',
node: '${process.versions.node}', node: '${process.versions.node}',
browser: '${browserInfo.product.split('/')[1]}', browser: '${browserInfo.product.split('/')[1]}',
browserType: '${browserName.startsWith('Firefox') ? 'firefox' : 'chromium'}', browserType: '${browserEngine}',
product: '${browserName}', product: '${browserName}',
js: { js: {