From 5da28b0f8771834ae208d61431d632875e9f8e7d Mon Sep 17 00:00:00 2001 From: Ruben Rodriguez Date: Thu, 8 Sep 2022 20:18:54 -0400 Subject: Updated extensions: * Upgraded Privacy Redirect to 1.1.49 and configured to use the 10 most reliable invidious instances * Removed ViewTube * Added torproxy@icecat.gnu based on 'Proxy toggle' extension * Added jShelter 0.11.1 * Upgraded LibreJS to 7.21.0 * Upgraded HTTPS Everywhere to 2021.7.13 * Upgraded SubmitMe to 1.9 --- .../https-everywhere@eff.org/pages/cancel/ux.js | 62 ++++++++++++++++++++-- 1 file changed, 59 insertions(+), 3 deletions(-) (limited to 'data/extensions/https-everywhere@eff.org/pages/cancel/ux.js') diff --git a/data/extensions/https-everywhere@eff.org/pages/cancel/ux.js b/data/extensions/https-everywhere@eff.org/pages/cancel/ux.js index 7e6199a..259d602 100644 --- a/data/extensions/https-everywhere@eff.org/pages/cancel/ux.js +++ b/data/extensions/https-everywhere@eff.org/pages/cancel/ux.js @@ -6,7 +6,7 @@ let observer; document.addEventListener("DOMContentLoaded", () => { const explainer = document.querySelector("[data-i18n=cancel_he_blocking_explainer]"); observer = new MutationObserver(() => { - replaceLink(explainer) + replaceLink(explainer); }); if (explainer.innerText.length > 0) { replaceLink(explainer); @@ -45,13 +45,14 @@ function displayURL() { const originURLLink = document.getElementById('url-value'); const openURLButton = document.getElementById('open-url-button'); const openHttpOnce = document.getElementById('http-once-button'); + const copyButton = document.getElementById('copy-url'); const url = new URL(originURL); originURLLink.innerText = originURL; originURLLink.href = originURL; openURLButton.addEventListener("click", function() { - if (confirm(chrome.i18n.getMessage("chrome_disable_on_this_site") + '?')) { + if (confirm(chrome.i18n.getMessage("cancel_open_page") + '?')) { sendMessage("disable_on_site", url.host, () => { window.location = originURL; }); @@ -60,8 +61,63 @@ function displayURL() { return false; }); + // Copy URL Feature on EASE + + function copyLinkAlternate() { + let isSuccessful = false; + + const sel = window.getSelection(); + + try { + sel.removeAllRanges(); + + const range = document.createRange(); + range.selectNode(originURLLink); + + sel.addRange(range); + + isSuccessful = document.execCommand("copy"); + + sel.removeAllRanges(); + + return isSuccessful; + } catch (err) { + console.error(err); + + sel.removeAllRanges(); + + return false; + } + } + + async function copyLink() { + try { + await navigator.clipboard.writeText(originURL); + return true; + } catch (err) { + return copyLinkAlternate(); + } + } + + let restoreTimeout = null; + + copyButton.addEventListener("click", async () => { + if (await copyLink()) { + copyButton.innerText = chrome.i18n.getMessage("cancel_copied_url"); + + if (restoreTimeout !== null) { + clearTimeout(restoreTimeout); + } + + restoreTimeout = setTimeout(() => { + copyButton.innerText = chrome.i18n.getMessage("cancel_copy_url"); + restoreTimeout = null; + }, 1500); + } + }); + openHttpOnce.addEventListener("click", function() { - if (confirm(chrome.i18n.getMessage("chrome_disable_on_this_site") + '?')) { + if (confirm(chrome.i18n.getMessage("cancel_http_once") + '?')) { sendMessage("disable_on_site_once", url.host, () => { window.location = originURL; }); -- cgit v1.2.3