aboutsummaryrefslogtreecommitdiffstats
path: root/background_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'background_scripts')
-rw-r--r--background_scripts/main.coffee10
1 files changed, 10 insertions, 0 deletions
diff --git a/background_scripts/main.coffee b/background_scripts/main.coffee
index fe6cc70b..f031eeaf 100644
--- a/background_scripts/main.coffee
+++ b/background_scripts/main.coffee
@@ -658,6 +658,15 @@ handleFrameFocused = (request, sender) ->
frameIdsForTab[tabId] =
[request.frameId, (frameIdsForTab[tabId].filter (id) -> id != request.frameId)...]
+# Send a message to a frame (in the sender's tab). The sender should set:
+# - request.targetFrameId (the target frame)
+# - request.name (the name of the handler in the target frame, e.g. "focusFrame")
+# In addition, request.senderFrameId will be set to the frameId of the sender.
+sendMessageToFrame = (request, sender) ->
+ request.senderFrameId = request.frameId
+ request.frameId = request.targetFrameId
+ chrome.tabs.sendMessage sender.tab.id, request
+
# Port handler mapping
portHandlers =
keyDown: handleKeyDown,
@@ -685,6 +694,7 @@ sendRequestHandlers =
createMark: Marks.create.bind(Marks)
gotoMark: Marks.goto.bind(Marks)
setBadge: setBadge
+ sendMessageToFrame: sendMessageToFrame
# We always remove chrome.storage.local/findModeRawQueryListIncognito on startup.
chrome.storage.local.remove "findModeRawQueryListIncognito"