summaryrefslogtreecommitdiff
path: root/src/bg
diff options
context:
space:
mode:
authorhackademix2018-08-28 01:23:27 +0200
committerhackademix2018-08-28 17:21:56 +0200
commite8716657e43c46a97d80783593a8f90786a24558 (patch)
treecfb32205c1002d3ce21f8687fe39965dbc91116a /src/bg
parent5bfba8a40fb591d9023ee113965fadcd733ba931 (diff)
downloadnoscript-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.js60
-rw-r--r--src/bg/main.js30
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) {