From a41cc90f3c401d08cf75a693a0698320b61b8d99 Mon Sep 17 00:00:00 2001 From: Einar Egilsson Date: Mon, 21 Sep 2015 15:08:59 +0000 Subject: Almost fully working Firefox --- js/firefox/background-shim.js | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'js/firefox/background-shim.js') diff --git a/js/firefox/background-shim.js b/js/firefox/background-shim.js index 453feff..83e4cc7 100644 --- a/js/firefox/background-shim.js +++ b/js/firefox/background-shim.js @@ -1,4 +1,5 @@ -var self = require("sdk/self"); +var self = require('sdk/self'); +var tabs = require('sdk/tabs'); const {Cu} = require('chrome'); @@ -80,9 +81,6 @@ var panel = panels.Panel({ function attachedPage(worker) { function sendReply(originalMessage, reply) { - if (JSON.stringify(reply) == "{}") { - throw 'fuck'; - } var msg = {messageId:originalMessage.messageId, payload:reply}; console.info('background sending message: ' + JSON.stringify(msg)); worker.port.emit('message', msg); @@ -99,6 +97,25 @@ function attachedPage(worker) { chrome.storage.local.set(message.payload, function(data) { sendReply(message, data); }); + } else if (message.messageType == 'tabs.query') { + var result = []; + for (let tab of tabs) { + if (tab.url == message.payload.url) { + result.push({id:tab.id, url:tab.url}); + } + } + sendReply(message, result); + } else if (message.messageType == 'tabs.update') { + for (let tab of tabs) { + if (tab.id == message.payload.tabId) { + tab.activate(); + sendReply(message, tab); + } + } + sendReply(message, null); + } else if (message.messageType == 'tabs.create') { + tabs.open(message.payload.url); + sendReply(message, null); } }); } -- cgit v1.2.3