summaryrefslogtreecommitdiffstats
path: root/mobile/android/android-components/components/browser/errorpages/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/android-components/components/browser/errorpages/src/main')
-rw-r--r--mobile/android/android-components/components/browser/errorpages/src/main/assets/errorPageScripts.js158
-rw-r--r--mobile/android/android-components/components/browser/errorpages/src/main/assets/error_page_js.html106
-rw-r--r--mobile/android/android-components/components/browser/errorpages/src/main/res/values-azb/strings.xml15
-rw-r--r--mobile/android/android-components/components/browser/errorpages/src/main/res/values-su/strings.xml8
-rw-r--r--mobile/android/android-components/components/browser/errorpages/src/main/res/values-sv-rSE/strings.xml2
5 files changed, 164 insertions, 125 deletions
diff --git a/mobile/android/android-components/components/browser/errorpages/src/main/assets/errorPageScripts.js b/mobile/android/android-components/components/browser/errorpages/src/main/assets/errorPageScripts.js
index 7836e30ac0..09804908f7 100644
--- a/mobile/android/android-components/components/browser/errorpages/src/main/assets/errorPageScripts.js
+++ b/mobile/android/android-components/components/browser/errorpages/src/main/assets/errorPageScripts.js
@@ -6,50 +6,54 @@
* Handles the parsing of the ErrorPages URI and then passes them to injectValues
*/
function parseQuery(queryString) {
- if (queryString[0] === '?') {
- queryString = queryString.substr(1);
- }
- const query = Object.fromEntries(new URLSearchParams(queryString).entries());
- injectValues(query)
- updateShowSSL(query)
- updateShowHSTS(query)
-};
+ if (queryString[0] === "?") {
+ queryString = queryString.substr(1);
+ }
+ const query = Object.fromEntries(new URLSearchParams(queryString).entries());
+ injectValues(query);
+ updateShowSSL(query);
+ updateShowHSTS(query);
+}
/**
* Updates the HTML elements based on the queryMap
*/
function injectValues(queryMap) {
- const tryAgainButton = document.getElementById('errorTryAgain')
- const continueHttpButton = document.getElementById("continueHttp")
-
+ const tryAgainButton = document.getElementById("errorTryAgain");
+ const continueHttpButton = document.getElementById("continueHttp");
- // Go through each element and inject the values
- document.title = queryMap.title
- tryAgainButton.innerHTML = queryMap.button
- continueHttpButton.innerHTML = queryMap.continueHttpButton
- document.getElementById('errorTitleText').innerHTML = queryMap.title
- document.getElementById('errorShortDesc').innerHTML = queryMap.description
- document.getElementById('advancedButton').innerHTML = queryMap.badCertAdvanced
- document.getElementById('badCertTechnicalInfo').innerHTML = queryMap.badCertTechInfo
- document.getElementById('advancedPanelBackButton').innerHTML = queryMap.badCertGoBack
- document.getElementById('advancedPanelAcceptButton').innerHTML = queryMap.badCertAcceptTemporary
- document.getElementById('advancedPanelAcceptButton').s = queryMap.badCertAcceptTemporary
+ // Go through each element and inject the values
+ document.title = queryMap.title;
+ tryAgainButton.innerHTML = queryMap.button;
+ continueHttpButton.innerHTML = queryMap.continueHttpButton;
+ document.getElementById("errorTitleText").innerHTML = queryMap.title;
+ document.getElementById("errorShortDesc").innerHTML = queryMap.description;
+ document.getElementById("advancedButton").innerHTML =
+ queryMap.badCertAdvanced;
+ document.getElementById("badCertTechnicalInfo").innerHTML =
+ queryMap.badCertTechInfo;
+ document.getElementById("advancedPanelBackButton").innerHTML =
+ queryMap.badCertGoBack;
+ document.getElementById("advancedPanelAcceptButton").innerHTML =
+ queryMap.badCertAcceptTemporary;
+ document.getElementById("advancedPanelAcceptButton").s =
+ queryMap.badCertAcceptTemporary;
- // If no image is passed in, remove the element so as not to leave an empty iframe
- const errorImage = document.getElementById('errorImage');
- if (!queryMap.image) {
- errorImage.remove();
- } else {
- errorImage.src = "resource://android/assets/" + queryMap.image;
- }
+ // If no image is passed in, remove the element so as not to leave an empty iframe
+ const errorImage = document.getElementById("errorImage");
+ if (!queryMap.image) {
+ errorImage.remove();
+ } else {
+ errorImage.src = "resource://android/assets/" + queryMap.image;
+ }
- if (queryMap.showContinueHttp === "true") {
- // On the "HTTPS-Only" error page "Try again" doesn't make sense since reloading the page
- // will just show an error page again.
- tryAgainButton.style.display = 'none';
- } else {
- continueHttpButton.style.display = 'none';
- }
+ if (queryMap.showContinueHttp === "true") {
+ // On the "HTTPS-Only" error page "Try again" doesn't make sense since reloading the page
+ // will just show an error page again.
+ tryAgainButton.style.display = "none";
+ } else {
+ continueHttpButton.style.display = "none";
+ }
}
var advancedVisible = false;
@@ -58,65 +62,75 @@ var advancedVisible = false;
* Used to show or hide the "advanced" button based on the validity of the SSL certificate
*/
function updateShowSSL(queryMap) {
- /** @type {'true' | 'false'} */
- const showSSL = queryMap.showSSL;
- if (typeof document.addCertException === "undefined") {
- document.getElementById('advancedButton').style.display='none';
+ /** @type {'true' | 'false'} */
+ const showSSL = queryMap.showSSL;
+ if (typeof document.addCertException === "undefined") {
+ document.getElementById("advancedButton").style.display = "none";
+ } else {
+ if (showSSL === "true") {
+ document.getElementById("advancedButton").style.display = "block";
} else {
- if (showSSL === 'true') {
- document.getElementById('advancedButton').style.display='block';
- } else {
- document.getElementById('advancedButton').style.display='none';
- }
+ document.getElementById("advancedButton").style.display = "none";
}
+ }
}
/**
* Used to show or hide the "accept" button based for the HSTS error page
*/
function updateShowHSTS(queryMap) {
- const showHSTS = queryMap.showHSTS;
- if (showHSTS === 'true') {
- document.getElementById('advancedButton').style.display='block';
- document.getElementById('advancedPanelAcceptButton').style.display='none';
- }
+ const showHSTS = queryMap.showHSTS;
+ if (showHSTS === "true") {
+ document.getElementById("advancedButton").style.display = "block";
+ document.getElementById("advancedPanelAcceptButton").style.display = "none";
+ }
}
/**
* Used to display information about the SSL certificate in `error_pages.html`
*/
function toggleAdvanced() {
- if (advancedVisible) {
- document.getElementById('badCertAdvancedPanel').style.display='none';
- } else {
- document.getElementById('badCertAdvancedPanel').style.display='block';
- }
- advancedVisible = !advancedVisible;
+ if (advancedVisible) {
+ document.getElementById("badCertAdvancedPanel").style.display = "none";
+ } else {
+ document.getElementById("badCertAdvancedPanel").style.display = "block";
+ }
+ advancedVisible = !advancedVisible;
}
/**
* Used to bypass an SSL pages in `error_pages.html`
*/
async function acceptAndContinue(temporary) {
- try {
- await document.addCertException(temporary);
- location.reload();
- } catch (error) {
- console.error("Unexpected error: " + error)
- }
+ try {
+ await document.addCertException(temporary);
+ location.reload();
+ } catch (error) {
+ console.error("Unexpected error: " + error);
+ }
}
-document.addEventListener('DOMContentLoaded', function () {
- if (window.history.length == 1) {
- document.getElementById('advancedPanelBackButton').style.display = 'none';
- } else {
- document.getElementById('advancedPanelBackButton').addEventListener('click', () => window.history.back());
- }
+document.addEventListener("DOMContentLoaded", function () {
+ if (window.history.length == 1) {
+ document.getElementById("advancedPanelBackButton").style.display = "none";
+ } else {
+ document
+ .getElementById("advancedPanelBackButton")
+ .addEventListener("click", () => window.history.back());
+ }
- document.getElementById('errorTryAgain').addEventListener('click', () => window.location.reload());
- document.getElementById('advancedButton').addEventListener('click', toggleAdvanced);
- document.getElementById('advancedPanelAcceptButton').addEventListener('click', () => acceptAndContinue(true));
- document.getElementById('continueHttp').addEventListener('click', () => document.reloadWithHttpsOnlyException());
+ document
+ .getElementById("errorTryAgain")
+ .addEventListener("click", () => window.location.reload());
+ document
+ .getElementById("advancedButton")
+ .addEventListener("click", toggleAdvanced);
+ document
+ .getElementById("advancedPanelAcceptButton")
+ .addEventListener("click", () => acceptAndContinue(true));
+ document
+ .getElementById("continueHttp")
+ .addEventListener("click", () => document.reloadWithHttpsOnlyException());
});
parseQuery(document.documentURI);
diff --git a/mobile/android/android-components/components/browser/errorpages/src/main/assets/error_page_js.html b/mobile/android/android-components/components/browser/errorpages/src/main/assets/error_page_js.html
index 397e237303..a6ae19df7c 100644
--- a/mobile/android/android-components/components/browser/errorpages/src/main/assets/error_page_js.html
+++ b/mobile/android/android-components/components/browser/errorpages/src/main/assets/error_page_js.html
@@ -5,54 +5,64 @@
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width; user-scalable=false;" />
- <meta http-equiv="Content-Security-Policy" content="default-src resource:; object-src 'none'" />
- <link rel="stylesheet" type="text/css" href="error_style.css">
- </head>
-
- <body id="errorPage" dir="auto">
- <!-- PAGE CONTAINER (for styling purposes only) -->
- <div id="errorPageContainer">
-
- <!-- Error Image -->
- <iframe id="errorImage" src="" frameborder="0"></iframe>
-
- <!-- Error Title -->
- <div id="errorTitle">
- <h1 id="errorTitleText"></h1>
- </div>
-
- <!-- LONG CONTENT (the section most likely to require scrolling) -->
- <div id="errorLongContent">
- <div id="errorShortDesc"></div>
- </div>
-
- <!-- Retry Button -->
- <button id="errorTryAgain"></button>
-
- <!-- Advanced Button -->
- <button id="advancedButton" class="buttonSecondary"></button>
-
- <!-- "Continue to HTTP site" Button (For HTTPS-Only error page only) -->
- <button id="continueHttp" class="buttonSecondary"></button>
-
- <div id="advancedPanelContainer">
- <div id="badCertAdvancedPanel" class="advanced-panel">
- <p id="badCertTechnicalInfo"></p>
- <div id="advancedPanelBackButtonContainer" class="advancedPanelButtonContainer">
- <button id="advancedPanelBackButton"></button>
- </div>
- <div id="advancedPanelAcceptButtonContainer" class="advancedPanelButtonContainer">
- <button id="advancedPanelAcceptButton" class="buttonSecondary"></button>
- </div>
- </div>
- </div>
- </div>
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width; user-scalable=false;" />
+ <meta
+ http-equiv="Content-Security-Policy"
+ content="default-src resource:; object-src 'none'"
+ />
+ <link rel="stylesheet" type="text/css" href="error_style.css" />
+ </head>
+
+ <body id="errorPage" dir="auto">
+ <!-- PAGE CONTAINER (for styling purposes only) -->
+ <div id="errorPageContainer">
+ <!-- Error Image -->
+ <iframe id="errorImage" src="" frameborder="0"></iframe>
+
+ <!-- Error Title -->
+ <div id="errorTitle">
+ <h1 id="errorTitleText"></h1>
+ </div>
+
+ <!-- LONG CONTENT (the section most likely to require scrolling) -->
+ <div id="errorLongContent">
+ <div id="errorShortDesc"></div>
+ </div>
- </body>
+ <!-- Retry Button -->
+ <button id="errorTryAgain"></button>
+
+ <!-- Advanced Button -->
+ <button id="advancedButton" class="buttonSecondary"></button>
+
+ <!-- "Continue to HTTP site" Button (For HTTPS-Only error page only) -->
+ <button id="continueHttp" class="buttonSecondary"></button>
+
+ <div id="advancedPanelContainer">
+ <div id="badCertAdvancedPanel" class="advanced-panel">
+ <p id="badCertTechnicalInfo"></p>
+ <div
+ id="advancedPanelBackButtonContainer"
+ class="advancedPanelButtonContainer"
+ >
+ <button id="advancedPanelBackButton"></button>
+ </div>
+ <div
+ id="advancedPanelAcceptButtonContainer"
+ class="advancedPanelButtonContainer"
+ >
+ <button
+ id="advancedPanelAcceptButton"
+ class="buttonSecondary"
+ ></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </body>
- <!-- Each consumer that uses a unique HTML error page must implement a parsing script-->
- <script src="./errorPageScripts.js"></script>
+ <!-- Each consumer that uses a unique HTML error page must implement a parsing script-->
+ <script src="./errorPageScripts.js"></script>
</html>
diff --git a/mobile/android/android-components/components/browser/errorpages/src/main/res/values-azb/strings.xml b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-azb/strings.xml
index 158dbeb60f..b9ca4c9688 100644
--- a/mobile/android/android-components/components/browser/errorpages/src/main/res/values-azb/strings.xml
+++ b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-azb/strings.xml
@@ -83,6 +83,21 @@
<string name="mozac_browser_errorpages_unknown_protocol_title">تانینمایان پروتکل</string>
<!-- The document title and heading of an error page. -->
+ <string name="mozac_browser_errorpages_file_not_found_title">فایل تاپیلمادی</string>
+
+ <!-- The document title and heading of an error page. -->
+ <string name="mozac_browser_errorpages_file_access_denied_title">فایلؽن ایشلدیلمه‌سینه ایجازه وئریلمه‌دی</string>
+
+ <!-- The document title and heading of an error page. -->
+ <string name="mozac_browser_errorpages_proxy_connection_refused_title">پروکسی سرور باغلانتی‌نی رد ائتدی</string>
+
+ <!-- The document title and heading of an error page. -->
+ <string name="mozac_browser_errorpages_unknown_proxy_host_title">پروکسی سرور تاپیلمادی</string>
+
+ <!-- The document title and heading of an error page. -->
+ <string name="mozac_browser_errorpages_safe_browsing_malware_uri_title">ضرر وئریجی سایت سورونو</string>
+
+ <!-- The document title and heading of an error page. -->
<string name="mozac_browser_errorpages_safe_browsing_unwanted_uri_title">ایستنمیه‌ن سایت سورونو</string>
<!-- The document title and heading of an error page. -->
diff --git a/mobile/android/android-components/components/browser/errorpages/src/main/res/values-su/strings.xml b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-su/strings.xml
index 2620051760..cc7efa64eb 100644
--- a/mobile/android/android-components/components/browser/errorpages/src/main/res/values-su/strings.xml
+++ b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-su/strings.xml
@@ -115,7 +115,7 @@
<string name="mozac_browser_errorpages_offline_title">Mode Oplén</string>
<!-- The error message shown when a website cannot be loaded because the browser is in offline mode. -->
- <string name="mozac_browser_errorpages_offline_message"><![CDATA[<p>Panyungsi keur leumpang dina mode luring na jeung teu tiasa nyambung ka barang anu dipénta.</p>
+ <string name="mozac_browser_errorpages_offline_message"><![CDATA[<p>Panyungsi keur leumpang dina modeu luring na jeung teu tiasa nyambung ka barang anu dipénta.</p>
<ul>
<li>Ieu parangkat nyambung ka jaringan aktip heunteu?</li>
<li>Pencét "Cobi deui" pikeun ngalih ka modeu daring sareng ngamuat deui ieu kaca.</li>
@@ -125,7 +125,7 @@
<string name="mozac_browser_errorpages_port_blocked_title">Port diwates pikeun kaamanan</string>
<!-- The error message shown when the browser prevents loading a website on a restricted port. -->
- <string name="mozac_browser_errorpages_port_blocked_message"><![CDATA[<p>Alamat anu dipénta nyebutkeun port (contona <q>mozilla.org:80</q> pikeun port 80 di mozilla.org) galibna dipaké <em>lain</em> pikeun nyungsi Raramat. Panyungsi geus ngabolaykeun paménta pikeun kaamanan anjeun.</p>]]></string>
+ <string name="mozac_browser_errorpages_port_blocked_message"><![CDATA[<p>Alamat anu dipénta nyebutkeun port (contona <q>mozilla.org:80</q> pikeun port 80 di mozilla.org) umumna dipaké <em>lain</em> pikeun nyungsi Raramat. Panyungsi geus ngabolaykeun paménta pikeun kaamanan anjeun.</p>]]></string>
<!-- The document title and heading of the error page shown when the Internet connection is disrupted while loading a website. -->
<string name="mozac_browser_errorpages_net_reset_title">Sambunganana dirését</string>
@@ -206,7 +206,7 @@
</ul>]]></string>
<!-- The document title and heading of an error page. -->
- <string name="mozac_browser_errorpages_unknown_protocol_title">Protokol Teu Dipikawanoh</string>
+ <string name="mozac_browser_errorpages_unknown_protocol_title">Protokol Teu Dipiwanoh</string>
<string name="mozac_browser_errorpages_unknown_protocol_message"><![CDATA[<p>Alamatna méré protocol (e.g., <q>wxyz://</q>) anu teu dipikawanoh ku pamaluruh, ku kituna pamaluruhna teu bisa nyambung kalawan bener ka lokana.</p>
<ul>
@@ -273,7 +273,7 @@
<!-- The title of the error page for websites that do not support HTTPS when HTTPS-Only is turned on -->
<string name="mozac_browser_errorpages_httpsonly_title">Situs Aman Teu Sayaga</string>
<!-- The text of the error page for websites that do not support HTTPS when HTTPS-Only is turned on. %1$s will be replaced with the URL of the website. -->
- <string name="mozac_browser_errorpages_httpsonly_message"><![CDATA[Anjeun ngahurungkeun Mode Ukur-HTTPS pikeun kaamanan lanjutan, anapon pérsi HTTPS <em>%1$s</em> teu sayaga.]]></string>
+ <string name="mozac_browser_errorpages_httpsonly_message"><![CDATA[Anjeun ngahurungkeun Mode Ukur-HTTPS pikeun kaamanan terusan, anapon pérsi HTTPS <em>%1$s</em> teu sayaga.]]></string>
<!-- Button on error page for websites that do not support HTTPS when HTTPS-Only is turned on. Clicking the button allows the user to nevertheless load the website using HTTP. -->
<string name="mozac_browser_errorpages_httpsonly_button">Teruskeun ka Situs HTTP</string>
</resources>
diff --git a/mobile/android/android-components/components/browser/errorpages/src/main/res/values-sv-rSE/strings.xml b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-sv-rSE/strings.xml
index 9a0bf69388..4f22ac030e 100644
--- a/mobile/android/android-components/components/browser/errorpages/src/main/res/values-sv-rSE/strings.xml
+++ b/mobile/android/android-components/components/browser/errorpages/src/main/res/values-sv-rSE/strings.xml
@@ -241,7 +241,7 @@
<ul>
<li>Kan objektet ha bytt namn, tagits bort eller flyttat?</li>
<li>Finns det stavfel, stor bokstav eller annat typografiskt fel i adressen?</li>
- <li>Har du tillräckliga åtkomstbehörigheter till den begärda objektet?</li>
+ <li>Har du tillräckliga åtkomstbehörigheter till det begärda objektet?</li>
</ul>
]]></string>