diff --git a/lib/frame.js b/lib/frame.js index d131836..7b1210d 100644 --- a/lib/frame.js +++ b/lib/frame.js @@ -75,9 +75,8 @@ port.postMessage({"canvasBlocker-notify": data}); } - const preferences = require("sdk/simple-prefs"); function prefs(name){ - return preferences.prefs[name]; + return settings[name]; } @@ -93,7 +92,7 @@ catch (e){ // we are unable to read the location due to SOP // therefore we also can not intercept anything. - warning("NOT intercepting window du to SOP", window); + warning("NOT intercepting window due to SOP", window); return false; } @@ -139,7 +138,25 @@ return true; }; - interceptWindow(window); + if (settings.isStillDefault){ + message("load settings"); + browser.storage.local.get().then(function(data){ + Object.keys(data).forEach(function(key){ + notice("loaded setting:", key, ":", data[key]); + settings[key] = data[key]; + var match = key.match(/^(.+)list$/i); + if (match){ + lists.update(match[1]); + } + }); + settings.isStillDefault = false; + logging.clearQueue(); + interceptWindow(window); + }); + } + else { + interceptWindow(window); + } message("register listener for messages from background script"); browser.runtime.onMessage.addListener(function(data){ @@ -156,13 +173,6 @@ } }); - message("load settings"); - browser.storage.local.get().then(function(data){ - Object.keys(data).forEach(function(key){ - notice("loaded setting:", key, ":", data[key]); - settings[key] = data[key]; - }); - }); message("register listener for settings changes"); browser.storage.onChanged.addListener(function(change, area){