From b68ef3d9d64c391e598ee910d3f502d450c97663 Mon Sep 17 00:00:00 2001
From: Thomas Rientjes <synzvato@protonmail.com>
Date: Sat, 5 Dec 2015 01:17:56 +0100
Subject: [PATCH] Update preference system

---
 defaults/preferences/prefs.js |  4 ++++
 lib/interceptor.js            |  5 +----
 options.xul                   |  7 +++++++
 package.json                  | 32 +-------------------------------
 4 files changed, 13 insertions(+), 35 deletions(-)
 create mode 100644 defaults/preferences/prefs.js
 create mode 100644 options.xul

diff --git a/defaults/preferences/prefs.js b/defaults/preferences/prefs.js
new file mode 100644
index 0000000..ebb4986
--- /dev/null
+++ b/defaults/preferences/prefs.js
@@ -0,0 +1,4 @@
+pref('extensions.id1-BoFifL9Vbdl2zQ@jetpack.addNotice', true);
+pref('extensions.id1-BoFifL9Vbdl2zQ@jetpack.blockMissing', false);
+pref('extensions.id1-BoFifL9Vbdl2zQ@jetpack.domainWhitelist', '');
+pref('extensions.id1-BoFifL9Vbdl2zQ@jetpack.amountInjected', 0);
diff --git a/lib/interceptor.js b/lib/interceptor.js
index 0a3c260..4c01995 100644
--- a/lib/interceptor.js
+++ b/lib/interceptor.js
@@ -84,7 +84,7 @@ var Interceptor = new Class({
         httpChannel.redirectTo(redirectionURI);
 
         //noinspection JSUnresolvedVariable
-        require('sdk/simple-prefs').prefs.amountBlocked++;
+        require('sdk/simple-prefs').prefs.amountInjected++;
     },
 
     handleMissingCandidate: function (httpChannel) {
@@ -94,9 +94,6 @@ var Interceptor = new Class({
 
         if (blockMissing) {
             httpChannel.cancel(Cr.NS_ERROR_NOT_AVAILABLE);
-
-            //noinspection JSUnresolvedVariable
-            require('sdk/simple-prefs').prefs.amountBlocked++;
         }
     }
 });
diff --git a/options.xul b/options.xul
new file mode 100644
index 0000000..63fa9e1
--- /dev/null
+++ b/options.xul
@@ -0,0 +1,7 @@
+<?xml version="1.0" ?>
+<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+  <setting data-jetpack-id="id1-BoFifL9Vbdl2zQ@jetpack" pref="extensions.id1-BoFifL9Vbdl2zQ@jetpack.addNotice" pref-name="addNotice" title="Add comments to locally fetched files" type="bool">Automatically prepend a notice to retrieved documents to signal local delivery.</setting>
+  <setting data-jetpack-id="id1-BoFifL9Vbdl2zQ@jetpack" pref="extensions.id1-BoFifL9Vbdl2zQ@jetpack.blockMissing" pref-name="blockMissing" title="Block requests for missing resources" type="bool">Cancel intercepted request if the required resource is not locally available.</setting>
+  <setting data-jetpack-id="id1-BoFifL9Vbdl2zQ@jetpack" pref="extensions.id1-BoFifL9Vbdl2zQ@jetpack.domainWhitelist" pref-name="domainWhitelist" title="Exclude domains from inspections" type="string">Enter domains to whitelist them. Separate multipe entries with semi-colons (;).</setting>
+  <setting data-jetpack-id="id1-BoFifL9Vbdl2zQ@jetpack" pref="extensions.id1-BoFifL9Vbdl2zQ@jetpack.amountInjected" pref-name="amountInjected" title="Counter for locally injected resources" type="integer">Amount of local Content Delivery Network resource injections since installation.</setting>
+</vbox>
diff --git a/package.json b/package.json
index 604688c..abb8185 100644
--- a/package.json
+++ b/package.json
@@ -11,35 +11,5 @@
   "engines": {
     "firefox": ">=21.0",
     "fennec": ">=21.0"
-  },
-  "preferences": [
-    {
-      "description": "Automatically prepend a notice to retrieved documents to signal local delivery.",
-      "type": "bool",
-      "name": "addNotice",
-      "value": true,
-      "title": "Add comments to locally fetched files"
-    },
-    {
-      "description": "Cancel intercepted request if the required resource is not locally available.",
-      "type": "bool",
-      "name": "blockMissing",
-      "value": false,
-      "title": "Block requests for missing resources"
-    },
-    {
-      "description": "Enter domains to whitelist them. Separate multipe entries with semi-colons (;).",
-      "type": "string",
-      "name": "domainWhitelist",
-      "value": "",
-      "title": "Exclude domains from inspections"
-    },
-    {
-      "description": "Amount of requests to Content Delivery Networks blocked since installation.",
-      "type": "integer",
-      "name": "amountBlocked",
-      "value": 0,
-      "title": "Counter for intercepted requests"
-    }
-  ]
+  }
 }
-- 
GitLab