From 3d7b6e1f548da2f76fe0828e902fbe0a02e2c70d Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Sat, 2 Apr 2016 08:40:36 +0100 Subject: Separate registerFrame from port initialization. This is a no-op. It separates the process of registering a frame with the background page from the port initialization. The idea is that -- soon -- we will only register some frames; in particular, we should not register the many tiny iframes on pages like GMail. The eventual goal is to speed up the global link-hints initialisation sequence. --- background_scripts/main.coffee | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'background_scripts') diff --git a/background_scripts/main.coffee b/background_scripts/main.coffee index f17befa0..241c809b 100644 --- a/background_scripts/main.coffee +++ b/background_scripts/main.coffee @@ -290,10 +290,6 @@ for icon in [ENABLED_ICON, DISABLED_ICON, PARTIAL_ICON] Frames = onConnect: (sender, port) -> [tabId, frameId] = [sender.tab.id, sender.frameId] - frameIdsForTab[tabId] ?= [] - frameIdsForTab[tabId].push frameId unless frameId in frameIdsForTab[tabId] - portsForTab[tabId] ?= {} - portsForTab[tabId][frameId] = port port.postMessage handler: "registerFrameId", chromeFrameId: frameId port.onDisconnect.addListener listener = -> @@ -310,6 +306,12 @@ Frames = (request, port) => this[request.handler] {request, tabId, frameId, port} + registerFrame: ({tabId, frameId, port}) -> + frameIdsForTab[tabId] ?= [] + frameIdsForTab[tabId].push frameId unless frameId in frameIdsForTab[tabId] + portsForTab[tabId] ?= {} + portsForTab[tabId][frameId] = port + isEnabledForUrl: ({request, tabId, port}) -> urlForTab[tabId] = request.url if request.frameIsFocused enabledState = Exclusions.isEnabledForUrl request.url -- cgit v1.2.3