From 6f49f426b518bdbca11c7994246eb088903e6619 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Wed, 8 Jul 2020 19:58:06 -0400 Subject: Generalized frame connections (#654) * Create FrameClient and FrameEndpoint * Use new Frame* classes for Popup=>frame connection * Update api.sendMessageToFrame and api.broadcastTab to include the sender's frameId * Update FrameClient to store the frame's frameId --- ext/bg/js/backend.js | 8 +++++--- ext/bg/js/search.js | 1 + ext/bg/settings-popup-preview.html | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'ext/bg') diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index 4791bfb5..6e594f9b 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -538,14 +538,15 @@ class Backend { }); } - _onApiSendMessageToFrame({frameId, action, params}, sender) { + _onApiSendMessageToFrame({frameId: targetFrameId, action, params}, sender) { if (!(sender && sender.tab)) { return false; } const tabId = sender.tab.id; + const frameId = sender.frameId; const callback = () => this._checkLastError(chrome.runtime.lastError); - chrome.tabs.sendMessage(tabId, {action, params}, {frameId}, callback); + chrome.tabs.sendMessage(tabId, {action, params, frameId}, {frameId: targetFrameId}, callback); return true; } @@ -555,8 +556,9 @@ class Backend { } const tabId = sender.tab.id; + const frameId = sender.frameId; const callback = () => this._checkLastError(chrome.runtime.lastError); - chrome.tabs.sendMessage(tabId, {action, params}, callback); + chrome.tabs.sendMessage(tabId, {action, params, frameId}, callback); return true; } diff --git a/ext/bg/js/search.js b/ext/bg/js/search.js index 239027f7..9bbc66f2 100644 --- a/ext/bg/js/search.js +++ b/ext/bg/js/search.js @@ -424,6 +424,7 @@ class DisplaySearch extends Display { async _setupNestedPopups() { await dynamicLoader.loadScripts([ '/mixed/js/text-scanner.js', + '/mixed/js/frame-client.js', '/fg/js/frame-offset-forwarder.js', '/fg/js/popup.js', '/fg/js/popup-factory.js', diff --git a/ext/bg/settings-popup-preview.html b/ext/bg/settings-popup-preview.html index c0c8e3b9..5b3a9692 100644 --- a/ext/bg/settings-popup-preview.html +++ b/ext/bg/settings-popup-preview.html @@ -124,6 +124,7 @@ + -- cgit v1.2.3