fix: send chrome.runtime/tabs.sendMessage result to correct sender (#16945)

Additionally, use `.once` instead of `.on` for result specific listeners.
This commit is contained in:
Stewart Lord 2019-02-14 08:07:55 -08:00 committed by John Kleinschmidt
parent 8497bb1327
commit 84ef9cae6c
2 changed files with 5 additions and 5 deletions

View file

@ -186,7 +186,7 @@ ipcMainInternal.on('CHROME_RUNTIME_SENDMESSAGE', function (event, extensionId, m
}
page.webContents._sendInternalToAll(`CHROME_RUNTIME_ONMESSAGE_${extensionId}`, event.sender.id, message, resultID)
ipcMainInternal.once(`CHROME_RUNTIME_ONMESSAGE_RESULT_${resultID}`, (event, result) => {
ipcMainInternal.once(`CHROME_RUNTIME_ONMESSAGE_RESULT_${resultID}`, (resultEvent, result) => {
event._replyInternal(`CHROME_RUNTIME_SENDMESSAGE_RESULT_${originResultID}`, result)
})
resultID++
@ -202,7 +202,7 @@ ipcMainInternal.on('CHROME_TABS_SEND_MESSAGE', function (event, tabId, extension
const senderTabId = isBackgroundPage ? null : event.sender.id
contents._sendInternalToAll(`CHROME_RUNTIME_ONMESSAGE_${extensionId}`, senderTabId, message, resultID)
ipcMainInternal.once(`CHROME_RUNTIME_ONMESSAGE_RESULT_${resultID}`, (event, result) => {
ipcMainInternal.once(`CHROME_RUNTIME_ONMESSAGE_RESULT_${resultID}`, (resultEvent, result) => {
event._replyInternal(`CHROME_TABS_SEND_MESSAGE_RESULT_${originResultID}`, result)
})
resultID++