summaryrefslogtreecommitdiff
path: root/src/bg/main.js
diff options
context:
space:
mode:
authorhackademix2018-07-22 19:14:54 +0200
committerhackademix2018-07-22 19:14:54 +0200
commit4302246ac01d7dc56650ffa227ad87fe98ccfc03 (patch)
tree2801d4334efecae9885dc3d4a9fcb4056be7a019 /src/bg/main.js
parent81b38512568982267b48f6df4ae15fb35ef1cc15 (diff)
downloadnoscript-4302246ac01d7dc56650ffa227ad87fe98ccfc03.tar.gz
noscript-4302246ac01d7dc56650ffa227ad87fe98ccfc03.tar.xz
noscript-4302246ac01d7dc56650ffa227ad87fe98ccfc03.zip
More reliable handling of edge startup cases.
Diffstat (limited to 'src/bg/main.js')
-rw-r--r--src/bg/main.js41
1 files changed, 15 insertions, 26 deletions
diff --git a/src/bg/main.js b/src/bg/main.js
index d89ef63..47ee89e 100644
--- a/src/bg/main.js
+++ b/src/bg/main.js
@@ -194,38 +194,27 @@
return this.policy.enforced && (tabId === -1 || !this.unrestrictedTabs.has(tabId));
},
- async start() {
+ start() {
if (this.running) return;
this.running = true;
- let initializing = init();
- let wr = browser.webRequest;
- let waitForPolicy = async r => {
- try {
- await initializing;
- } catch (e) {
- error(e);
- }
- }
- wr.onBeforeRequest.addListener(waitForPolicy, {
- urls: ["<all_urls>"]
- }, ["blocking"]);
- await initializing;
- wr.onBeforeRequest.removeListener(waitForPolicy);
+ deferWebTraffic(init(),
+ async () => {
- await include("/bg/Settings.js");
- MessageHandler.listen();
+ await include("/bg/Settings.js");
+ MessageHandler.listen();
- log("STARTED");
+ log("STARTED");
- this.devMode = (await browser.management.getSelf()).installType === "development";
- if (this.local.debug) {
- if (this.devMode) {
- include("/test/run.js");
- }
- } else {
- debug = () => {}; // suppress verbosity
- }
+ this.devMode = (await browser.management.getSelf()).installType === "development";
+ if (this.local.debug) {
+ if (this.devMode) {
+ include("/test/run.js");
+ }
+ } else {
+ debug = () => {}; // suppress verbosity
+ }
+ });
},
stop() {