diff options
author | hackademix | 2018-08-28 01:23:27 +0200 |
---|---|---|
committer | hackademix | 2018-08-28 17:21:56 +0200 |
commit | e8716657e43c46a97d80783593a8f90786a24558 (patch) | |
tree | cfb32205c1002d3ce21f8687fe39965dbc91116a /src/bg | |
parent | 5bfba8a40fb591d9023ee113965fadcd733ba931 (diff) | |
download | noscript-e8716657e43c46a97d80783593a8f90786a24558.tar.gz noscript-e8716657e43c46a97d80783593a8f90786a24558.tar.xz noscript-e8716657e43c46a97d80783593a8f90786a24558.zip |
Reordered startup sequence to be more friendly with embedders like the Tor Browser.
Diffstat (limited to 'src/bg')
-rw-r--r-- | src/bg/defaults.js | 60 | ||||
-rw-r--r-- | src/bg/main.js | 30 |
2 files changed, 45 insertions, 45 deletions
diff --git a/src/bg/defaults.js b/src/bg/defaults.js index 4d071b4..7170743 100644 --- a/src/bg/defaults.js +++ b/src/bg/defaults.js @@ -1,36 +1,38 @@ 'use strict'; -ns.defaults = (async () => { - let defaults = { - local: { - debug: false, - showCtxMenuItem: true, - showCountBadge: true, - showFullAddresses: false, - }, - sync: { - "global": false, - "xss": true, - "clearclick": true - } - }; - let defaultsClone = JSON.parse(JSON.stringify(defaults)); +var Defaults = { + async init() { + let defaults = { + local: { + debug: false, + showCtxMenuItem: true, + showCountBadge: true, + showFullAddresses: false, + }, + sync: { + "global": false, + "xss": true, + "clearclick": true + } + }; + let defaultsClone = JSON.parse(JSON.stringify(defaults)); - for (let [k, v] of Object.entries(defaults)) { - let store = await Storage.get(k, k); - if (k in store) { - Object.assign(v, store[k]); + for (let [k, v] of Object.entries(defaults)) { + let store = await Storage.get(k, k); + if (k in store) { + Object.assign(v, store[k]); + } + v.storage = k; } - v.storage = k; - } - Object.assign(ns, defaults); + Object.assign(ns, defaults); - // dynamic settings - if (!ns.local.uuid) { - ns.local.uuid = uuid(); - await ns.save(ns.local); - } + // dynamic settings + if (!ns.local.uuid) { + ns.local.uuid = uuid(); + await ns.save(ns.local); + } - return ns.defaults = defaultsClone; -})(); + return ns.defaults = defaultsClone; + } +}; diff --git a/src/bg/main.js b/src/bg/main.js index 72ef5de..58e7aef 100644 --- a/src/bg/main.js +++ b/src/bg/main.js @@ -23,8 +23,7 @@ } async function init() { - await include("/bg/defaults.js"); - await ns.defaults; + await Defaults.init(); let policyData = (await Storage.get("sync", "policy")).policy; if (policyData && policyData.DEFAULT) { @@ -35,16 +34,22 @@ ns.policy = await Legacy.createOrMigratePolicy(); ns.savePolicy(); } - - - - await include("/bg/RequestGuard.js"); + await RequestGuard.start(); await XSS.start(); // we must start it anyway to initialize sub-objects if (!ns.sync.xss) { XSS.stop(); } - Commands.install(); + + Messages.addHandler(messageHandler); + + try { + await Messages.send("started"); + } catch (e) { + // no embedder to answer us + } + log("STARTED"); + }; let Commands = { @@ -65,8 +70,6 @@ togglePermissions() {}, install() { - - if ("command" in browser) { // keyboard shortcuts browser.commands.onCommand.addListener(cmd => { @@ -182,13 +185,8 @@ deferWebTraffic(init(), async () => { - - await include("/bg/Settings.js"); - Messages.addHandler(messageHandler); - - await Messages.send("started"); - log("STARTED"); - + Commands.install(); + this.devMode = (await browser.management.getSelf()).installType === "development"; if (this.local.debug) { if (this.devMode) { |