diff options
Diffstat (limited to 'mobile/android/android-components/components/browser/errorpages/src/main')
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> |