From 08e2c650cacb372b913e60c91874af9fcbb786a0 Mon Sep 17 00:00:00 2001 From: NateN1222 Date: Fri, 28 Jul 2017 12:16:55 -0500 Subject: Initial commit --- html/preferences_panel/pref.js | 56 ++++++++++++++++++++++++ html/preferences_panel/preferences_panel.html | 63 +++++++++++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 html/preferences_panel/pref.js create mode 100644 html/preferences_panel/preferences_panel.html (limited to 'html/preferences_panel') diff --git a/html/preferences_panel/pref.js b/html/preferences_panel/pref.js new file mode 100644 index 0000000..aa88f5d --- /dev/null +++ b/html/preferences_panel/pref.js @@ -0,0 +1,56 @@ +/** +* +* Sets global variable "webex" to either "chrome" or "browser" for +* use on Chrome or a Firefox variant. +* +* Change this to support a new browser that isn't Chrome or Firefox, +* given that it supports webExtensions. +* +* (Use the variable "webex" for all API calls after calling this) +*/ +var store; +function set_webex(){ + if(typeof(browser) == "undefined"){ + webex = chrome; + } else{ + webex = browser; + } +} +set_webex(); + +function storage_got(items){ + var inputs = document.getElementsByTagName("input"); + for(var i = 0; i < inputs.length; i++){ + if(inputs[i].id.indexOf("pref_") != -1){ + if(inputs[i].type == "checkbox" && items[inputs[i].id]){ + inputs[i].checked = true; + } + if(inputs[i].type == "text"){ + inputs[i].value = items[inputs[i].id]; + } + } + } +} +webex.storage.local.get(storage_got); + +document.getElementById("save_changes").addEventListener("click", function(){ + var inputs = document.getElementsByTagName("input"); + // TODO: validate/sanitize the user inputs + var data = {}; + for(var i = 0; i < inputs.length; i++){ + if(inputs[i].id.indexOf("pref_") != -1){ + var input_val = ""; + if(inputs[i].type == "checkbox"){ + input_val = inputs[i].checked; + } else{ + input_val = inputs[i].value; + } + var input_id = inputs[i].id; + data[input_id] = input_val; + } + } + console.log(data); + webex.storage.local.set(data); +}); + + diff --git a/html/preferences_panel/preferences_panel.html b/html/preferences_panel/preferences_panel.html new file mode 100644 index 0000000..5c5a217 --- /dev/null +++ b/html/preferences_panel/preferences_panel.html @@ -0,0 +1,63 @@ + + + + + LibreJS preferences + + + + +

+ LibreJS Preferences +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Whitelist domains, seperated by comma (wildcard is *)

Display complaint tab on sites where nonfree nontrivial Javascript detected

Display notifications of the JavaScript code being analyzed by LibreJS

Default complaint email subject

Default complaint email body

+ + + -- cgit v1.2.3