From 00066e4eb52fbce1af55cbba8b0b73b6f08f7f8c Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sat, 13 Feb 2021 12:13:05 -0500 Subject: [PATCH] Fix cross frame communication not exposing sourceTabId properly (#1379) --- ext/bg/js/backend.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index e730912b..3bb23310 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -320,8 +320,8 @@ class Backend { } if (details.name !== 'background-cross-frame-communication-port') { return; } - const tabId = (port.sender && port.sender.tab ? port.sender.tab.id : null); - if (typeof tabId !== 'number') { + const senderTabId = (port.sender && port.sender.tab ? port.sender.tab.id : null); + if (typeof senderTabId !== 'number') { throw new Error('Port does not have an associated tab ID'); } const senderFrameId = port.sender.frameId; @@ -330,11 +330,12 @@ class Backend { } let {targetTabId, targetFrameId} = details; if (typeof targetTabId !== 'number') { - targetTabId = tabId; + targetTabId = senderTabId; } const details2 = { name: 'cross-frame-communication-port', + sourceTabId: senderTabId, sourceFrameId: senderFrameId }; let forwardPort = chrome.tabs.connect(targetTabId, {frameId: targetFrameId, name: JSON.stringify(details2)});