From 57ef8a4166bed293fb15f5405207cb824724011f Mon Sep 17 00:00:00 2001 From: kkapsner Date: Sat, 15 Sep 2018 21:13:25 +0200 Subject: [PATCH] Simplified relation logging <-> settings For #166 --- browserAction/browserAction.html | 2 +- lib/logging.js | 9 ++++++--- lib/settings.js | 23 ++++++----------------- manifest.json | 6 +++--- options/export.html | 2 +- options/options.html | 2 +- pageAction/pageAction.html | 2 +- 7 files changed, 19 insertions(+), 27 deletions(-) diff --git a/browserAction/browserAction.html b/browserAction/browserAction.html index 4ebf2f6..2a47a2d 100644 --- a/browserAction/browserAction.html +++ b/browserAction/browserAction.html @@ -8,9 +8,9 @@
+ - \ No newline at end of file diff --git a/lib/logging.js b/lib/logging.js index 09a9f92..8c12921 100644 --- a/lib/logging.js +++ b/lib/logging.js @@ -16,7 +16,11 @@ scope = window.scope.logging; } - const settings = require("./settings"); + let settings = false; + require.on("./settings", function(realSettings){ + settings = realSettings; + settings.loaded.then(scope.clearQueue); + }); var prefix = ""; @@ -39,7 +43,7 @@ if (!date){ date = new Date(); } - if (settings.isStillDefault || queue.length){ + if (!settings || !settings.isInitialized() || queue.length){ queue.push({level, args, date}); } else { @@ -96,7 +100,6 @@ metaLog("logging queue cleared"); } }; - settings.loaded.then(scope.clearQueue); scope.error = error; scope.warning = warning; scope.message = message; diff --git a/lib/settings.js b/lib/settings.js index 4020108..902e787 100644 --- a/lib/settings.js +++ b/lib/settings.js @@ -13,23 +13,7 @@ window.scope.settings = scope; } - var logging = {}; - (function(){ - var loggingQueue = []; - require.on("./logging", function(realLogging){ - logging = realLogging; - - loggingQueue.forEach(function(logEntry){ - logging[logEntry.name](...logEntry.args, logEntry.date); - }); - loggingQueue = []; - }); - ["error", "warning", "message", "notice", "verbose"].forEach(function(name){ - logging[name] = function(...args){ - loggingQueue.push({name, args, date: new Date()}); - }; - }); - }()); + const logging = require("./logging"); const settingDefinitions = require("./settingDefinitions.js"); const definitionsByName = {}; const defaultSymbol = ""; @@ -568,6 +552,9 @@ logging.verbose("loading settings"); let initialized = false; + scope.isInitialized = function(){ + return initialized; + }; const initEvents = []; scope.init = function(storage){ if (initialized){ @@ -631,4 +618,6 @@ }); }; Object.seal(scope); + + require.emit("./settings"); }()); \ No newline at end of file diff --git a/manifest.json b/manifest.json index 335d543..a0a4a32 100644 --- a/manifest.json +++ b/manifest.json @@ -10,10 +10,10 @@ "background": { "scripts": [ "lib/require.js", + "lib/logging.js", "lib/settingDefinitions.js", "lib/settingsMigration.js", "lib/settings.js", - "lib/logging.js", "lib/lists.js", "lib/persistentRndStorage.js", "lib/dataUrls.js", @@ -28,11 +28,11 @@ "run_at": "document_start", "js": [ "lib/require.js", + "lib/logging.js", + "lib/settingDefinitions.js", "lib/settings.js", - "lib/logging.js", - "lib/colorStatistics.js", "lib/webgl.js", "lib/hash.js", diff --git a/options/export.html b/options/export.html index 129c3c1..0dd686b 100644 --- a/options/export.html +++ b/options/export.html @@ -8,9 +8,9 @@ + - \ No newline at end of file diff --git a/options/options.html b/options/options.html index 93c26e2..82c4fe7 100644 --- a/options/options.html +++ b/options/options.html @@ -7,9 +7,9 @@ + - diff --git a/pageAction/pageAction.html b/pageAction/pageAction.html index e46edd7..fde113a 100644 --- a/pageAction/pageAction.html +++ b/pageAction/pageAction.html @@ -11,9 +11,9 @@
  • ...
  • + -