diff options
Diffstat (limited to 'data/extensions/https-everywhere@eff.org/pages/cancel')
3 files changed, 102 insertions, 44 deletions
diff --git a/data/extensions/https-everywhere@eff.org/pages/cancel/index.html b/data/extensions/https-everywhere@eff.org/pages/cancel/index.html index 5dd3551..3522301 100644 --- a/data/extensions/https-everywhere@eff.org/pages/cancel/index.html +++ b/data/extensions/https-everywhere@eff.org/pages/cancel/index.html @@ -1,24 +1,28 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> +<!doctype html> +<html> <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <meta http-equiv="Content-Style-Type" content="text/css" /> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> <title>⚠ HTTPS Everywhere ⚠</title> - <style type="text/css">code{white-space: pre;}</style> - <link rel="stylesheet" href="style.css" type="text/css" /> + <link rel="stylesheet" href="style.css"> + <link rel="icon" href="/images/icons/icon-blocking-38.png"> </head> <body> <div class="content"> - <h1 id="https-everywhere"><img src="../../images/banner-red.png" alt="HTTPS Everywhere" /></h1> + <h1 id="https-everywhere"> + <img src="/images/banner-red.svg" alt="HTTPS Everywhere"> + </h1> + <p data-i18n="cancel_he_blocking_explainer"></p> <p id="url-paragraph"> - <span id="url-label">URL: </span><span id="url-value">PLACEHOLDER</span> + <span id="url-label">URL: </span><span id="url-value"></span> </p> - <form method="get" action="#" id="url-actions-form"> - <button type="button" name="open" formaction="#" id="open-url-button" data-i18n="cancel_open_page">Open insecure page</button> - </form> + <div class="actions"> + <button id="open-url-button" data-i18n="cancel_open_page"></button> + <button id="http-once-button" data-i18n="cancel_http_once"></button> + </div> <script src="../translation.js"></script> <script src="../util.js"></script> diff --git a/data/extensions/https-everywhere@eff.org/pages/cancel/style.css b/data/extensions/https-everywhere@eff.org/pages/cancel/style.css index 1858867..9b91ca3 100644 --- a/data/extensions/https-everywhere@eff.org/pages/cancel/style.css +++ b/data/extensions/https-everywhere@eff.org/pages/cancel/style.css @@ -1,48 +1,77 @@ -body{ +body { margin-top: 6em; - position: relative; - text-align: center; + font-size: 12pt; + font-family: sans-serif; + line-height: 150%; } -.content{ - width: 600px; +.content { margin: auto; - text-align: left; + max-width: 600px; } -h1{ - text-align: center; +h1 { + display: block; } -form, button, p{ - font-size: 12pt; - font-family: sans-serif; - line-height: 150%; +h1 img { + width: 100%; + height: auto; } -form{ - overflow: auto; - margin-bottom: 1em; +#url-paragraph { + display: block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } -form button{ - padding: .5em 1em; - background-color: #aaa; - color: #fff; - border: none; +button { + background-color: #ec1e1e; + border: 1px solid #ec1e1e; border-radius: 4px; + color: #fff; cursor: pointer; + padding: 0.5em 1em; + display: block; + float: none; + font-size: 12pt; + margin: 8px 0; + line-height: 150%; } -#url-value{ - display: block; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; +button:hover { + background-color: #fff; + color: #ec1e1e; } -#open-url-button{ - display: inline-block; - float: left; - background-color: #ec1e1e; +button:last-child { + margin: 0; +} + +@media screen and (max-width: 550px) { + button { + width: 100%; + margin: 8px 0; + } +} + +@media (prefers-color-scheme: dark) { + body { + background-color: #202023; + color: #f9f9fa; + } + + a { + color: #45a1ff; + } + + button { + color: #202023; + } + + button:hover { + background-color: #202023; + border-color: #ec1e1e; + } } 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 a1773ca..7e6199a 100644 --- a/data/extensions/https-everywhere@eff.org/pages/cancel/ux.js +++ b/data/extensions/https-everywhere@eff.org/pages/cancel/ux.js @@ -20,23 +20,38 @@ function replaceLink(explainer) { observer.disconnect(); const linkText = chrome.i18n.getMessage("cancel_he_blocking_network"); const link = document.createElement("a"); + link.classList.add("wikilink"); link.href = "https://en.wikipedia.org/wiki/Downgrade_attack"; link.innerText = linkText; explainer.innerHTML = explainer.innerHTML.replace(linkText, link.outerHTML); + + /* + In response to translation of i18n string "cancel_he_blocking_network". + Within context of the paragraph and as a standalone string can be interpreted differently + langauge to language. + + So if link fails to swap in replace, this conditional is triggered + */ + if (document.getElementsByClassName("wikilink").length === 0) { + link.innerText = linkText; + explainer.after(link); + } + } function displayURL() { - const cancelURL = new URL(window.location.href); - const originURL = decodeURI(cancelURL.searchParams.get('originURL')); + const searchParams = new URLSearchParams(window.location.search); + const originURL = searchParams.get('originURL'); const originURLLink = document.getElementById('url-value'); const openURLButton = document.getElementById('open-url-button'); + const openHttpOnce = document.getElementById('http-once-button'); + const url = new URL(originURL); - originURLLink.innerHTML = originURL; + originURLLink.innerText = originURL; originURLLink.href = originURL; openURLButton.addEventListener("click", function() { if (confirm(chrome.i18n.getMessage("chrome_disable_on_this_site") + '?')) { - const url = new URL(originURL); sendMessage("disable_on_site", url.host, () => { window.location = originURL; }); @@ -44,4 +59,14 @@ function displayURL() { return false; }); + + openHttpOnce.addEventListener("click", function() { + if (confirm(chrome.i18n.getMessage("chrome_disable_on_this_site") + '?')) { + sendMessage("disable_on_site_once", url.host, () => { + window.location = originURL; + }); + } + + return false; + }); } |