summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortilpner2020-05-17 20:44:16 +0200
committertilpner2020-05-18 12:59:15 +0200
commit3b623a74bfb3f1e04f8cbc77dceccb545b7d955f (patch)
tree5bb798afbfcf2f12ef3560909c19840fdd861bb1
parent95a44c07d26b25818fd1a4ae62f57440e4fe7aa2 (diff)
downloadnoscript-3b623a74bfb3f1e04f8cbc77dceccb545b7d955f.tar.gz
noscript-3b623a74bfb3f1e04f8cbc77dceccb545b7d955f.tar.xz
noscript-3b623a74bfb3f1e04f8cbc77dceccb545b7d955f.zip
Use managed policy for default settings, if available
-rw-r--r--src/bg/main.js12
-rw-r--r--src/managed_storage.json11
2 files changed, 20 insertions, 3 deletions
diff --git a/src/bg/main.js b/src/bg/main.js
index d220274..919c971 100644
--- a/src/bg/main.js
+++ b/src/bg/main.js
@@ -42,9 +42,15 @@
if (policyData && policyData.DEFAULT) {
ns.policy = new Policy(policyData);
} else {
- await include("/legacy/Legacy.js");
- ns.policy = await Legacy.createOrMigratePolicy();
- await ns.savePolicy();
+ let managedData = await Storage.get("managed", "defaultSettings");
+ if (managedData != null) {
+ let defaultSettings = JSON.parse(managedData.defaultSettings);
+ ns.policy = new Policy(defaultSettings.policy);
+ } else {
+ await include("/legacy/Legacy.js");
+ ns.policy = await Legacy.createOrMigratePolicy();
+ await ns.savePolicy();
+ }
}
Sites.onionSecure = ns.local.isTorBrowser;
diff --git a/src/managed_storage.json b/src/managed_storage.json
new file mode 100644
index 0000000..8243fe0
--- /dev/null
+++ b/src/managed_storage.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "http://json-schema.org/draft-03/schema#",
+ "type": "object",
+ "properties": {
+ "defaultSettings": {
+ "title": "A valid JSON string compliant with NoScripts's backup format.",
+ "description": "All entries present will overwrite local settings.",
+ "type": "string"
+ }
+ }
+}