aboutsummaryrefslogtreecommitdiff
path: root/js/firefox/background-shim.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/firefox/background-shim.js')
-rw-r--r--js/firefox/background-shim.js26
1 files changed, 18 insertions, 8 deletions
diff --git a/js/firefox/background-shim.js b/js/firefox/background-shim.js
index 4cf96eb..34d0fc5 100644
--- a/js/firefox/background-shim.js
+++ b/js/firefox/background-shim.js
@@ -34,7 +34,9 @@ function migrateFromOlderVersion() {
var Redirect = require('../redirect').Redirect;
var newData = {redirects:[]};
for (var r of jsonData.redirects) {
- newData.redirects.push(new Redirect(r).toObject());
+ var redirect = new Redirect(r);
+ redirect.updateExampleResult();
+ newData.redirects.push(redirect.toObject());
}
Cu.import("resource://gre/modules/Services.jsm");
@@ -49,8 +51,9 @@ function migrateFromOlderVersion() {
var oldPrefs = ['enabled', 'debugEnabled', 'enableShortcutKey', 'version', 'defaultDir'];
for (var p of oldPrefs) {
try {
- Services.prefs.deleteBranch('extensions.redirector.' + oldPrefs);
- } catch(e) {}
+ Services.prefs.deleteBranch('extensions.redirector.' + p);
+ } catch(e) {
+ }
}
@@ -147,12 +150,13 @@ function attachedPage(worker) {
worker.port.emit('message', msg);
}
- //We proxy all logging over here so we can control it with one switch
- worker.port.on('log', function(logMessage) {
+ function logger(logMessage) {
log(logMessage);
- });
+ }
+ //We proxy all logging over here so we can control it with one switch
+ worker.port.on('log', logger);
- worker.port.on('message', function(message) {
+ function receive(message) {
log('background got message: ' + JSON.stringify(message));
if (message.messageType == 'storage.get') {
@@ -195,7 +199,13 @@ function attachedPage(worker) {
panel.hide();
sendReply(message, null);
}
- });
+ }
+ worker.port.on('message', receive);
+
+ worker.on('detach', function() {
+ worker.port.removeListener('message', receive);
+ worker.port.removeListener('log', logger);
+ });
}
attachedPage(panel);