diff options
author | NateN1222 <nathannichols454@gmail.com> | 2017-09-09 14:10:26 -0500 |
---|---|---|
committer | NateN1222 <nathannichols454@gmail.com> | 2017-09-09 14:10:26 -0500 |
commit | b975f183fe19250c67b2c8617c2a76f9cdf71548 (patch) | |
tree | dd439290a922512211dd82d3c3fab23f05d924a3 /html | |
parent | d324474467727fa31c76c206acb027acd8925fa1 (diff) |
Implemented buttons in context menu, improved options screen, added window to the list of nontrivial objects
Diffstat (limited to 'html')
-rw-r--r-- | html/display_panel/content/main_panel.js | 11 | ||||
-rw-r--r-- | html/preferences_panel/pref.js | 24 | ||||
-rw-r--r-- | html/preferences_panel/preferences_panel.html | 6 |
3 files changed, 33 insertions, 8 deletions
diff --git a/html/display_panel/content/main_panel.js b/html/display_panel/content/main_panel.js index 9752e10..fddc3a6 100644 --- a/html/display_panel/content/main_panel.js +++ b/html/display_panel/content/main_panel.js @@ -70,7 +70,7 @@ function write_elements(data,name,color){ } else{ heading.innerHTML = "<h2 class='blocked-js'>List of <div style='display:inline; color:"+color+";'>" + name.toUpperCase() + "</div> javascript in " + data["url"]+":</h2>"; } - // Iterate over data[name] and generate bulleted list + // Iterate over data[name] and generate list for(var i = 0; i < data[name].length; i++){ list.innerHTML += "<li><b>"+data[name][i][0]+ ":</b><br>" + data[name][i][1]+"\n"+button_html+"<br><br>\n"+button_html_2+"<br><br>\n"+button_html_3+"</li>"; document.getElementById("temp").id = name+"_"+i; @@ -154,9 +154,9 @@ function generate_HTML(blocked_data){ // This should send a message to invoke the content finder var button_complain = '<a id="complain-contact" class="button white" href="#">Complain to site owner</a>'; // This should update the persistent options - var button_allow_all = '<a id="allow-button" class="button white" href="#">Allow all scripts in this page</a>'; + var button_allow_all = '<a id="allow-button" class="button white" href="#">'+"Add page's domain to whitelist"+'</a>'; // This will call "Forget preferences" on every script. - var button_block_nonfree = '<a id="disallow-button" class="button white" href="#">Block all nonfree/nontrivial scripts from this page</a>'; + var button_block_nonfree = '<a id="disallow-button" class="button white" href="#">'+"Remove page's domain from whitelist"+'</a>'; // This should send a message that calls "open_popup_tab()" in the background script var button_new_tab = '<a id="open-in-tab" class="button white" href="#">Open this report in a new tab</a>'; @@ -175,10 +175,11 @@ function generate_HTML(blocked_data){ if( blocked_data["blacklisted"].length != 0 || blocked_data["blocked"].length != 0 || blocked_data["whitelisted"].length != 0 || blocked_data["accepted"].length != 0){ write_button(button_allow_all,function(){ - console.log("button_allow_all"); + myPort.postMessage({"allow_all": blocked_data}); }); write_button(button_block_nonfree,function(){ - console.log("button_block_nonfree"); + myPort.postMessage({"block_all": blocked_data}); + }); write_button(button_complain,function(){ myPort.postMessage({"invoke_contact_finder": blocked_data}); diff --git a/html/preferences_panel/pref.js b/html/preferences_panel/pref.js index aa88f5d..223165f 100644 --- a/html/preferences_panel/pref.js +++ b/html/preferences_panel/pref.js @@ -20,16 +20,31 @@ set_webex(); function storage_got(items){ var inputs = document.getElementsByTagName("input"); + + if(items["pref_whitelist"] == "undefined"){ + items["pref_whitelist"] = ""; + } + + if(items["pref_subject"] == "undefined" || items["pref_subject"] == ""){ + items["pref_subject"] = "Issues with Javascript on your website"; + } + + if(items["pref_body"] == "undefined" || items["pref_body"] == ""){ + items["pref_body"] = "Please consider using a free license for the Javascript on your website. [Message generated by LibreJS. See https://www.gnu.org/software/librejs/ for more information]"; + } + 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"){ + if(inputs[i].type == "text" && items[inputs[i].id] != undefined){ inputs[i].value = items[inputs[i].id]; } } } + + } webex.storage.local.get(storage_got); @@ -43,13 +58,18 @@ document.getElementById("save_changes").addEventListener("click", function(){ if(inputs[i].type == "checkbox"){ input_val = inputs[i].checked; } else{ - input_val = inputs[i].value; + if(inputs[i.value] != "undefined"){ + input_val = inputs[i].value; + } else{ + input_val = ""; + } } 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 index 5c5a217..2d01f94 100644 --- a/html/preferences_panel/preferences_panel.html +++ b/html/preferences_panel/preferences_panel.html @@ -34,9 +34,11 @@ <table> <tr> - <td><p>Whitelist domains, seperated by comma (wildcard is *)</p></td> + <td><p>Allow all scripts from pages with this text <br> in their URL. (Comma seperated, wildcard is *)</p></td> <td><input id="pref_whitelist" type="text"></input></td> </tr> + <!-- + <tr> <td><p>Display complaint tab on sites where nonfree nontrivial Javascript detected</p></td> <td><input id="pref_complaint_tab" type="checkbox"></input></td> @@ -45,6 +47,8 @@ <td><p>Display notifications of the JavaScript code being analyzed by LibreJS</p></td> <td><input id="pref_notify_analyze" type="checkbox"></input></td> </tr> + + --> <tr> <td><p>Default complaint email subject</p></td> <td><input id="pref_subject" type="text"></input></td> |