summaryrefslogtreecommitdiff
path: root/data/extensions/https-everywhere@eff.org/pages/options/ux.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/https-everywhere@eff.org/pages/options/ux.js')
-rw-r--r--data/extensions/https-everywhere@eff.org/pages/options/ux.js422
1 files changed, 0 insertions, 422 deletions
diff --git a/data/extensions/https-everywhere@eff.org/pages/options/ux.js b/data/extensions/https-everywhere@eff.org/pages/options/ux.js
deleted file mode 100644
index 02ad39d..0000000
--- a/data/extensions/https-everywhere@eff.org/pages/options/ux.js
+++ /dev/null
@@ -1,422 +0,0 @@
-/* global sendMessage */
-/* global getOption_ */
-/* global e */
-/* global show, hide */
-
-"use strict";
-
-document.addEventListener("DOMContentLoaded", () => {
- const secretArea = document.getElementById('secretArea');
-
- const onKeyDownHandler = evt => {
- if (evt.ctrlKey && evt.key === 'z') {
- secretArea.classList.remove('hidden');
- secretArea.classList.add('flash');
-
- sendMessage('set_option', { developerMode: true });
-
- document.removeEventListener('keydown', onKeyDownHandler);
-
- evt.preventDefault();
- }
- };
-
- sendMessage('get_option', { developerMode: false }, item => {
- if (item.developerMode) {
- secretArea.classList.remove('hidden');
- } else {
- document.addEventListener('keydown', onKeyDownHandler);
- }
- });
-
- const autoUpdateRulesets = document.getElementById("autoUpdateRulesets");
- const enableMixedRulesets = document.getElementById("enableMixedRulesets");
- const showDevtoolsTab = document.getElementById("showDevtoolsTab");
-
- const defaultOptions = {
- autoUpdateRulesets: false,
- enableMixedRulesets: false,
- showDevtoolsTab: true
- };
-
- sendMessage("get_option", defaultOptions, item => {
- autoUpdateRulesets.checked = item.autoUpdateRulesets;
- enableMixedRulesets.checked = item.enableMixedRulesets;
- showDevtoolsTab.checked = item.showDevtoolsTab;
-
- autoUpdateRulesets.addEventListener("change", () => {
- sendMessage("set_option", { autoUpdateRulesets: autoUpdateRulesets.checked });
- });
-
- enableMixedRulesets.addEventListener("change", () => {
- sendMessage("set_option", { enableMixedRulesets: enableMixedRulesets.checked });
- });
-
- showDevtoolsTab.addEventListener("change", () => {
- sendMessage("set_option", { showDevtoolsTab: showDevtoolsTab.checked });
- });
- });
-
- function onlyShowSection(sectionId) {
- document.querySelectorAll('.section-wrapper').forEach(sw => {
- sw.style.display = "none";
- });
- document.getElementById(sectionId).style.display = "block";
- }
- onlyShowSection('general-settings-wrapper');
-
- document.querySelectorAll('.section-header-span').forEach(shs => {
- shs.addEventListener("click", () => {
- document.querySelectorAll('.section-header-span').forEach(shs => {
- shs.classList.remove("active");
- shs.classList.add("inactive");
- });
- shs.classList.remove("inactive");
- shs.classList.add("active");
- onlyShowSection(shs.dataset.show);
- });
- });
-
- function create_update_channel_element(update_channel, last_updated, locked) {
- let ruleset_version_string;
-
- if(last_updated) {
- const ruleset_date = new Date(last_updated * 1000);
- ruleset_version_string = ruleset_date.getUTCFullYear() + "." + (ruleset_date.getUTCMonth() + 1) + "." + ruleset_date.getUTCDate();
- } else {
- ruleset_version_string = "n/a";
- }
-
- const update_channel_div = document.createElement('div');
- update_channel_div.className = "update-channel";
-
- const update_channel_name = document.createElement('div');
- update_channel_name.className = "update-channel-name";
- update_channel_name.innerText = update_channel.name;
- update_channel_div.appendChild(update_channel_name);
- const update_channel_last_updated = document.createElement('div');
- update_channel_last_updated.className = "update-channel-last-updated";
- update_channel_last_updated.innerText = chrome.i18n.getMessage("options_storedRulesetsVersion") + ruleset_version_string;
- update_channel_name.appendChild(update_channel_last_updated);
-
- const update_channel_row_format = document.createElement('div');
- update_channel_row_format.className = "update-channel-row-format";
- update_channel_div.appendChild(update_channel_row_format);
- const update_channel_format_column_left = document.createElement('div');
- update_channel_format_column_left.className = "update-channel-column-left";
- update_channel_format_column_left.innerText = "Format:";
- update_channel_row_format.appendChild(update_channel_format_column_left);
- const update_channel_format_column_right = document.createElement('div');
- update_channel_format_column_right.className = "update-channel-column-right";
- update_channel_row_format.appendChild(update_channel_format_column_right);
- const update_channel_format = document.createElement('select');
- update_channel_format.className = "update-channel-format";
- update_channel_format.setAttribute("data-name", update_channel.name);
- update_channel_format.disabled = locked;
- update_channel_format_column_right.appendChild(update_channel_format);
- const update_channel_format_option_ruleset = document.createElement('option');
- update_channel_format_option_ruleset.value = "ruleset";
- update_channel_format_option_ruleset.innerText = "ruleset";
- update_channel_format_option_ruleset.defaultSelected = true;
- update_channel_format_option_ruleset.selected = (update_channel.format == "ruleset");
- update_channel_format.appendChild(update_channel_format_option_ruleset);
- const update_channel_format_option_bloom = document.createElement('option');
- update_channel_format_option_bloom.value = "bloom";
- update_channel_format_option_bloom.innerText = "bloom";
- update_channel_format_option_bloom.selected = (update_channel.format == "bloom");
- update_channel_format.appendChild(update_channel_format_option_bloom);
-
- const update_channel_row_jwk = document.createElement('div');
- update_channel_row_jwk.className = "update-channel-row-jwk";
- update_channel_div.appendChild(update_channel_row_jwk);
- const update_channel_jwk_column_left = document.createElement('div');
- update_channel_jwk_column_left.className = "update-channel-column-left";
- update_channel_jwk_column_left.innerText = "JWK:";
- update_channel_row_jwk.appendChild(update_channel_jwk_column_left);
- const update_channel_jwk_column_right = document.createElement('div');
- update_channel_jwk_column_right.className = "update-channel-column-right";
- update_channel_row_jwk.appendChild(update_channel_jwk_column_right);
- const update_channel_jwk = document.createElement('textarea');
- update_channel_jwk.className = "update-channel-jwk";
- update_channel_jwk.setAttribute("data-name", update_channel.name);
- update_channel_jwk.disabled = locked;
- update_channel_jwk.innerText = JSON.stringify(update_channel.jwk);
- update_channel_jwk_column_right.appendChild(update_channel_jwk);
-
- const update_channel_row_path_prefix = document.createElement('div');
- update_channel_row_path_prefix.className = "update-channel-row-path-prefix";
- update_channel_div.appendChild(update_channel_row_path_prefix);
- const update_channel_path_prefix_column_left = document.createElement('div');
- update_channel_path_prefix_column_left.className = "update-channel-column-left";
- update_channel_path_prefix_column_left.innerText = "Path Prefix:";
- update_channel_row_path_prefix.appendChild(update_channel_path_prefix_column_left);
- const update_channel_path_prefix_column_right = document.createElement('div');
- update_channel_path_prefix_column_right.className = "update-channel-column-right";
- update_channel_row_path_prefix.appendChild(update_channel_path_prefix_column_right);
- const update_channel_path_prefix = document.createElement('input');
- update_channel_path_prefix.setAttribute("type", "text");
- update_channel_path_prefix.className = "update-channel-path-prefix";
- update_channel_path_prefix.setAttribute("data-name", update_channel.name);
- update_channel_path_prefix.disabled = locked;
- update_channel_path_prefix.value = update_channel.update_path_prefix;
- update_channel_path_prefix_column_right.appendChild(update_channel_path_prefix);
-
- let clearer = document.createElement('div');
- clearer.className = "clearer";
- update_channel_div.appendChild(clearer);
-
- const update_channel_row_scope = document.createElement('div');
- if(update_channel.format == "bloom") {
- update_channel_row_scope.style.display = "none";
- }
- update_channel_row_scope.className = "update-channel-row-scope";
- update_channel_div.appendChild(update_channel_row_scope);
- const update_channel_scope_column_left = document.createElement('div');
- update_channel_scope_column_left.className = "update-channel-column-left";
- update_channel_scope_column_left.innerText = "Scope:";
- update_channel_row_scope.appendChild(update_channel_scope_column_left);
- const update_channel_scope_column_right = document.createElement('div');
- update_channel_scope_column_right.className = "update-channel-column-right";
- update_channel_row_scope.appendChild(update_channel_scope_column_right);
- const update_channel_scope = document.createElement('input');
- update_channel_scope.setAttribute("type", "text");
- update_channel_scope.className = "update-channel-scope";
- update_channel_scope.setAttribute("data-name", update_channel.name);
- update_channel_scope.disabled = locked;
- update_channel_scope.value = update_channel.scope;
- update_channel_scope_column_right.appendChild(update_channel_scope);
-
- const update_channel_row_controls = document.createElement('div');
- update_channel_row_controls.className = "update-channel-row-controls";
- update_channel_div.appendChild(update_channel_row_controls);
- const update_channel_controls_column_left = document.createElement('div');
- update_channel_controls_column_left.className = "update-channel-column-left";
- update_channel_controls_column_left.innerText = " ";
- update_channel_row_controls.appendChild(update_channel_controls_column_left);
- const update_channel_controls_column_right = document.createElement('div');
- update_channel_controls_column_right.className = "update-channel-column-right";
- update_channel_row_controls.appendChild(update_channel_controls_column_right);
- const update_channel_update = document.createElement('button');
- update_channel_update.className = "update-channel-update";
- update_channel_update.setAttribute("data-name", update_channel.name);
- update_channel_update.disabled = locked;
- update_channel_update.innerText = chrome.i18n.getMessage("options_update");
- update_channel_controls_column_right.appendChild(update_channel_update);
- const update_channel_delete = document.createElement('button');
- update_channel_delete.className = "update-channel-update";
- update_channel_delete.setAttribute("data-name", update_channel.name);
- update_channel_delete.disabled = locked;
- update_channel_delete.innerText = chrome.i18n.getMessage("options_delete");
- update_channel_controls_column_right.appendChild(update_channel_delete);
-
- clearer = document.createElement('div');
- clearer.className = "clearer";
- update_channel_div.appendChild(clearer);
-
- update_channel_format.addEventListener("change", () => {
- if(update_channel_format.value == "bloom") {
- update_channel_row_scope.style.display = "none";
- } else {
- update_channel_row_scope.style.display = "block";
- }
- });
- update_channel_delete.addEventListener("click", () => {
- sendMessage("delete_update_channel", update_channel.name, () => {
- render_update_channels();
- });
- });
-
- update_channel_update.addEventListener("click", () => {
- sendMessage("update_update_channel", {
- name: update_channel.name,
- format: update_channel_format.value,
- jwk: JSON.parse(update_channel_jwk.value),
- update_path_prefix: update_channel_path_prefix.value,
- scope: update_channel_scope.value
- }, () => {
- render_update_channels();
- });
- });
-
- return update_channel_div;
- }
-
- function render_update_channels() {
- const update_channels_list = document.getElementById("update-channels-list");
- while(update_channels_list.firstChild) {
- update_channels_list.removeChild(update_channels_list.firstChild);
- }
-
- sendMessage("get_pinned_update_channels", null, item => {
- for(const update_channel of item.update_channels) {
- update_channels_list.appendChild(
- create_update_channel_element(
- update_channel,
- item.last_updated[update_channel.name],
- true,
- )
- );
-
- }
- });
-
- sendMessage("get_stored_update_channels", null, item => {
- for(const update_channel of item.update_channels) {
- update_channels_list.appendChild(
- create_update_channel_element(
- update_channel,
- item.last_updated[update_channel.name],
- update_channel.locked === true,
- )
- );
- }
- });
- }
- render_update_channels();
-
- const add_update_channel = document.getElementById("add-update-channel");
- const update_channel_name_div = document.getElementById("update-channel-name");
- const update_channels_error_text = document.getElementById("update-channels-error-text");
- const update_channels_error = document.getElementById("update-channels-error");
- update_channel_name_div.setAttribute("placeholder", chrome.i18n.getMessage("options_enterUpdateChannelName"));
-
- function displayError(text) {
- update_channels_error_text.innerText = text;
- update_channels_error.style.display = "block";
- window.scrollTo(0,0);
- }
-
- // Get a list of user Rules
- sendMessage("get_user_rules", null, userRules => {
- let user_rules_parent = e("user-rules-wrapper");
-
- if ( 0 === userRules.length) {
- hide(user_rules_parent);
- return ;
- }
-
- // img element "remove button"
- let templateRemove = document.createElement("img");
- templateRemove.src = chrome.runtime.getURL("images/remove.png");
- templateRemove.className = "remove";
-
- for (const userRule of userRules) {
- let user_rule_host = document.createElement("div");
- let user_rule_name = document.createElement("p");
- let remove = templateRemove.cloneNode(true);
-
- user_rule_host.className = "user-rules-list-item";
- user_rule_name.className = "user-rules-list-item-single";
- user_rule_name.innerText = userRule.name;
- user_rule_host.appendChild(user_rule_name);
- user_rules_parent.appendChild(user_rule_host);
- user_rule_host.appendChild(remove);
-
- remove.addEventListener("click", () => {
- // assume the removal is successful and hide ui element
- hide( user_rule_host );
- // remove the user rule
- sendMessage("remove_rule", { ruleset: userRule, src: 'options' });
- });
- }
- });
-
- // HTTPS Everywhere Sites Disabled section in General Settings module
- getOption_("disabledList", [], function(item) {
- let rule_host_parent = e("disabled-rules-wrapper");
-
- // img element "remove button"
- let templateRemove = document.createElement("img");
- templateRemove.src = chrome.runtime.getURL("images/remove.png");
- templateRemove.className = "remove";
-
- if( item ) {
- for (const key of item.disabledList) {
- let rule_host = document.createElement("div");
- let remove = templateRemove.cloneNode(true);
- let rule_host_site_name = document.createElement("p");
-
- rule_host.className = "disabled-rule-list-item";
- rule_host_site_name.className = "disabled-rule-list-item_single";
- rule_host_site_name.innerText = key;
- rule_host.appendChild( rule_host_site_name);
- rule_host_parent.appendChild(rule_host);
- rule_host.appendChild(remove);
-
- remove.addEventListener("click", () => {
- hide( rule_host );
- sendMessage("enable_on_site", key);
- });
- }
- }
- });
-
- const add_disabled_site = document.getElementById("add-disabled-site");
- const disabled_site_input = document.getElementById("disabled-site");
- const add_disabled_site_invalid_host = document.getElementById('add-disabled-site-invalid-host');
- disabled_site_input.setAttribute("placeholder", chrome.i18n.getMessage("options_enterDisabledSite"));
- function isValidHost(host) {
- try {
- new URL(`http://${host}/`);
- return true;
- } catch {
- return false;
- }
- }
- add_disabled_site.addEventListener("click", function() {
- const host = disabled_site_input.value;
-
- if (isValidHost(host)) {
- hide(add_disabled_site_invalid_host);
- sendMessage("disable_on_site", disabled_site_input.value, okay => {
- if (okay) {
- chrome.tabs.reload();
- }
- });
- } else {
- show(add_disabled_site_invalid_host);
- }
- });
-
- add_update_channel.addEventListener("click", () => {
- const update_channel_name = update_channel_name_div.value;
- if(update_channel_name.trim() == "") {
- displayError("Error: The update channel name is blank. Please enter another name.");
- } else {
- update_channel_name_div.value = "";
- sendMessage("create_update_channel", update_channel_name, result => {
- if(result == true) {
- render_update_channels();
- } else {
- displayError("Error: There already exists an update channel with this name.");
- }
- });
- }
- });
-
- const update_channels_error_hide = document.getElementById("update-channels-error-hide");
- update_channels_error_hide.addEventListener("click", () => {
- update_channels_error.style.display = "none";
- });
-
- const update_channels_last_checked = document.getElementById("update-channels-last-checked");
- sendMessage("get_last_checked", null, last_checked => {
- let last_checked_string;
- if(last_checked) {
- const last_checked_date = new Date(last_checked * 1000);
- const options = {
- year: '2-digit',
- month: '2-digit',
- day: '2-digit',
- hour: '2-digit',
- minute: '2-digit',
- timeZoneName: 'short'
- };
- const customDateTime = new Intl.DateTimeFormat('default', options).format;
- last_checked_string = customDateTime(last_checked_date);
- } else {
- last_checked_string = chrome.i18n.getMessage("options_updatesLastCheckedNever");
- }
- update_channels_last_checked.innerText = chrome.i18n.getMessage("options_updatesLastChecked") + last_checked_string;
- });
-});