aboutsummaryrefslogtreecommitdiff
path: root/js/firefox/background-shim.js
diff options
context:
space:
mode:
authorEinar Egilsson <einar@einaregilsson.com>2015-09-21 15:08:59 +0000
committerEinar Egilsson <einar@einaregilsson.com>2015-09-21 15:08:59 +0000
commita41cc90f3c401d08cf75a693a0698320b61b8d99 (patch)
treec41cf00a83dac214ad2725663abaeee826dbe778 /js/firefox/background-shim.js
parent720c2643cd4bcfbc63b67d7d74c476496c805b8b (diff)
Almost fully working Firefox
Diffstat (limited to 'js/firefox/background-shim.js')
-rw-r--r--js/firefox/background-shim.js25
1 files changed, 21 insertions, 4 deletions
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);
}
});
}