diff --git a/lib/renderer/chrome-api.js b/lib/renderer/chrome-api.js index f34454c01851b..361c735ede1dd 100644 --- a/lib/renderer/chrome-api.js +++ b/lib/renderer/chrome-api.js @@ -4,8 +4,6 @@ const ipcRenderer = require('@electron/internal/renderer/ipc-renderer-internal') const Event = require('@electron/internal/renderer/extensions/event') const url = require('url') -let nextId = 0 - class Tab { constructor (tabId) { this.id = tabId @@ -146,14 +144,12 @@ exports.injectTo = function (extensionId, isBackgroundPage, context) { } chrome.tabs = { - executeScript (tabId, details, callback) { - const requestId = ++nextId - ipcRenderer.once(`CHROME_TABS_EXECUTESCRIPT_RESULT_${requestId}`, (event, result) => { - // Disabled due to false positive in StandardJS - // eslint-disable-next-line standard/no-callback-literal - callback([event.result]) - }) - ipcRenderer.send('CHROME_TABS_EXECUTESCRIPT', requestId, tabId, extensionId, details) + executeScript (tabId, details, resultCallback) { + if (resultCallback) { + ipcRenderer.once(`CHROME_TABS_EXECUTESCRIPT_RESULT_${originResultID}`, (event, result) => resultCallback([result])) + } + ipcRenderer.send('CHROME_TABS_EXECUTESCRIPT', originResultID, tabId, extensionId, details) + originResultID++ }, sendMessage (tabId, message, options, responseCallback) {