summaryrefslogtreecommitdiff
path: root/data/extensions/https-everywhere@eff.org/pages/cancel
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/https-everywhere@eff.org/pages/cancel')
-rw-r--r--data/extensions/https-everywhere@eff.org/pages/cancel/index.html26
-rw-r--r--data/extensions/https-everywhere@eff.org/pages/cancel/style.css87
-rw-r--r--data/extensions/https-everywhere@eff.org/pages/cancel/ux.js33
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;
+ });
}