Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • trisquel/package-helpers
  • aklis/package-helpers
  • leny2010/package-helpers
  • fr33domlover/package-helpers
  • Legimet/package-helpers
  • ralphtheninja/package-helpers
  • damo22/package-helpers
  • wherrfrye/package-helpers
  • habs/package-helpers
  • pehjota/package-helpers
  • kpengboy/package-helpers
  • alvaro/package-helpers
  • salman/package-helpers
  • pabloyoyoista/package-helpers
  • mixalis/package-helpers
  • jorgesumle/package-helpers
  • a_slacker_here/package-helpers
  • chaosmonk/package-helpers
  • Beformed/package-helpers
  • dknight/package-helpers
  • proninyaroslav/package-helpers
  • adfeno/package-helpers
  • snd/package-helpers
  • davidpgil/package-helpers
  • diopon/package-helpers
  • ruben/package-helpers
  • bandali/package-helpers
  • joshaspinall/package-helpers
  • GNUtoo/package-helpers
  • Ark74/package-helpers
  • dragestil/package-helpers
  • bill-auger/package-helpers
  • andi89gi/package-helpers
  • Fikar/package-helpers
  • davidl/package-helpers
  • jas/package-helpers
  • parodper/package-helpers
  • David_Hedlund/package-helpers
  • dinomug/package-helpers
  • bf/package-helpers
  • hartkemd/package-helpers
  • del111/package-helpers
  • jxself/package-helpers
  • JacobK/package-helpers
44 results
Show changes
Showing
with 2417 additions and 0 deletions
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# LOCALIZATION NOTE: Next two strings are located at the top of a new tab
# introducing the customizable privacy settings
onboarding.privacy-settings.title=Vie privée
onboarding.privacy-settings.description=Ces options vous permettent de régler des aspects important du comportement du navigateur. Vous pouvez alors définir l'équilbre entre praticité et respect de la vie privée selon vos besoins. Les changements de ces paramètres s'appliquent à tous les onglets et fenêtres déjà ouverts (mais il est possible que vous ayez besoin de les actualiser pour que les changements s'appliquent)
# LOCALIZATION NOTE: The following strings are the different privacy settings
# available. The title is placed next to a button that enables/disables the
# setting and the description is placed just below it
onboarding.disable-javascript.title=Disable JavaScript
onboarding.disable-javascript.description=Désactiver JavaScript améliore grandement le respect de la vie privée, la sécurité et <a href=\"https://www.gnu.org/philosophy/javascript-trap.fr.html\">la liberté</a>, mais cela risque de rendre beaucoup de sites web inutilisables.
onboarding.custom-fonts.title=Ne pas charger de polices personnalisées
onboarding.custom-fonts.description=Les polices personnalisées peuvent être utilisées pour vous <a href=\"https://fr.wikipedia.org/wiki/Empreinte_digitale_d%27appareil\">identifier</a>. Les désactiver améliore le respect de la vie privée mais peut détérorier le rendu de certains sites.
onboarding.tracking-protection.title=Protection contre le pistage
onboarding.tracking-protection.description=Le pistage est la collecte de vos données de navigation à tavers multiples sites web. Activer cette fonctionnalité améliore le respect de la vie privée, mais entraîne des connexions regulières à Internet pour récupérer des mises à jours pour les filtres.
onboarding.isolate-request-first-party.title=Isoler les requêtes vers les domaines de premier niveau
onboarding.isolate-request-first-party.description=Améliore <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">le respect de la vie privée</a>, mais peut interférer avec la page de login de certains sites web.
onboarding.auto-update-extensions.title=Mettre à jour les extensions automatiquement
onboarding.auto-update-extensions.description=Activer les mises à jour automatiques améliore votre sécurité, mais cela va ouvrir des connexions internet en arrière-plan.
onboarding.spoof-referers.title=Usurper l'identité des Referers
onboarding.spoof-referers.description=<a href=\"https://fr.wikipedia.org/wiki/R%C3%A9f%C3%A9rent_(informatique)\">Les Referers</a> indiquent aux sites web quel lien vous y a amené. Cette fonctionnalité améliore grandement le respect de la vie privée, mais peut entraîner la perte de fonctionnalités sur certains sites.
onboarding.detect-captative-portal.title=Détecter les portails captifs
onboarding.detect-captative-portal.description=<a href=\"https://fr.wikipedia.org/wiki/Portail_captif\">Les portails captifs</a> sont les sites qui contrôlent l'accès aux réseaux sans fils publics dans les hôtels, les aéroports, les bars, etc. Ce service de détection est utile si vous vous connectez à ce type de réseaux, mais cela entraîne l'ouverture automatique de connexions.
onboarding.geolocation.title=Activer la géolocalisation
onboarding.geolocation.description=Elle est utilisée couramment pour les cartes, les sites de prévisions météo, et certaines boutiques en ligne. Il vaut mieux la désactivez à moins d'en avoir réellement besoin.
onboarding.webgl.title=Activer WebGL
onboarding.webgl.description=Nécessaire afin de visualiser les graphisme en 3D, mais peut vous exposer à des menaces de sécurité. Activer WebGL seulement si vous l'utilisez réellement.
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# LOCALIZATION NOTE: Next two strings are located at the top of a new tab
# introducing the customizable privacy settings
onboarding.privacy-settings.title=Impostazioni sulla privacy
onboarding.privacy-settings.description=Queste opzioni ti consentono di mettere a punto aspetti importanti del comportamento del browser in modo da poter scegliere un equilibrio tra praticità e privacy adatto alle tue esigenze. Le modifiche a queste impostazioni si applicano a tutte le schede e finestre esistenti (ma potrebbe essere necessario ricaricarle affinché le modifiche vengano visualizzate su di esse).
# LOCALIZATION NOTE: The following strings are the different privacy settings
# available. The title is placed next to a button that enables/disables the
# setting and the description is placed just below it
onboarding.disable-javascript.title=Disabilita JavaScript
onboarding.disable-javascript.description=Disabilitare Javascript migliora notevolmente la privacy, la sicurezza e la <a href=\"https://www.gnu.org/philosophy/javascript-trap.it.html\">libertà</a>, ma compromette la funzionalità molti siti.
onboarding.custom-fonts.title=Non caricare caratteri personalizzati
onboarding.custom-fonts.description=I caratteri personalizzati possono essere utilizzati per il <a href=\"https://it.wikipedia.org/wiki/Device_fingerprint\">fingerprinting</a>. Disabilitarli migliora la privacy ma potrebbe far compromettere la visibilità di alcuni siti.
onboarding.tracking-protection.title=Protezione del tracciamento
onboarding.tracking-protection.description=Il tracciamento è la raccolta dei dati di navigazione attraverso i vari siti Web. L'attivazione di questa funzione migliora la privacy, ma si collegherà regolarmente a Internet per scaricare gli aggiornamenti dei filtri.
onboarding.isolate-request-first-party.title=Isolare le richieste ai domini proprietari
onboarding.isolate-request-first-party.description=Questo <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">migliora la privacy</a>, ma potrebbe interferire con il login in alcuni siti.
onboarding.auto-update-extensions.title=Aggiorna automaticamente le estensioni
onboarding.auto-update-extensions.description=Abilitare gli aggiornamenti automatici è positivo per la sicurezza, ma avvierebbe connessioni Internet in background.
onboarding.spoof-referers.title=Spoof Referers
onboarding.spoof-referers.description=<a href=\"https://it.wikipedia.org/wiki/Referer\">I referer</a> dicono ai siti quale link ti ha portato lì. Questa funzione migliora notevolmente la privacy, ma potrebbe compromettere la funzionalità di alcuni siti.
onboarding.detect-captative-portal.title=Rileva il captive portal
onboarding.detect-captative-portal.description=<a href=\"https://it.wikipedia.org/wiki/Captive_portal\">I captive portal</a> sono i siti che controllano l'accesso alle reti wireless pubbliche negli hotel, negli aeroporti, nei bar, ecc. Il servizio di rilevamento è utile se ci si connette a tali reti, ma avvierà automaticamente le connessioni.
onboarding.geolocation.title=Abilita geolocalizzazione
onboarding.geolocation.description=Questo è comunemente usato per mappe, siti meteo e alcuni negozi online. È meglio tenerlo spento a meno che non se ne abbia veramente bisogno.
onboarding.webgl.title=Abilita WebGL
onboarding.webgl.description=Necessario per visualizzare la grafica 3D, ma potrebbe esporre a minacce alla sicurezza. Abilitare solo in caso di necessità.
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
// Based on the original onboarding code with deep changes from Ruben Rodriguez
// Copyright (C) 2018 Ruben Rodriguez <ruben@gnu.org>
/* eslint-env mozilla/frame-script */
"use strict";
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
const ABOUT_HOME_URL = "about:home";
const ABOUT_NEWTAB_URL = "about:newtab";
/**
* @param {String} action the action to ask the chrome to do
* @param {Array | Object} params the parameters for the action
*/
function sendMessageToChrome(action, params) {
sendAsyncMessage("Onboarding:OnContentMessage", {
action, params
});
}
/**
* The script won't be initialized if we turned off onboarding by
* setting "browser.onboarding.enabled" to false.
*/
class Onboarding {
constructor(contentWindow) {
this.init(contentWindow);
this._bundle = Services.strings.createBundle("chrome://onboarding/locale/onboarding.properties");
this.keylist = {
"javascript.enabled": {
type: "boolean",
name: "javascript.enabled",
label: this._bundle.GetStringFromName("onboarding.disable-javascript.title"),
description: this._bundle.GetStringFromName("onboarding.disable-javascript.description"),
defaultvalue: true,
onvalue: false,
offvalue: true,
},
"browser.display.use_document_fonts": {
type: "integer",
name: "browser.display.use_document_fonts",
label: this._bundle.GetStringFromName("onboarding.custom-fonts.title"),
description: this._bundle.GetStringFromName("onboarding.custom-fonts.description"),
defaultvalue: 1,
onvalue: 0,
offvalue: 1,
},
"browser.safebrowsing.provider.mozilla.updateURL": {
type: "string",
name: "browser.safebrowsing.provider.mozilla.updateURL",
label: this._bundle.GetStringFromName("onboarding.tracking-protection.title"),
description: this._bundle.GetStringFromName("onboarding.tracking-protection.description"),
defaultvalue: "",
onvalue: "https://shavar.services.mozilla.com/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2",
offvalue: "",
},
"privacy.firstparty.isolate": {
type: "boolean",
name: "privacy.firstparty.isolate",
label: this._bundle.GetStringFromName("onboarding.isolate-request-first-party.title"),
description: this._bundle.GetStringFromName("onboarding.isolate-request-first-party.description"),
defaultvalue: false,
onvalue: true,
offvalue: false,
},
"extensions.update.enabled": {
type: "boolean",
name: "extensions.update.enabled",
label: this._bundle.GetStringFromName("onboarding.auto-update-extensions.title"),
description: this._bundle.GetStringFromName("onboarding.auto-update-extensions.description"),
defaultvalue: false,
onvalue: true,
offvalue: false,
},
"network.http.referer.spoofSource": {
type: "boolean",
name: "network.http.referer.spoofSource",
label: this._bundle.GetStringFromName("onboarding.spoof-referers.title"),
description: this._bundle.GetStringFromName("onboarding.spoof-referers.description"),
defaultvalue: true,
onvalue: true,
offvalue: false,
},
"captivedetect.canonicalURL": {
type: "string",
name: "captivedetect.canonicalURL",
label: this._bundle.GetStringFromName("onboarding.detect-captative-portal.title"),
description: this._bundle.GetStringFromName("onboarding.detect-captative-portal.description"),
defaultvalue: "",
onvalue: "http://detectportal.firefox.com/success.txt",
offvalue: "",
},
"browser.search.geoip.url": {
type: "string",
name: "browser.search.geoip.url",
label: this._bundle.GetStringFromName("onboarding.geolocation.title"),
description: this._bundle.GetStringFromName("onboarding.geolocation.description"),
defaultvalue: "",
onvalue: "https://location.services.mozilla.com/v1/country?key=%MOZILLA_API_KEY%",
offvalue: ""
},
"webgl.disabled": {
type: "boolean",
name: "webgl.disabled",
label: this._bundle.GetStringFromName("onboarding.webgl.title"),
description: this._bundle.GetStringFromName("onboarding.webgl.description"),
defaultvalue: true,
onvalue: false,
offvalue: true
}
}
}
async init(contentWindow) {
this._window = contentWindow;
// Destroy on unloading. This is to ensure we remove all the stuff we left.
// No any leak out there.
this._window.addEventListener("unload", () => this.destroy());
this.uiInitialized = false;
this._window.requestIdleCallback(() => this._initUI());
}
getPref(type, key, def){
switch (type){
case "integer":
return Services.prefs.getIntPref(key, def);
break;
case "string":
return Services.prefs.getStringPref(key, def);
break;
case "boolean":
return Services.prefs.getBoolPref(key, def);
break;
}
}
_callback(id, val){
this._window.document.getElementById(id).checked= (val==this.keylist[id].onvalue);
}
newcheckbox(kind, type, name, label, description, defaultvalue, onvalue, offvalue, clear="none"){
let content = this._window.document.createElement("div");
content.style="border-top: 1px solid #DDDDDD; padding-top:10px; width:33%; float:left; clear:"+clear;
if (kind == "addon")
sendMessageToChrome("check-addon", [{
name: name,
}]);
else
Services.prefs.addObserver(name, () => {this._callback(name, this.getPref(type, name, defaultvalue));});
content.appendChild(this._window.document.createElement("input"));
content.appendChild(this._window.document.createElement("label"));
content.appendChild(this._window.document.createElement("p"));
content.children[0].id=name;
content.children[0].name=name;
content.children[0].className=kind;
content.children[0].type="checkbox";
content.children[0].style="position:relative; top:2px;";
content.children[0].checked=this.getPref(type, name, defaultvalue)==onvalue;
content.children[0].addEventListener("click", this);
content.children[0].addEventListener("keypress", this);
content.children[1].for=name;
content.children[1].innerHTML=label;
content.children[1].style="font-size:15px";
if (description != ""){
content.children[2].innerHTML=description;
content.children[2].style="padding-left:35px; font-size: small; color:#999; margin-top:5px";
}
return content;
}
_initUI() {
if (this.uiInitialized) {
return;
}
this.uiInitialized = true;
let { body } = this._window.document;
let main = this._window.document.getElementsByTagName("main")[0];
let settingsblock = this._window.document.createElement("div");
settingsblock.style=`border:1px solid #D7D7DB;
border-radius:3px;
margin-bottom:40px;
padding:0 15px 10px 15px;
color:#4A4A4F;
`;
let title = this._window.document.createElement("div");
title.innerHTML=`<h2 style="margin:10px 0 5px; font-size:20px">` + this._bundle.GetStringFromName("onboarding.privacy-settings.title") + `</h2> <p style="font-size:14px">` + this._bundle.GetStringFromName("onboarding.privacy-settings.description") + `</p>`;
main.insertBefore(settingsblock, main.childNodes[0]);
settingsblock.appendChild(title);
var counter=0;
var clear="none";
for ( var key in this.keylist){
clear="none";
if ( counter % 3 == 0 ){
counter=0;
clear="both";
}
counter++;
key = this.keylist[key];
settingsblock.appendChild(this.newcheckbox("key", key.type, key.name, key.label, key.description, key.defaultvalue, key.onvalue, key.offvalue, clear));
}
let closer=this._window.document.createElement("div");
closer.style="clear:both";
settingsblock.appendChild(closer);
settingsblock.appendChild(this.newcheckbox("addon", null, "jid1-KtlZuoiikVfFew@jetpack", "GNU LibreJs", "Block nonfree <a href=\"https://www.gnu.org/software/librejs/\">JavaScript</a>. <span style=\"color:red\">(Experimental)</span>"));
settingsblock.appendChild(this.newcheckbox("addon", null, "https-everywhere-eff@eff.org", "HTTPS Everywhere", "Extension that encrypts your communications with many major websites, making your browsing more secure."));
settingsblock.appendChild(this.newcheckbox("addon", null, "uBlock0@raymondhill.net", "uBlock Origin", "Block ads and other intrusing trackers."));
let closer2=this._window.document.createElement("div");
closer2.style="clear:both";
settingsblock.appendChild(closer2);
}
_clearPrefObserver() {
for ( var key in this.keylist){
key = this.keylist[key];
Services.prefs.removeObserver(key.name, () => {this._callbacktest(key.name, this.getPref(key.type, key.name, key.defaultvalue));});
}
}
handleClick(target) {
switch (target.className){
case "addon":
sendMessageToChrome("flip-addon", [{
name: target.name
}]);
return;
break;
case "key":
let value
if (target.checked)
value = this.keylist[target.name].onvalue
else
value = this.keylist[target.name].offvalue
if (target.name == "captivedetect.canonicalURL" && value != "")
this._window.alert("You need to restart the browser to apply this change.\n\nWhen this feature is enabled the browser will automatically\ntry to connect to detectportal.firefox.com at the beginning of each browsing session.");
sendMessageToChrome("set-prefs", [{
type: this.keylist[target.name].type,
name: target.name,
value: value
}]);
return;
break
}
}
/**
* Wrap keyboard focus within the dialog.
* When moving forward, focus on the first element when the current focused
* element is the last one.
* When moving backward, focus on the last element when the current focused
* element is the first one.
* Do nothing if focus is moving in the middle of the list of dialog's focusable
* elements.
*
* @param {DOMNode} current currently focused element
* @param {Boolean} back direction
* @return {DOMNode} newly focused element if any
*/
wrapMoveFocus(current, back) {
let elms = [...this._dialog.querySelectorAll(
`button, input[type="checkbox"], input[type="email"], [tabindex="0"]`)];
let next;
if (back) {
if (elms.indexOf(current) === 0) {
next = elms[elms.length - 1];
next.focus();
}
} else if (elms.indexOf(current) === elms.length - 1) {
next = elms[0];
next.focus();
}
return next;
}
handleKeypress(event) {
let { target, key, shiftKey } = event;
if ([" ", "Enter"].includes(key)) {
this.handleClick(target);
event.preventDefault();
}
return;
}
handleEvent(evt) {
switch (evt.type) {
case "keypress":
this.handleKeypress(evt);
break;
case "click":
this.handleClick(evt.target);
break;
default:
break;
}
}
destroy() {
if (!this.uiInitialized) {
return;
}
this.uiInitialized = false;
this._clearPrefObserver();
}
}
addEventListener("load", function onLoad(evt) {
if (!content || evt.target != content.document) {
return;
}
var window = evt.target.defaultView;
// Set the checked value of addons
function handleMessageFromChrome(message) {
if (! window) return;
var payload = message.data;
var cb = window.document.getElementById(payload.id);
if (cb == null) return;
cb.checked=payload.active;
cb.parentNode.hidden = ! payload.installed;
}
function needsrestart(){
window.alert("This change will be applied when you restart the browser");
}
addMessageListener("Onboarding:message-from-chrome", handleMessageFromChrome);
addMessageListener("Onboarding:needsrestart", needsrestart);
let location = window.location.href;
if (location == ABOUT_NEWTAB_URL || location == ABOUT_HOME_URL) {
// We just want to run tests as quickly as possible
// so in the automation test, we don't do `requestIdleCallback`.
if (Cu.isInAutomation) {
new Onboarding(window);
return;
}
window.requestIdleCallback(() => {
new Onboarding(window);
});
}
}, true);
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# LOCALIZATION NOTE: Next two strings are located at the top of a new tab
# introducing the customizable privacy settings
onboarding.privacy-settings.title=Privacy settings
onboarding.privacy-settings.description=These options allow you to tune important aspects of the browser's behavior so you can choose the balance between practicality and privacy that fits your needs. Changes to these settings apply to all existing tabs and windows (but you may need to reload them for the changes to show on them).
# LOCALIZATION NOTE: The following strings are the different privacy settings
# available. The title is placed next to a button that enables/disables the
# setting and the description is placed just below it
onboarding.disable-javascript.title=Disable JavaScript
onboarding.disable-javascript.description=Disabling Javascript greatly improves privacy, security and <a href=\"https://www.gnu.org/philosophy/javascript-trap.html\">freedom</a>, but it will break many sites.
onboarding.custom-fonts.title=Do not load custom fonts
onboarding.custom-fonts.description=Custom fonts can be used for <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">fingerprinting</a>. Disabling them improves privacy but may make some sites look wrong.
onboarding.tracking-protection.title=Tracking protection
onboarding.tracking-protection.description=Tracking is the collection of your browsing data across multiple websites. Enabling this feature improves privacy, but will regularly connect to the Internet to fetch updates to the filters.
onboarding.isolate-request-first-party.title=Isolate requests to First Party domains
onboarding.isolate-request-first-party.description=This <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">improves privacy</a>, but it may interfere with login into some sites.
onboarding.auto-update-extensions.title=Automatically update extensions
onboarding.auto-update-extensions.description=Enabling automated updates is good for security, but would start Internet connections in the background.
onboarding.spoof-referers.title=Spoof Referers
onboarding.spoof-referers.description=<a href=\"https://en.wikipedia.org/wiki/HTTP_referer\">Referers</a> tell sites what link brought you there. This feature greatly improves your privacy, but it may break functionality on some sites.
onboarding.detect-captative-portal.title=Detect captive portal
onboarding.detect-captative-portal.description=<a href=\"https://en.wikipedia.org/wiki/Captive_portal\">Captive portals</a> are the sites that control access to public wireless networks in hotels, airports, cafes, etc. The detection service is useful if you connect to such netwoks, but it will start connections automatically.
onboarding.geolocation.title=Enable Geolocation
onboarding.geolocation.description=This is commonly used for maps, weather sites, and some stores. It is better to keep it off unless you really need it.
onboarding.webgl.title=Enable WebGL
onboarding.webgl.description=Needed to visualize 3D graphics, but it may expose you to security threats. Enable it only if you really use it.
diff --git a/browser/components/preferences/sync.inc.xhtml b/browser/components/preferences/sync.inc.xhtml
index 492491a3..0c8c462a 100644
--- a/browser/components/preferences/sync.inc.xhtml
+++ b/browser/components/preferences/sync.inc.xhtml
@@ -35,24 +35,6 @@
</hbox>
</vbox>
</hbox>
- <label class="fxaMobilePromo" data-l10n-id="sync-mobile-promo">
- <html:img
- role="none"
- src="chrome://browser/skin/logo-android.svg"
- data-l10n-name="android-icon"
- class="androidIcon"/>
- <html:a
- data-l10n-name="android-link"
- class="fxaMobilePromo-android text-link" target="_blank"/>
- <html:img
- role="none"
- src="chrome://browser/skin/logo-ios.svg"
- data-l10n-name="ios-icon"
- class="iOSIcon"/>
- <html:a
- data-l10n-name="ios-link"
- class="fxaMobilePromo-ios text-link" target="_blank"/>
- </label>
</groupbox>
<vbox id="hasFxaAccount">
diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
index 1b29e8d..6f7566c 100644
--- a/browser/locales/en-US/browser/preferences/preferences.ftl
+++ b/browser/locales/en-US/browser/preferences/preferences.ftl
@@ -838,17 +838,7 @@ sync-signedout-account-signin3 =
.label = Sign in to sync…
.accesskey = i
-# This message contains two links and two icon images.
-# `<img data-l10n-name="android-icon"/>` - Android logo icon
-# `<a data-l10n-name="android-link">` - Link to Android Download
-# `<img data-l10n-name="ios-icon">` - iOS logo icon
-# `<a data-l10n-name="ios-link">` - Link to iOS Download
-#
-# They can be moved within the sentence as needed to adapt
-# to your language, but should not be changed or translated.
-sync-mobile-promo = Download Firefox for <img data-l10n-name="android-icon"/> <a data-l10n-name="android-link">Android</a> or <img data-l10n-name="ios-icon"/> <a data-l10n-name="ios-link">iOS</a> to sync with your mobile device.
-
-## Firefox account - Signed in
+## Sync Account - Signed in
sync-profile-picture =
.tooltiptext = Change profile picture
diff --git a/browser/components/protections/content/vpn-card.mjs b/browser/components/protections/content/vpn-card.mjs
index d9fe35c0..1b166048 100644
--- a/browser/components/protections/content/vpn-card.mjs
+++ b/browser/components/protections/content/vpn-card.mjs
@@ -24,22 +24,6 @@ export default class VPNCard {
vpnLink.addEventListener("click", () => {
this.doc.sendTelemetryEvent("clickVpnCardLink");
});
- let androidVPNAppLink = document.getElementById(
- "vpn-google-playstore-link"
- );
- androidVPNAppLink.href = RPMGetStringPref(
- "browser.contentblocking.report.vpn-android.url"
- );
- androidVPNAppLink.addEventListener("click", () => {
- document.sendTelemetryEvent("clickVpnAppLinkAndroid");
- });
- let iosVPNAppLink = document.getElementById("vpn-app-store-link");
- iosVPNAppLink.href = RPMGetStringPref(
- "browser.contentblocking.report.vpn-ios.url"
- );
- iosVPNAppLink.addEventListener("click", () => {
- document.sendTelemetryEvent("clickVpnAppLinkIos");
- });
const vpnBanner = this.doc.querySelector(".vpn-banner");
const exitIcon = vpnBanner.querySelector(".exit-icon");
diff --git a/browser/components/protections/content/protections.html b/browser/components/protections/content/protections.html
index 1374c30f..51796498 100644
--- a/browser/components/protections/content/protections.html
+++ b/browser/components/protections/content/protections.html
@@ -291,44 +291,6 @@
<div id="graph-total-summary"></div>
</div>
</div>
- <div id="mobile-hanger" class="card-body hidden">
- <div class="body-wrapper">
- <button
- class="exit-icon"
- data-l10n-id="protections-close-button2"
- ></button>
- <div id="etp-mobile-content">
- <img
- class="mobile-app-icon"
- src="chrome://browser/content/logos/etp-mobile.svg"
- />
- <span>
- <h2 class="card-title" data-l10n-id="mobile-app-title"></h2>
- <p class="content">
- <span data-l10n-id="mobile-app-card-content"></span>
- <span
- target="_blank"
- id="mobile-app-links"
- data-l10n-id="mobile-app-links"
- >
- <a
- target="_blank"
- id="android-mobile-inline-link"
- data-l10n-name="android-mobile-inline-link"
- href=""
- ></a>
- <a
- target="_blank"
- id="ios-mobile-inline-link"
- data-l10n-name="ios-mobile-inline-link"
- href=""
- ></a>
- </span>
- </p>
- </span>
- </div>
- </div>
- </div>
</div>
<!-- Markup for Monitor card. -->
<section class="card card-no-hover monitor-card hidden">
Based on https://git.parabola.nu/abslibre.git/diff/libre/iceweasel/9004-FSDG-misc.patch?id=0947239827274ca70e91a8da93219846bdad401a
- Remove 'More from Mozilla' section in Preferences
- Remove promos of Firefox Focus and Klar from Private Browsing
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index c5f7cf3a..f0124235 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1251,11 +1251,11 @@ pref("accessibility.typeaheadfind.linksonly", false);
pref("accessibility.typeaheadfind.flashBar", 1);
// Whether we can show the "Firefox Labs" section.
-pref("browser.preferences.experimental", true);
+pref("browser.preferences.experimental", false);
// Whether we had to hide the "Firefox Labs" section because it would be empty.
pref("browser.preferences.experimental.hidden", false);
// Whether we show the "More from Mozilla" section.
-pref("browser.preferences.moreFromMozilla", true);
+pref("browser.preferences.moreFromMozilla", false);
// Used by settings to track whether the user customized advanced
// performance settings. Not used directly elsewhere.
@@ -2281,7 +2281,7 @@ pref("browser.contentblocking.report.vpn_regions", "ca,my,nz,sg,gb,gg,im,io,je,u
pref("browser.promo.focus.disallowed_regions", "cn");
// Default to enabling focus promos to be shown where allowed.
-pref("browser.promo.focus.enabled", true);
+pref("browser.promo.focus.enabled", false);
// Default to enabling pin promos to be shown where allowed.
pref("browser.promo.pin.enabled", true);
diff -Nru a/browser/base/content/test/static/browser_all_files_referenced.js b/browser/base/content/test/static/browser_all_files_referenced.js
--- a/browser/base/content/test/static/browser_all_files_referenced.js 2022-05-22 09:35:55.336673325 +0000
+++ b/browser/base/content/test/static/browser_all_files_referenced.js 2022-05-22 21:50:33.783348501 +0000
@@ -145,15 +145,6 @@ var whitelist = [
// extensions/pref/autoconfig/src/nsReadConfig.cpp
{ file: "resource://gre/defaults/autoconfig/prefcalls.js" },
- // browser/components/preferences/moreFromMozilla.js
- // These files URLs are constructed programatically at run time.
- {
- file: "chrome://browser/content/preferences/more-from-mozilla-qr-code-simple.svg",
- },
- {
- file: "chrome://browser/content/preferences/more-from-mozilla-qr-code-simple-cn.svg",
- },
-
{ file: "resource://gre/greprefs.js" },
// layout/mathml/nsMathMLChar.cpp
diff -Nru a/browser/components/asrouter/modules/OnboardingMessageProvider.sys.mjs b/browser/components/newtab/lib/OnboardingMessageProvider.jsm
--- a/browser/components/asrouter/modules/OnboardingMessageProvider.sys.mjs 2022-10-16 05:35:50.783203285 -0500
+++ b/browser/components/asrouter/modules/OnboardingMessageProvider.sys.mjs 2022-10-16 06:20:07.235345215 -0500
@@ -513,315 +515,6 @@ const BASE_MESSAGES = () => [
],
},
},
- {
- id: "PB_NEWTAB_FOCUS_PROMO",
- type: "default",
- template: "pb_newtab",
- groups: ["pbNewtab"],
- content: {
- infoBody: "fluent:about-private-browsing-info-description-simplified",
- infoEnabled: true,
- infoIcon: "chrome://global/skin/icons/indicator-private-browsing.svg",
- infoLinkText: "fluent:about-private-browsing-learn-more-link",
- infoTitle: "",
- infoTitleEnabled: false,
- promoEnabled: true,
- promoType: "FOCUS",
- promoHeader: "fluent:about-private-browsing-focus-promo-header-c",
- promoImageLarge: "chrome://browser/content/assets/focus-promo.png",
- promoLinkText: "fluent:about-private-browsing-focus-promo-cta",
- promoLinkType: "button",
- promoSectionStyle: "below-search",
- promoTitle: "fluent:about-private-browsing-focus-promo-text-c",
- promoTitleEnabled: true,
- promoButton: {
- action: {
- type: "SHOW_SPOTLIGHT",
- data: {
- content: {
- id: "FOCUS_PROMO",
- template: "multistage",
- modal: "tab",
- backdrop: "transparent",
- screens: [
- {
- id: "DEFAULT_MODAL_UI",
- content: {
- logo: {
- imageURL:
- "chrome://browser/content/assets/focus-logo.svg",
- height: "48px",
- },
- title: {
- string_id: "spotlight-focus-promo-title",
- },
- subtitle: {
- string_id: "spotlight-focus-promo-subtitle",
- },
- dismiss_button: {
- action: {
- navigate: true,
- },
- },
- ios: {
- action: {
- data: {
- args: "https://app.adjust.com/167k4ih?campaign=firefox-desktop&adgroup=pb&creative=focus-omc172&redirect=https%3A%2F%2Fapps.apple.com%2Fus%2Fapp%2Ffirefox-focus-privacy-browser%2Fid1055677337",
- where: "tabshifted",
- },
- type: "OPEN_URL",
- navigate: true,
- },
- },
- android: {
- action: {
- data: {
- args: "https://app.adjust.com/167k4ih?campaign=firefox-desktop&adgroup=pb&creative=focus-omc172&redirect=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dorg.mozilla.focus",
- where: "tabshifted",
- },
- type: "OPEN_URL",
- navigate: true,
- },
- },
- tiles: {
- type: "mobile_downloads",
- data: {
- QR_code: {
- image_url:
- "chrome://browser/content/assets/focus-qr-code.svg",
- alt_text: {
- string_id: "spotlight-focus-promo-qr-code",
- },
- },
- marketplace_buttons: ["ios", "android"],
- },
- },
- },
- },
- ],
- },
- },
- },
- },
- },
- priority: 2,
- frequency: {
- custom: [
- {
- cap: 3,
- period: 604800000, // Max 3 per week
- },
- ],
- lifetime: 12,
- },
- // Exclude the next 2 messages: 1) Klar for en 2) Klar for de
- targeting:
- "!(region in [ 'DE', 'AT', 'CH'] && localeLanguageCode == 'en') && localeLanguageCode != 'de'",
- },
- {
- id: "PB_NEWTAB_KLAR_PROMO",
- type: "default",
- template: "pb_newtab",
- groups: ["pbNewtab"],
- content: {
- infoBody: "fluent:about-private-browsing-info-description-simplified",
- infoEnabled: true,
- infoIcon: "chrome://global/skin/icons/indicator-private-browsing.svg",
- infoLinkText: "fluent:about-private-browsing-learn-more-link",
- infoTitle: "",
- infoTitleEnabled: false,
- promoEnabled: true,
- promoType: "FOCUS",
- promoHeader: "fluent:about-private-browsing-focus-promo-header-c",
- promoImageLarge: "chrome://browser/content/assets/focus-promo.png",
- promoLinkText: "Download Firefox Klar",
- promoLinkType: "button",
- promoSectionStyle: "below-search",
- promoTitle:
- "Firefox Klar clears your history every time while blocking ads and trackers.",
- promoTitleEnabled: true,
- promoButton: {
- action: {
- type: "SHOW_SPOTLIGHT",
- data: {
- content: {
- id: "KLAR_PROMO",
- template: "multistage",
- modal: "tab",
- backdrop: "transparent",
- screens: [
- {
- id: "DEFAULT_MODAL_UI",
- order: 0,
- content: {
- logo: {
- imageURL:
- "chrome://browser/content/assets/focus-logo.svg",
- height: "48px",
- },
- title: "Get Firefox Klar",
- subtitle: {
- string_id: "spotlight-focus-promo-subtitle",
- },
- dismiss_button: {
- action: {
- navigate: true,
- },
- },
- ios: {
- action: {
- data: {
- args: "https://app.adjust.com/a8bxj8j?campaign=firefox-desktop&adgroup=pb&creative=focus-omc172&redirect=https%3A%2F%2Fapps.apple.com%2Fde%2Fapp%2Fklar-by-firefox%2Fid1073435754",
- where: "tabshifted",
- },
- type: "OPEN_URL",
- navigate: true,
- },
- },
- android: {
- action: {
- data: {
- args: "https://app.adjust.com/a8bxj8j?campaign=firefox-desktop&adgroup=pb&creative=focus-omc172&redirect=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dorg.mozilla.klar",
- where: "tabshifted",
- },
- type: "OPEN_URL",
- navigate: true,
- },
- },
- tiles: {
- type: "mobile_downloads",
- data: {
- QR_code: {
- image_url:
- "chrome://browser/content/assets/klar-qr-code.svg",
- alt_text: "Scan the QR code to get Firefox Klar",
- },
- marketplace_buttons: ["ios", "android"],
- },
- },
- },
- },
- ],
- },
- },
- },
- },
- },
- priority: 2,
- frequency: {
- custom: [
- {
- cap: 3,
- period: 604800000, // Max 3 per week
- },
- ],
- lifetime: 12,
- },
- targeting: "region in [ 'DE', 'AT', 'CH'] && localeLanguageCode == 'en'",
- },
- {
- id: "PB_NEWTAB_KLAR_PROMO_DE",
- type: "default",
- template: "pb_newtab",
- groups: ["pbNewtab"],
- content: {
- infoBody: "fluent:about-private-browsing-info-description-simplified",
- infoEnabled: true,
- infoIcon: "chrome://global/skin/icons/indicator-private-browsing.svg",
- infoLinkText: "fluent:about-private-browsing-learn-more-link",
- infoTitle: "",
- infoTitleEnabled: false,
- promoEnabled: true,
- promoType: "FOCUS",
- promoHeader: "fluent:about-private-browsing-focus-promo-header-c",
- promoImageLarge: "chrome://browser/content/assets/focus-promo.png",
- promoLinkText: "fluent:about-private-browsing-focus-promo-cta",
- promoLinkType: "button",
- promoSectionStyle: "below-search",
- promoTitle: "fluent:about-private-browsing-focus-promo-text-c",
- promoTitleEnabled: true,
- promoButton: {
- action: {
- type: "SHOW_SPOTLIGHT",
- data: {
- content: {
- id: "FOCUS_PROMO",
- template: "multistage",
- modal: "tab",
- backdrop: "transparent",
- screens: [
- {
- id: "DEFAULT_MODAL_UI",
- content: {
- logo: {
- imageURL:
- "chrome://browser/content/assets/focus-logo.svg",
- height: "48px",
- },
- title: {
- string_id: "spotlight-focus-promo-title",
- },
- subtitle: {
- string_id: "spotlight-focus-promo-subtitle",
- },
- dismiss_button: {
- action: {
- navigate: true,
- },
- },
- ios: {
- action: {
- data: {
- args: "https://app.adjust.com/a8bxj8j?campaign=firefox-desktop&adgroup=pb&creative=focus-omc172&redirect=https%3A%2F%2Fapps.apple.com%2Fde%2Fapp%2Fklar-by-firefox%2Fid1073435754",
- where: "tabshifted",
- },
- type: "OPEN_URL",
- navigate: true,
- },
- },
- android: {
- action: {
- data: {
- args: "https://app.adjust.com/a8bxj8j?campaign=firefox-desktop&adgroup=pb&creative=focus-omc172&redirect=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dorg.mozilla.klar",
- where: "tabshifted",
- },
- type: "OPEN_URL",
- navigate: true,
- },
- },
- tiles: {
- type: "mobile_downloads",
- data: {
- QR_code: {
- image_url:
- "chrome://browser/content/assets/klar-qr-code.svg",
- alt_text: {
- string_id: "spotlight-focus-promo-qr-code",
- },
- },
- marketplace_buttons: ["ios", "android"],
- },
- },
- },
- },
- ],
- },
- },
- },
- },
- },
- priority: 2,
- frequency: {
- custom: [
- {
- cap: 3,
- period: 604800000, // Max 3 per week
- },
- ],
- lifetime: 12,
- },
- targeting: "localeLanguageCode == 'de'",
- },
{
id: "PB_NEWTAB_INFO_SECTION",
template: "pb_newtab",
diff --git a/browser/components/asrouter/modules/PanelTestProvider.sys.mjs b/browser/components/newtab/lib/PanelTestProvider.sys.mjs
index b5ff592..22cdf39 100644
--- a/browser/components/asrouter/modules/PanelTestProvider.sys.mjs 2022-10-16 05:35:50.835203327 -0500
+++ b/browser/components/asrouter/modules/PanelTestProvider.sys.mjs 2022-10-16 06:24:48.095827505 -0500
@@ -367,85 +374,6 @@ const MESSAGES = () => [
frequency: { lifetime: 3 },
trigger: { id: "defaultBrowserCheck" },
},
- {
- id: "PB_FOCUS_PROMO",
- groups: ["panel-test-provider"],
- template: "spotlight",
- content: {
- template: "multistage",
- backdrop: "transparent",
- screens: [
- {
- id: "PBM_FIREFOX_FOCUS",
- order: 0,
- content: {
- logo: {
- imageURL: "chrome://browser/content/assets/focus-logo.svg",
- height: "48px",
- },
- title: {
- string_id: "spotlight-focus-promo-title",
- },
- subtitle: {
- string_id: "spotlight-focus-promo-subtitle",
- },
- dismiss_button: {
- action: {
- dismiss: true,
- },
- },
- ios: {
- action: {
- data: {
- args: "https://app.adjust.com/167k4ih?campaign=firefox-desktop&adgroup=pb&creative=focus-omc172&redirect=https%3A%2F%2Fapps.apple.com%2Fus%2Fapp%2Ffirefox-focus-privacy-browser%2Fid1055677337",
- where: "tabshifted",
- },
- type: "OPEN_URL",
- navigate: true,
- },
- },
- android: {
- action: {
- data: {
- args: "https://app.adjust.com/167k4ih?campaign=firefox-desktop&adgroup=pb&creative=focus-omc172&redirect=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dorg.mozilla.focus",
- where: "tabshifted",
- },
- type: "OPEN_URL",
- navigate: true,
- },
- },
- email_link: {
- action: {
- data: {
- args: "https://mozilla.org",
- where: "tabshifted",
- },
- type: "OPEN_URL",
- navigate: true,
- },
- },
- tiles: {
- type: "mobile_downloads",
- data: {
- QR_code: {
- image_url:
- "chrome://browser/content/assets/focus-qr-code.svg",
- alt_text: {
- string_id: "spotlight-focus-promo-qr-code",
- },
- },
- email: {
- link_text: "Email yourself a link",
- },
- marketplace_buttons: ["ios", "android"],
- },
- },
- },
- },
- ],
- },
- trigger: { id: "defaultBrowserCheck" },
- },
{
id: "PB_NEWTAB_VPN_PROMO",
template: "pb_newtab",
diff -Nru a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
--- a/browser/components/preferences/jar.mn 2022-05-22 09:35:55.400673986 +0000
+++ b/browser/components/preferences/jar.mn 2022-05-22 21:45:51.512354083 +0000
@@ -18,7 +18,5 @@
content/browser/preferences/fxaPairDevice.xhtml
content/browser/preferences/fxaPairDevice.js
content/browser/preferences/findInPage.js
- content/browser/preferences/more-from-mozilla-qr-code-simple.svg
- content/browser/preferences/more-from-mozilla-qr-code-simple-cn.svg
content/browser/preferences/web-appearance-dark.svg
content/browser/preferences/web-appearance-light.svg
diff --git a/browser/components/preferences/more-from-mozilla-qr-code-simple-cn.svg b/browser/components/preferences/more-from-mozilla-qr-code-simple-cn.svg
index edcad0f3..e69de29b 100644
--- a/browser/components/preferences/more-from-mozilla-qr-code-simple-cn.svg
+++ b/browser/components/preferences/more-from-mozilla-qr-code-simple-cn.svg
@@ -1,4 +0,0 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<svg width="80" height="80" fill="context-fill" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4 2h72a2 2 0 0 1 2 2v72a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2ZM0 4a4 4 0 0 1 4-4h72a4 4 0 0 1 4 4v72a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4Zm7.08 3.08h15.892v15.892H7.08V7.08Zm4.54 2.27H9.35V20.701H20.701V9.35h-9.08Zm18.163-2.27h4.541v2.27h2.27v2.27h-2.27v2.27h-2.27v2.271h4.54v-4.54h2.27V9.35h2.271v6.811h-2.27v2.27h2.27v4.541h-2.27v-2.27h-2.27v-2.27h-2.27v2.27h-2.271v-2.27h-2.27V7.08Zm0 13.622v-2.27h-2.27V9.35h-2.27v13.622h2.27v2.27h-9.081v2.271h-2.27v2.27H13.89v-4.54h-2.27v2.27H7.08v2.27h2.27v2.27h2.27v2.271h9.081v2.27h2.271v2.27h-2.27v2.271h-2.27v-2.27h-2.27v-2.27H7.08v2.27h4.54v2.27H9.35v2.27h6.811v-2.27h2.27v4.54h6.811v-2.27h2.271v2.27h2.27v-4.54h-4.54v-2.27h2.27v-4.54h2.27v-2.271h-4.54v-2.27h2.27v-2.271h2.27v-4.54h2.27v2.27h4.541v2.27h-2.27v2.27h2.27v-2.27h2.27v-4.54h-2.27v-2.271h-2.27v2.27h-2.27v-2.27h-2.27Zm0 0h-2.27v2.27h2.27v-2.27Zm-9.081 11.352v2.27h2.27v2.27h2.27v-4.54h-4.54Zm4.54 9.081h-4.54v2.27h4.54v-2.27Zm-4.54-9.081v-2.27h2.27v-2.271h-4.54v4.54h2.27Zm-9.082 0v-2.27h2.27v2.27h-2.27ZM41.135 9.35V7.08h2.27v2.27h-2.27Zm2.27 20.433h-2.27v-4.54h2.27v2.27h2.27v-2.27h2.271v-4.541h2.27v2.27h2.271v-4.54h2.27V25.242h2.27v2.271h-4.54v-2.27h-2.27v4.54h-6.811Zm9.082 2.27v-2.27h-2.27v2.27h2.27Zm2.27 0h-2.27v4.541h-2.27v4.541h2.27v4.54h-2.27v4.541h-4.541v2.271h-2.27v-2.27h-2.27v2.27h2.27v2.27h-4.541v-4.54h-6.811v2.27h-2.27v-4.54h-4.541v2.27h-2.27v-2.27h-2.271v2.27h2.27v2.27h-4.54v-4.54H13.89v2.27h-2.27v-4.541H9.35v2.27H7.08v2.27h4.54v2.271H7.08v2.27h4.54v-2.27h2.27v2.27h2.271v-2.27h2.27v2.27h6.811v6.811h2.271v2.27h2.27v2.271h-4.54v2.27h2.27v2.271h2.27v-4.54h2.27v-2.271h-2.27v-4.54h4.541v2.27h2.27v2.27h-2.27v2.27h2.27v4.541h-2.27v2.27h2.27v-2.27h2.27v2.27h6.811v-2.27h4.541v-4.54h4.541v2.27h-2.27v4.54h2.27v-2.27h2.27v2.27h9.082V66.11h2.27v2.27h4.541v-2.27h-2.27v-6.811h2.27V45.675h-2.27v13.622h-2.27v-2.27h-2.27v-4.541h-6.811v-2.27h-4.541v-6.811h2.27v4.54h4.54v-4.54h-2.27v-2.27h-6.811v-2.271h2.27v-2.27h2.27v2.27h2.271v-4.54h4.54v9.08h2.271v-2.27h2.27v-2.27h-2.27v-6.811h2.27v-2.27h2.271v2.27h2.27v-4.541h-2.27v-2.27H59.299v2.27h-2.271v2.27h-2.27v2.27Zm2.27 0v2.271h-2.27v-2.27h2.27Zm2.271-2.27h2.27v2.27h2.27v-4.54h-4.54v2.27Zm0 0v2.27h-2.27v-2.27h2.27Zm9.082 29.515h-2.27v2.27h-2.271v2.27h4.54v-4.54ZM54.757 66.11h2.27v2.27h2.271v2.271h4.54v-2.27h-2.27v-2.27h-2.27v-2.271h-4.54v2.27Zm-6.81-2.27v2.27h2.27v-2.27h-2.27Zm-2.271 0v-2.27h-6.811v-2.27h2.27v-2.271h2.27v-2.27h9.082v4.54h-4.54v-2.27h-2.271v2.27h2.27v4.54h-2.27Zm0 0h-9.081v2.27h2.27v2.27h2.27v2.271h2.27v-2.27h2.27v-4.541Zm-9.082-6.811v2.27h-2.27v-2.27h2.27Zm0-2.27h2.27v2.27h-2.27v-2.27Zm0 0h-2.27v-2.271h2.27v2.27Zm-6.81 4.54v-6.811h-2.271v6.811h2.27ZM47.945 7.08h4.541v4.54h-2.27V9.35h-2.27V7.08Zm0 2.27v2.27h2.27v2.27h4.541v2.271h-4.54v2.27h-6.811v-2.27h2.27v-2.27h-2.27v-2.27h2.27V9.35h2.27Zm9.082-2.27H72.92v15.892H57.028V7.08Zm4.54 2.27h-2.27V20.701H70.65V9.35h-9.081ZM11.62 11.62h6.811v6.811H11.621V11.621Zm49.949 0H68.379v6.811H61.57V11.621Zm-18.163 9.082h2.27v2.27h-2.27v-2.27ZM68.38 34.324h2.27v2.27h-2.27v-2.27Zm2.27 2.27h2.27v4.541h-2.27v-4.54Zm-4.54 11.352h2.27v2.27h-2.27v-2.27Zm-9.082 6.811h-2.27v6.811H61.567V54.758h-4.54ZM7.08 57.027h15.892V72.92H7.08V57.028Zm4.54 2.271H9.35V70.65H20.701V59.299h-9.08Zm45.408-2.27h2.27v2.27h-2.27v-2.27Zm-45.408 4.54h6.811v6.811H11.621V61.57Zm59.03 9.082h2.27v2.27h-2.27v-2.27Z"/></svg>
diff --git a/browser/components/preferences/more-from-mozilla-qr-code-simple.svg b/browser/components/preferences/more-from-mozilla-qr-code-simple.svg
index bb847abd..e69de29b 100644
--- a/browser/components/preferences/more-from-mozilla-qr-code-simple.svg
+++ b/browser/components/preferences/more-from-mozilla-qr-code-simple.svg
@@ -1,4 +0,0 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<svg width="80" height="80" fill="context-fill" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M76 2H4a2 2 0 0 0-2 2v72a2 2 0 0 0 2 2h72a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2ZM4 0a4 4 0 0 0-4 4v72a4 4 0 0 0 4 4h72a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4H4Zm3.08 7.08h15.892v15.892H7.08V7.08Zm4.54 2.27H9.35V20.701H20.701V9.35h-9.08Zm20.434-2.27h2.27v2.27h2.27V7.08h4.541v2.27h2.27v2.27H36.596v2.27h-4.541v2.271h-2.27v-2.27h-2.271v-2.27h2.27V9.35h2.27V7.08Zm-4.541 4.54h-2.27V9.35h2.27v2.27Zm2.27 11.352v-4.54h2.27v-2.27h4.541V13.89h4.541v2.27h4.54v2.27h-2.27v2.27h-2.27v-2.27h-2.27v2.27h-2.27v-2.27h-2.27v2.27h-2.271v2.271h-2.27Zm-4.54 2.27V18.433h2.27v4.54h2.27v2.27h-4.54Zm0 0v2.271h-9.081v-2.27h9.08Zm11.351-2.27h-2.27v-2.27h2.27v2.27Zm2.27 0h-2.27v4.541h-2.27v-2.27h-2.27v2.27h2.27v2.27h4.54V22.973Zm2.271 0v-2.27h-2.27v2.27h2.27Zm2.27 0h-2.27v6.811h4.54v-2.27h-2.27v-4.54Zm2.27 0h-2.27v-2.27h2.27v2.27Zm4.542-6.81h-2.27V22.971h-2.271v2.27h2.27v2.271h2.27v2.27h-2.27v2.27h2.27v-2.27h2.271v2.27h2.27v2.271h2.27v-4.54h2.271v2.27h2.27v2.27h-2.27v2.27h-2.27v2.27h-4.541v6.811h2.27v2.271h4.541v4.541h-6.811v-2.27h-2.27v2.27h-2.27v-2.27h-4.541v2.27h-4.541v-2.27h-4.54v2.27h2.27v2.27h2.27v2.27H45.675v4.541h2.271v2.27h-2.27v2.271h-2.27v-4.54h-4.541v-2.27h-2.27v-2.271h-2.27v2.27h2.27v2.27h-2.27v2.27h-2.271v-2.27h-2.27v-2.27h-2.271v-4.54h2.27v2.27h2.27v-2.27h-2.27v-2.271h2.27v-2.27h-4.54v-2.27h2.27v-2.271h-2.27v-4.54h2.27v-2.271h-2.27v-6.811h2.27v-2.27h-2.27v2.27h-4.54v-2.27h-2.271v2.27h2.27v2.27h-4.54v-4.54h-2.27V36.593H13.89v-4.54h-2.27v-2.27h2.27v-2.271H7.08v6.811h2.27v4.54h4.54v2.271h-2.27v2.27H9.35v-2.27H7.08v2.27h2.27v2.27H7.08v2.271h2.27v-2.27h2.27v2.27h2.27v-4.54h4.541v-2.27h-2.27v-4.541h2.27v2.27h2.27v2.27h2.271v2.27h-2.27v2.27h-2.27v2.271h-2.27v2.27H11.62v2.271H7.08v2.27h4.54v-2.27h4.541v2.27h9.081v9.081h4.541v4.541h-2.27v4.541h4.54v-2.27h2.271v2.27h2.27v-4.54h-4.54v-2.27h2.27v-2.271h2.27v-2.27h2.27v2.27h2.271v2.27h-2.27v6.811H45.675v-4.54h2.271v4.54h2.27v-4.54h2.271v4.54h6.811v-2.27h2.27v2.27h2.27v-2.27h-2.27v-2.27h-4.54v-2.27h-9.081v-2.271H59.297v2.27h2.27v-2.27h2.27v4.54h4.541v4.541h2.271v-2.27h2.27v-4.54h-2.27v-2.271h2.27v-2.27h-2.27v-2.27h2.27v-4.541h-2.27v-4.541h2.27V27.513h-2.27v-2.27h-2.27v2.27h-6.811v-2.27h-4.541v2.27h-2.27v-2.27h-2.271v-2.27h2.27v-4.541h-4.54v-2.27Zm2.27-6.812h2.27v4.54h-2.27v2.271h-2.27v-4.54h2.27V9.35Zm0 0h-6.811V7.08h6.811v2.27Zm0 13.622v-2.27h-2.27v2.27h2.27Zm9.081 6.811v2.27h2.27v2.271h-2.27v2.27h-2.27v4.541h-4.54v2.27h2.27v2.27h4.54v-2.27h2.27v4.541h-2.27v4.541h2.27v6.811h2.271v2.27h-2.27v2.27h4.54v-4.54h2.271v-4.54h-2.27v-4.541h2.27v-4.541h-2.27v-4.54h2.27v-6.811h-2.27v-2.271h2.27v-2.27h-4.54v2.27h-2.271v-2.27h-2.27Zm6.812 24.974h-2.27v2.27h2.27v-2.27Zm0-4.54h-4.541v-2.27h4.54v2.27Zm-4.541-9.082h2.27v2.27h-2.27v-2.27Zm-2.27 0v-4.54h2.27v4.54h-2.27Zm4.54-4.54v-2.27h-2.27v2.27h2.27Zm0 0h2.27v2.27h-2.27v-2.27Zm-4.54 4.54v2.27h-2.27v-2.27h2.27Zm0-11.352v-2.27h-2.27v2.27h2.27ZM57.028 68.38h-2.27v2.27h2.27v-2.27Zm-24.974 0h-2.27v2.27h2.27v-2.27ZM20.702 47.946v2.27h2.27v2.271h-4.54v-4.54h2.27Zm2.27-2.27v2.27h-2.27v-2.27h2.27Zm2.27 0v2.27h2.271v-2.27h-2.27Zm0 0h-2.27v-2.27h2.27v2.27Zm-2.27-9.082v2.27h-2.27v-2.27h2.27Zm0 0h2.27v-2.27h-2.27v2.27ZM9.35 34.324v-2.27h2.27v2.27H9.35Zm15.893 20.433h2.27v-2.27h-2.27v2.27ZM41.135 66.11v4.541h2.27v-4.54h-2.27Zm6.811-4.54v-2.27h2.27v2.27h-2.27Zm-2.27-6.812h-2.27v-2.27h2.27v2.27Zm0 0v2.27h2.27v-2.27h-2.27Zm4.54-20.433v2.27h2.271v-2.27h-2.27Zm2.271-9.081h-2.27v2.27h2.27v-2.27Zm4.54-18.163H72.92v15.892H57.028V7.08Zm4.541 2.27h-2.27V20.701H70.65V9.35h-9.081ZM11.62 11.62h6.811v6.811H11.621V11.621Zm34.056 0h2.27v2.27h-2.27v-2.27Zm15.892 0h6.811v6.811H61.57V11.621Zm-4.54 43.137h-2.27v6.811H61.567V54.758h-4.54ZM7.08 57.027h15.892V72.92H7.08V57.028Zm4.54 2.271H9.35V70.65H20.701V59.299h-9.08Zm45.408-2.27h2.27v2.27h-2.27v-2.27Zm-45.408 4.54h6.811v6.811H11.621V61.57Z"/></svg>
diff --git a/browser/components/preferences/moreFromMozilla.js b/browser/components/preferences/moreFromMozilla.js
index bf97580d..31017a6f 100644
--- a/browser/components/preferences/moreFromMozilla.js
+++ b/browser/components/preferences/moreFromMozilla.js
@@ -81,51 +81,7 @@ var gMoreFromMozillaPane = {
renderProducts() {
const isRegionUS = Region.home.toLowerCase() === "us";
- let products = [
- {
- id: "firefox-mobile",
- title_string_id: "more-from-moz-firefox-mobile-title",
- description_string_id: "more-from-moz-firefox-mobile-description",
- region: "global",
- button: {
- id: "fxMobile",
- type: "link",
- label_string_id: "more-from-moz-learn-more-link",
- actionURL: AppConstants.isChinaRepack()
- ? "https://www.firefox.com.cn/browsers/mobile/"
- : "https://www.mozilla.org/firefox/browsers/mobile/",
- },
- qrcode: {
- title: {
- string_id: "more-from-moz-qr-code-box-firefox-mobile-title",
- },
- image_src_prefix:
- "chrome://browser/content/preferences/more-from-mozilla-qr-code",
- button: {
- id: "qr-code-send-email",
- label: {
- string_id: "more-from-moz-qr-code-box-firefox-mobile-button",
- },
- actionURL: AppConstants.isChinaRepack()
- ? "https://www.firefox.com.cn/mobile/get-app/"
- : "https://www.mozilla.org/firefox/mobile/get-app/?v=mfm",
- },
- },
- },
- {
- id: "mozilla-monitor",
- title_string_id: "more-from-moz-mozilla-monitor-title",
- description_string_id: isRegionUS
- ? "more-from-moz-mozilla-monitor-us-description"
- : "more-from-moz-mozilla-monitor-global-description",
- region: isRegionUS ? "us" : "global",
- button: {
- id: "mozillaMonitor",
- label_string_id: "more-from-moz-mozilla-monitor-button",
- actionURL: "https://monitor.mozilla.org/",
- },
- },
- ];
+ let products = [];
if (BrowserUtils.shouldShowVPNPromo()) {
const vpn = {
diff -Nru a/browser/components/privatebrowsing/content/assets/focus-qr-code.svg b/browser/components/privatebrowsing/content/assets/focus-qr-code.svg
--- a/browser/components/privatebrowsing/content/assets/focus-qr-code.svg 2022-05-22 09:35:55.412674110 +0000
+++ b/browser/components/privatebrowsing/content/assets/focus-qr-code.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,114 +0,0 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<svg width="113" height="113" viewBox="0 0 113 113" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="113" height="113" rx="4" fill="white"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M4 2H109C110.105 2 111 2.89543 111 4V109C111 110.105 110.105 111 109 111H4C2.89543 111 2 110.105 2 109V4C2 2.89543 2.89543 2 4 2ZM0 4C0 1.79086 1.79086 0 4 0H109C111.209 0 113 1.79086 113 4V109C113 111.209 111.209 113 109 113H4C1.79086 113 0 111.209 0 109V4ZM103 10H99.7931H96.5862H93.3793H90.1724H86.9655H83.7586H80.5517V13.2069V16.4138V19.6207V22.8276V26.0345V29.2414V32.4483H83.7586H86.9655H90.1724H93.3793H96.5862H99.7931H103V29.2414V26.0345V22.8276V19.6207V16.4138V13.2069V10ZM96.5862 13.2069H99.7931V16.4138V19.6207V22.8276V26.0345V29.2414H96.5862H93.3793H90.1724H86.9655H83.7586V26.0345V22.8276V19.6207V16.4138V13.2069H86.9655H90.1724H93.3793H96.5862ZM77.3448 10H74.1379H70.931H67.7241V13.2069H64.5172H61.3103V16.4138V19.6207H58.1034H54.8966V16.4138V13.2069V10H51.6897V13.2069H48.4828V10H45.2759H42.069V13.2069H38.8621V10H35.6552V13.2069H38.8621V16.4138H35.6552V19.6207H38.8621V22.8276H35.6552V26.0345H38.8621H42.069V29.2414V32.4483H38.8621V29.2414H35.6552V32.4483H38.8621V35.6552V38.8621H42.069H45.2759V35.6552H42.069V32.4483H45.2759V29.2414V26.0345V22.8276H48.4828V26.0345H51.6897V22.8276H54.8966H58.1034H61.3103V26.0345H58.1034V29.2414H54.8966V32.4483H51.6897V29.2414H48.4828V32.4483V35.6552V38.8621H51.6897V42.069H54.8966V38.8621H58.1034H61.3103V35.6552H64.5172V38.8621V42.069H67.7241V45.2759H70.931H74.1379V42.069H77.3448H80.5517V45.2759H83.7586V48.4828H80.5517V51.6897H83.7586V54.8966H80.5517H77.3448H74.1379V51.6897V48.4828H70.931V51.6897V54.8966V58.1034H74.1379V61.3103H77.3448V64.5172V67.7241H74.1379V70.931H70.931V67.7241H67.7241V70.931H64.5172V74.1379H67.7241V70.931H70.931V74.1379H74.1379V77.3448H70.931H67.7241V80.5517H64.5172V83.7586H61.3103V86.9655H58.1034V83.7586H54.8966V86.9655H58.1034V90.1724H54.8966V93.3793H51.6897V90.1724V86.9655V83.7586V80.5517V77.3448H48.4828V74.1379H51.6897V70.931H48.4828V74.1379H45.2759V70.931V67.7241H42.069V64.5172V61.3103H38.8621V58.1034V54.8966H42.069V51.6897H38.8621V48.4828H35.6552V45.2759H38.8621V42.069H35.6552V38.8621V35.6552H32.4483H29.2414H26.0345V38.8621H22.8276V42.069H19.6207V45.2759H22.8276V48.4828H26.0345V51.6897H22.8276H19.6207V48.4828H16.4138V45.2759H13.2069V48.4828H10V51.6897V54.8966H13.2069H16.4138V51.6897H19.6207V54.8966H22.8276H26.0345V58.1034H22.8276H19.6207V61.3103H16.4138V58.1034H13.2069V61.3103H10V64.5172V67.7241H13.2069H16.4138V70.931H13.2069H10V74.1379H13.2069H16.4138V77.3448H13.2069H10V80.5517H13.2069H16.4138V77.3448H19.6207V80.5517H22.8276V83.7586H19.6207V86.9655H16.4138V83.7586H13.2069H10V86.9655V90.1724H13.2069V86.9655H16.4138V90.1724H19.6207H22.8276H26.0345V93.3793H22.8276H19.6207H16.4138H13.2069V96.5862V99.7931H16.4138V96.5862H19.6207V99.7931H22.8276V103H26.0345V99.7931V96.5862H29.2414H32.4483V99.7931H29.2414V103H32.4483V99.7931H35.6552H38.8621V103H42.069H45.2759V99.7931H48.4828V103H51.6897V99.7931H54.8966H58.1034V103H61.3103H64.5172V99.7931H67.7241V103H70.931V99.7931H74.1379V96.5862H77.3448V93.3793V90.1724V86.9655H74.1379V83.7586V80.5517H77.3448V77.3448V74.1379H80.5517V77.3448H83.7586H86.9655H90.1724H93.3793V74.1379H96.5862V70.931V67.7241H93.3793V64.5172H90.1724V61.3103H93.3793H96.5862V64.5172H99.7931V67.7241V70.931V74.1379V77.3448H103V74.1379V70.931V67.7241V64.5172H99.7931V61.3103H96.5862V58.1034H99.7931V54.8966H103V51.6897H99.7931V54.8966H96.5862V58.1034H93.3793V54.8966H90.1724V58.1034V61.3103H86.9655V58.1034H83.7586V54.8966H86.9655V51.6897H90.1724H93.3793H96.5862V48.4828H93.3793V45.2759V42.069H96.5862V45.2759H99.7931V42.069H103V38.8621H99.7931V42.069H96.5862V38.8621V35.6552H93.3793H90.1724H86.9655V38.8621H90.1724V42.069V45.2759V48.4828H86.9655V45.2759V42.069H83.7586H80.5517V38.8621H83.7586V35.6552H80.5517V38.8621H77.3448V35.6552V32.4483V29.2414V26.0345H74.1379V22.8276H70.931V26.0345H74.1379V29.2414V32.4483V35.6552V38.8621H70.931H67.7241V35.6552H70.931V32.4483V29.2414H67.7241V26.0345V22.8276H64.5172V19.6207V16.4138H67.7241H70.931V19.6207H74.1379H77.3448V16.4138V13.2069V10ZM64.5172 29.2414H67.7241V32.4483H64.5172V29.2414ZM61.3103 29.2414V32.4483H58.1034V29.2414H61.3103ZM61.3103 29.2414H64.5172V26.0345H61.3103V29.2414ZM83.7586 58.1034V61.3103H80.5517V58.1034H83.7586ZM90.1724 64.5172V67.7241V70.931H93.3793V74.1379H90.1724H86.9655V70.931V67.7241H83.7586H80.5517V64.5172H83.7586H86.9655H90.1724ZM80.5517 74.1379V70.931H83.7586V74.1379H80.5517ZM70.931 90.1724V93.3793H74.1379V96.5862H70.931H67.7241V93.3793V90.1724H70.931ZM64.5172 90.1724V86.9655H67.7241V90.1724H64.5172ZM61.3103 93.3793V90.1724H64.5172V93.3793H61.3103ZM61.3103 93.3793V96.5862H64.5172V99.7931H61.3103H58.1034V96.5862V93.3793H61.3103ZM70.931 90.1724V86.9655H74.1379V90.1724H70.931ZM45.2759 99.7931H42.069H38.8621V96.5862H42.069V93.3793H45.2759H48.4828V96.5862H45.2759V99.7931ZM16.4138 74.1379V70.931H19.6207H22.8276H26.0345V74.1379H22.8276H19.6207H16.4138ZM13.2069 61.3103H16.4138V64.5172H13.2069V61.3103ZM29.2414 51.6897V54.8966H26.0345V51.6897H29.2414ZM29.2414 51.6897V48.4828H32.4483V51.6897H29.2414ZM22.8276 45.2759V42.069H26.0345V45.2759H22.8276ZM26.0345 58.1034H29.2414V61.3103H32.4483V58.1034H35.6552V61.3103H38.8621V64.5172H35.6552H32.4483H29.2414H26.0345H22.8276V61.3103H26.0345V58.1034ZM42.069 80.5517H38.8621V77.3448V74.1379V70.931H35.6552V74.1379H32.4483V70.931V67.7241H35.6552H38.8621H42.069V70.931V74.1379V77.3448V80.5517ZM42.069 86.9655V83.7586V80.5517H45.2759V77.3448H48.4828V80.5517V83.7586V86.9655V90.1724H45.2759V86.9655H42.069ZM42.069 86.9655V90.1724H38.8621V86.9655H42.069ZM54.8966 38.8621H51.6897V35.6552H54.8966V38.8621ZM42.069 13.2069V16.4138H45.2759V19.6207H48.4828V16.4138V13.2069H45.2759H42.069ZM58.1034 74.1379V70.931H61.3103V74.1379H58.1034ZM32.4483 10H29.2414H26.0345H22.8276H19.6207H16.4138H13.2069H10V13.2069V16.4138V19.6207V22.8276V26.0345V29.2414V32.4483H13.2069H16.4138H19.6207H22.8276H26.0345H29.2414H32.4483V29.2414V26.0345V22.8276V19.6207V16.4138V13.2069V10ZM26.0345 13.2069H29.2414V16.4138V19.6207V22.8276V26.0345V29.2414H26.0345H22.8276H19.6207H16.4138H13.2069V26.0345V22.8276V19.6207V16.4138V13.2069H16.4138H19.6207H22.8276H26.0345ZM96.5862 16.4138H93.3793H90.1724H86.9655V19.6207V22.8276V26.0345H90.1724H93.3793H96.5862V22.8276V19.6207V16.4138ZM26.0345 16.4138H22.8276H19.6207H16.4138V19.6207V22.8276V26.0345H19.6207H22.8276H26.0345V22.8276V19.6207V16.4138ZM19.6207 35.6552H16.4138H13.2069H10V38.8621V42.069H13.2069V38.8621H16.4138H19.6207V35.6552ZM32.4483 77.3448H35.6552V80.5517V83.7586V86.9655H32.4483H29.2414H26.0345V83.7586V80.5517V77.3448H29.2414H32.4483ZM61.3103 77.3448H58.1034V80.5517H61.3103V77.3448ZM103 80.5517H99.7931H96.5862H93.3793H90.1724H86.9655H83.7586H80.5517V83.7586V86.9655V90.1724V93.3793V96.5862V99.7931V103H83.7586H86.9655H90.1724H93.3793H96.5862H99.7931H103V99.7931V96.5862V93.3793V90.1724V86.9655V83.7586V80.5517ZM96.5862 83.7586H99.7931V86.9655V90.1724V93.3793V96.5862V99.7931H96.5862H93.3793H90.1724H86.9655H83.7586V96.5862V93.3793V90.1724V86.9655V83.7586H86.9655H90.1724H93.3793H96.5862ZM32.4483 80.5517H29.2414V83.7586H32.4483V80.5517ZM96.5862 86.9655H93.3793H90.1724H86.9655V90.1724V93.3793V96.5862H90.1724H93.3793H96.5862V93.3793V90.1724V86.9655ZM29.2414 90.1724H32.4483V93.3793H29.2414V90.1724Z" fill="#1C1B22"/>
-<path d="M66.2056 52.7475C65.7266 51.5785 64.7572 50.3139 63.9959 49.9148C64.6155 51.1492 64.9742 52.3872 65.1112 53.3113C65.1112 53.3113 65.1112 53.3177 65.1112 53.3299C63.8657 50.1757 61.7537 48.9037 60.0292 46.1343C59.9419 45.994 59.8551 45.8537 59.7678 45.7055C59.7192 45.621 59.6805 45.546 59.6465 45.4738C59.575 45.3332 59.5199 45.1847 59.4823 45.0312C59.4825 45.0239 59.48 45.0169 59.4754 45.0114C59.4707 45.0059 59.4643 45.0023 59.4572 45.0014C59.4503 44.9995 59.4431 44.9995 59.4363 45.0014L59.431 45.0046C59.4283 45.0057 59.4256 45.0071 59.4232 45.0088L59.4274 45.0025C56.6608 46.6497 55.7222 49.6954 55.6359 51.2193C54.5305 51.2961 53.4736 51.7098 52.6032 52.4064C52.512 52.3282 52.4167 52.2551 52.3177 52.1875C52.0667 51.2949 52.0561 50.3502 52.2868 49.452C51.1553 49.9754 50.2753 50.8033 49.6358 51.5339H49.6379C49.2012 50.9722 49.2321 49.1183 49.2567 48.731C49.2514 48.7071 48.9309 48.9 48.8906 48.9292C48.5053 49.2088 48.145 49.5224 47.814 49.8665C47.4375 50.2545 47.0935 50.6738 46.7855 51.12C46.0764 52.1399 45.5731 53.2924 45.3047 54.5111C45.2994 54.535 45.2947 54.5605 45.29 54.5849C45.2691 54.6832 45.1943 55.1763 45.1813 55.2837C45.1813 55.2916 45.1813 55.2996 45.1813 55.3081C45.0847 55.8177 45.0249 56.3338 45.0024 56.8522C45.0024 56.8714 45.0024 56.89 45.0024 56.9091C45.0024 63.0898 49.9338 68.1 56.0166 68.1C61.464 68.1 65.9876 64.0813 66.8728 58.8012C66.8916 58.6583 66.9063 58.5143 66.9251 58.3698C67.139 56.4516 66.8932 54.434 66.2056 52.7475ZM53.5109 61.5074C53.5632 61.5324 53.6108 61.5606 53.6636 61.5834L53.6709 61.5882C53.6176 61.5622 53.5642 61.5351 53.5109 61.5074ZM65.1154 53.3331V53.3219C65.1151 53.326 65.1151 53.3301 65.1154 53.3341V53.3331Z" fill="url(#paint0_linear_1186_7637)"/>
-<path d="M66.2063 52.7477C65.7273 51.5787 64.7579 50.3141 63.9966 49.915C64.6162 51.1494 64.9749 52.3874 65.1119 53.3115C65.1119 53.3088 65.1119 53.3115 65.1119 53.3221C65.1116 53.3262 65.1116 53.3302 65.1119 53.3343C66.1509 56.1973 65.5825 59.108 64.7689 60.887C63.5066 63.6394 60.4509 66.4604 55.6706 66.3228C50.5029 66.174 45.9506 62.2776 45.1009 57.1744C44.9441 56.3699 45.1009 55.9608 45.1788 55.3078C45.0837 55.8115 45.0476 55.9571 45 56.8519C45 56.871 45 56.8896 45 56.9087C45 63.0895 49.9314 68.0996 56.0141 68.0996C61.4616 68.0996 65.9851 64.081 66.8704 58.8009C66.8892 58.658 66.9038 58.514 66.9227 58.3694C67.1397 56.4518 66.8939 54.4342 66.2063 52.7477Z" fill="url(#paint1_radial_1186_7637)"/>
-<path d="M66.2063 52.7477C65.7273 51.5787 64.7579 50.3141 63.9966 49.915C64.6162 51.1494 64.9749 52.3874 65.1119 53.3115C65.1119 53.3088 65.1119 53.3115 65.1119 53.3221C65.1116 53.3262 65.1116 53.3302 65.1119 53.3343C66.1509 56.1973 65.5825 59.108 64.7689 60.887C63.5066 63.6394 60.4509 66.4604 55.6706 66.3228C50.5029 66.174 45.9506 62.2776 45.1009 57.1744C44.9441 56.3699 45.1009 55.9608 45.1788 55.3078C45.0837 55.8115 45.0476 55.9571 45 56.8519C45 56.871 45 56.8896 45 56.9087C45 63.0895 49.9314 68.0996 56.0141 68.0996C61.4616 68.0996 65.9851 64.081 66.8704 58.8009C66.8892 58.658 66.9038 58.514 66.9227 58.3694C67.1397 56.4518 66.8939 54.4342 66.2063 52.7477Z" fill="url(#paint2_radial_1186_7637)"/>
-<path d="M60.854 54.0624C60.878 54.0794 60.9 54.0964 60.9225 54.1155C60.6463 53.6162 60.3021 53.159 59.9002 52.7574C56.4763 49.2786 59.0024 45.2121 59.4296 45.0081L59.4338 45.0017C56.6672 46.6489 55.7286 49.6946 55.6423 51.2186C55.7704 51.2095 55.8986 51.1984 56.0293 51.1984C58.0926 51.1989 59.8913 52.3525 60.854 54.0624Z" fill="url(#paint3_radial_1186_7637)"/>
-<path d="M56.0574 54.7568C56.0396 55.0352 55.0717 55.9954 54.7329 55.9954C51.6008 55.9954 51.0925 57.9205 51.0925 57.9205C51.2311 59.5422 52.3417 60.8769 53.6871 61.5836C53.7483 61.616 53.8105 61.6453 53.8727 61.674C53.9804 61.7223 54.0882 61.7675 54.1964 61.8084C54.6575 61.9743 55.1404 62.0688 55.6291 62.089C61.1195 62.3509 62.1825 55.4194 58.2206 53.4066C59.2355 53.227 60.2886 53.642 60.8763 54.0618C59.9137 52.3519 58.1155 51.1978 56.0506 51.1978C55.9198 51.1978 55.7891 51.2089 55.6636 51.2179C54.5582 51.2947 53.5013 51.7084 52.6309 52.405C52.7987 52.5495 52.988 52.7424 53.3875 53.1425C54.1357 53.8907 56.0532 54.6654 56.0574 54.7568Z" fill="url(#paint4_radial_1186_7637)"/>
-<path d="M56.0574 54.7568C56.0396 55.0352 55.0717 55.9954 54.7329 55.9954C51.6008 55.9954 51.0925 57.9205 51.0925 57.9205C51.2311 59.5422 52.3417 60.8769 53.6871 61.5836C53.7483 61.616 53.8105 61.6453 53.8727 61.674C53.9804 61.7223 54.0882 61.7675 54.1964 61.8084C54.6575 61.9743 55.1404 62.0688 55.6291 62.089C61.1195 62.3509 62.1825 55.4194 58.2206 53.4066C59.2355 53.227 60.2886 53.642 60.8763 54.0618C59.9137 52.3519 58.1155 51.1978 56.0506 51.1978C55.9198 51.1978 55.7891 51.2089 55.6636 51.2179C54.5582 51.2947 53.5013 51.7084 52.6309 52.405C52.7987 52.5495 52.988 52.7424 53.3875 53.1425C54.1357 53.8907 56.0532 54.6654 56.0574 54.7568Z" fill="url(#paint5_radial_1186_7637)"/>
-<path d="M52.0962 52.0338C52.1856 52.0927 52.2594 52.14 52.3247 52.1873C52.0738 51.2947 52.0631 50.3501 52.2939 49.4519C51.1623 49.9753 50.2823 50.8031 49.6428 51.5338C49.6951 51.5353 51.2925 51.5029 52.0962 52.0338Z" fill="url(#paint6_radial_1186_7637)"/>
-<path d="M45.1022 57.1743C45.9519 62.2753 50.5041 66.1738 55.6719 66.3226C60.4547 66.4602 63.5105 63.6393 64.7701 60.8868C65.5858 59.1079 66.1521 56.1971 65.1132 53.3341V53.323C65.1132 53.315 65.1132 53.3097 65.1132 53.3124C65.1132 53.315 65.1132 53.3187 65.1132 53.331C65.5038 55.9234 64.2059 58.432 62.1777 60.1323L62.1714 60.1467C58.2189 63.4172 54.4368 62.1201 53.6708 61.5888C53.6185 61.5627 53.5662 61.5356 53.5108 61.508C51.2059 60.3884 50.2542 58.255 50.4581 56.4256C48.5125 56.4256 47.8489 54.7576 47.8489 54.7576C47.8489 54.7576 49.5959 53.492 51.8982 54.5929C54.031 55.6126 56.0337 54.7582 56.0337 54.7582C56.0295 54.6668 54.1126 53.8921 53.367 53.1439C52.9675 52.7443 52.7782 52.5515 52.6103 52.4069C52.5192 52.3287 52.4239 52.2557 52.3248 52.188C52.2595 52.1423 52.1858 52.0934 52.0963 52.0344C51.2932 51.5031 49.6958 51.5334 49.6429 51.5344H49.6388C49.2022 50.9728 49.233 49.1189 49.2576 48.7315C49.2524 48.7076 48.9318 48.9005 48.8916 48.9297C48.5062 49.2093 48.1459 49.523 47.8149 49.867C47.4384 50.2551 47.0944 50.6744 46.7864 51.1205C46.0774 52.1403 45.5741 53.2927 45.3056 54.5111C45.2988 54.5345 44.9092 56.2725 45.1022 57.1743Z" fill="url(#paint7_radial_1186_7637)"/>
-<path d="M59.9009 52.7576C60.3027 53.1586 60.6468 53.6151 60.9232 54.1136C60.9839 54.1599 61.0403 54.2061 61.0884 54.2507C63.5858 56.5887 62.2775 59.8958 62.1797 60.1312C64.208 58.4309 65.5058 55.9218 65.1152 53.3299C63.8697 50.1757 61.7577 48.9037 60.0332 46.1343C59.9459 45.994 59.8591 45.8537 59.7718 45.7055C59.7232 45.621 59.6845 45.546 59.6505 45.4738C59.579 45.3332 59.5239 45.1847 59.4863 45.0312C59.4865 45.0239 59.484 45.0169 59.4794 45.0114C59.4747 45.0059 59.4683 45.0023 59.4612 45.0014C59.4543 44.9995 59.4471 44.9995 59.4403 45.0014L59.4351 45.0046C59.4323 45.0057 59.4296 45.0071 59.4272 45.0088C59.0031 45.215 56.4771 49.2793 59.9009 52.7576Z" fill="url(#paint8_radial_1186_7637)"/>
-<path d="M61.0892 54.251C61.0411 54.2064 60.9846 54.1601 60.924 54.1139C60.9015 54.0964 60.8795 54.0794 60.8555 54.0608C60.2677 53.641 59.2146 53.2265 58.1997 53.4056C62.1616 55.4184 61.0981 62.3488 55.6083 62.0869C55.1194 62.067 54.6362 61.9724 54.175 61.8063C54.0673 61.7654 53.9596 61.7203 53.8519 61.6719C53.7897 61.6432 53.7274 61.614 53.6663 61.5816L53.6736 61.5864C54.4396 62.1177 58.2227 63.4148 62.1742 60.1443L62.1805 60.1299C62.2756 59.8961 63.5839 56.589 61.0892 54.251Z" fill="url(#paint9_radial_1186_7637)"/>
-<path d="M51.07 57.9207C51.07 57.9207 51.5783 55.9956 54.7104 55.9956C55.0492 55.9956 56.0176 55.036 56.0349 54.7576C56.0349 54.7576 54.0322 55.612 51.8994 54.5923C49.5986 53.4913 47.8501 54.757 47.8501 54.757C47.8501 54.757 48.5136 56.425 50.4593 56.425C50.2554 58.2544 51.207 60.3878 53.5119 61.5074C53.5642 61.5324 53.6118 61.5605 53.6646 61.5834C52.3192 60.8772 51.2076 59.5419 51.07 57.9207Z" fill="url(#paint10_radial_1186_7637)"/>
-<path d="M66.2057 52.7475C65.7268 51.5785 64.7573 50.3139 63.996 49.9148C64.6156 51.1492 64.9743 52.3872 65.1113 53.3113C65.1113 53.3113 65.1113 53.3177 65.1113 53.3299C63.8658 50.1757 61.7539 48.9037 60.0294 46.1343C59.942 45.994 59.8552 45.8537 59.7679 45.7055C59.7193 45.621 59.6806 45.546 59.6466 45.4738C59.5751 45.3332 59.52 45.1847 59.4824 45.0312C59.4826 45.0239 59.4802 45.0169 59.4755 45.0114C59.4709 45.0059 59.4644 45.0023 59.4573 45.0014C59.4505 44.9995 59.4433 44.9995 59.4364 45.0014L59.4312 45.0046C59.4284 45.0057 59.4258 45.0071 59.4233 45.0088L59.4275 45.0025C56.6609 46.6497 55.7223 49.6954 55.6361 51.2193C55.7642 51.2103 55.8923 51.1991 56.023 51.1991C58.0874 51.1991 59.8861 52.3527 60.8487 54.0626C60.261 53.6428 59.2079 53.2284 58.193 53.4074C62.1549 55.4202 61.0914 62.3507 55.6015 62.0887C55.1126 62.0688 54.6295 61.9743 54.1683 61.8082C54.0606 61.7673 53.9529 61.7221 53.8452 61.6738C53.7829 61.6451 53.7207 61.6158 53.6595 61.5834L53.6669 61.5882C53.6146 61.5622 53.5623 61.5351 53.5069 61.5074C53.5591 61.5324 53.6067 61.5606 53.6595 61.5834C52.3141 60.8772 51.202 59.542 51.065 57.9208C51.065 57.9208 51.5732 55.9957 54.7053 55.9957C55.0441 55.9957 56.0125 55.0361 56.0298 54.7576C56.0256 54.6662 54.1087 53.8915 53.3631 53.1434C52.9636 52.7438 52.7743 52.5509 52.6064 52.4064C52.5153 52.3282 52.42 52.2551 52.3209 52.1875C52.07 51.2949 52.0593 50.3502 52.2901 49.452C51.1586 49.9754 50.2785 50.8033 49.639 51.5339H49.638C49.2014 50.9722 49.2322 49.1183 49.2568 48.731C49.2516 48.7071 48.931 48.9 48.8908 48.9292C48.5054 49.2088 48.1451 49.5224 47.8142 49.8665C47.4376 50.2545 47.0936 50.6738 46.7856 51.12C46.0766 52.1399 45.5733 53.2924 45.3048 54.5111C45.2996 54.535 45.2949 54.5605 45.2902 54.5849C45.2693 54.6832 45.1762 55.1832 45.1631 55.2906C45.078 55.8073 45.0237 56.3288 45.0005 56.8522C45.0005 56.8714 45.0005 56.89 45.0005 56.9091C45.0005 63.0898 49.9319 68.1 56.0146 68.1C61.4621 68.1 65.9856 64.0813 66.8709 58.8012C66.8897 58.6583 66.9043 58.5143 66.9231 58.3698C67.1391 56.4516 66.8933 54.434 66.2057 52.7475ZM65.1155 53.3219C65.1153 53.326 65.1153 53.3301 65.1155 53.3341V53.3219Z" fill="url(#paint11_linear_1186_7637)"/>
-<defs>
-<linearGradient id="paint0_linear_1186_7637" x1="65.8887" y1="50.9308" x2="46.6588" y2="62.8511" gradientUnits="userSpaceOnUse">
-<stop stop-color="#9658F9"/>
-<stop offset="0.13" stop-color="#9356F4"/>
-<stop offset="0.29" stop-color="#8951E5"/>
-<stop offset="0.46" stop-color="#7A49CD"/>
-<stop offset="0.64" stop-color="#643DAB"/>
-<stop offset="0.82" stop-color="#492E81"/>
-<stop offset="1" stop-color="#291D4F"/>
-</linearGradient>
-<radialGradient id="paint1_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(63.1519 48.6778) rotate(112.511) scale(23.2839 24.3126)">
-<stop stop-color="#9658F9"/>
-<stop offset="0.65" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint2_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(57.8824 59.334) scale(22.9415 23.3129)">
-<stop offset="0.25" stop-color="#AB71FF" stop-opacity="0"/>
-<stop offset="0.42" stop-color="#9462E0" stop-opacity="0.18"/>
-<stop offset="0.73" stop-color="#573B8D" stop-opacity="0.65"/>
-<stop offset="0.94" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint3_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(60.6484 44.5148) scale(16.5843 16.8528)">
-<stop offset="0.18" stop-color="#9658F9"/>
-<stop offset="0.33" stop-color="#7E48EA"/>
-<stop offset="0.37" stop-color="#7542E5"/>
-<stop offset="0.41" stop-color="#6A3DD0"/>
-<stop offset="0.48" stop-color="#5332A2"/>
-<stop offset="0.56" stop-color="#41297E"/>
-<stop offset="0.63" stop-color="#342264"/>
-<stop offset="0.69" stop-color="#2C1E54"/>
-<stop offset="0.74" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint4_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(52.8479 62.089) scale(10.9331 11.1101)">
-<stop offset="0.07" stop-color="#9358FC"/>
-<stop offset="0.13" stop-color="#9857F8"/>
-<stop offset="0.21" stop-color="#A755EB"/>
-<stop offset="0.3" stop-color="#BF52D7"/>
-<stop offset="0.39" stop-color="#E14EBA"/>
-<stop offset="0.42" stop-color="#EF4CAF"/>
-<stop offset="0.74" stop-color="#FF7583"/>
-<stop offset="0.97" stop-color="#FFB753"/>
-</radialGradient>
-<radialGradient id="paint5_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(55.4787 54.1254) rotate(-14.1133) scale(5.79733 6.90775)">
-<stop offset="0.22" stop-color="#FFB653" stop-opacity="0.3"/>
-<stop offset="0.34" stop-color="#FF807A" stop-opacity="0.5"/>
-<stop offset="0.44" stop-color="#FF7781" stop-opacity="0.48"/>
-<stop offset="0.57" stop-color="#FF5C94" stop-opacity="0.43"/>
-<stop offset="0.64" stop-color="#FF4AA2" stop-opacity="0.4"/>
-<stop offset="0.86" stop-color="#9658F9" stop-opacity="0.3"/>
-</radialGradient>
-<radialGradient id="paint6_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(57.5929 48.8515) scale(7.85915 7.9864)">
-<stop offset="0.03" stop-color="#9658F9"/>
-<stop offset="0.62" stop-color="#7542E5"/>
-<stop offset="0.72" stop-color="#6339C2"/>
-<stop offset="0.93" stop-color="#37246B"/>
-<stop offset="1" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint7_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(58.8404 39.1507) rotate(102.662) scale(32.7229 25.3152)">
-<stop offset="0.2" stop-color="#AB71FF"/>
-<stop offset="0.29" stop-color="#A46BFC"/>
-<stop offset="0.41" stop-color="#9059F2"/>
-<stop offset="0.54" stop-color="#7542E5"/>
-<stop offset="0.64" stop-color="#6239BF"/>
-<stop offset="0.94" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint8_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(59.5059 49.1947) rotate(84.0697) scale(24.9532 16.1464)">
-<stop offset="0.09" stop-color="#9658F9"/>
-<stop offset="0.14" stop-color="#8C51F3"/>
-<stop offset="0.26" stop-color="#7542E5"/>
-<stop offset="0.29" stop-color="#6E3ED6"/>
-<stop offset="0.4" stop-color="#5533A6"/>
-<stop offset="0.5" stop-color="#422980"/>
-<stop offset="0.59" stop-color="#342365"/>
-<stop offset="0.67" stop-color="#2C1E55"/>
-<stop offset="0.74" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint9_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(57.4076 51.8087) scale(20.9312 21.2702)">
-<stop stop-color="#9658F9"/>
-<stop offset="0.12" stop-color="#9155F6"/>
-<stop offset="0.25" stop-color="#834CEE"/>
-<stop offset="0.34" stop-color="#7542E5"/>
-<stop offset="0.78" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint10_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(62.9339 53.0525) scale(22.862 23.2321)">
-<stop offset="0.19" stop-color="#9658F9"/>
-<stop offset="0.49" stop-color="#834BED"/>
-<stop offset="0.66" stop-color="#7542E5"/>
-<stop offset="0.7" stop-color="#6B3DD2"/>
-<stop offset="0.79" stop-color="#52319F"/>
-<stop offset="0.91" stop-color="#291D4F"/>
-</radialGradient>
-<linearGradient id="paint11_linear_1186_7637" x1="64.5267" y1="48.4823" x2="48.7204" y2="64.0368" gradientUnits="userSpaceOnUse">
-<stop stop-color="#9059FF" stop-opacity="0.9"/>
-<stop offset="0.61" stop-color="#291D4F" stop-opacity="0"/>
-</linearGradient>
-</defs>
-</svg>
diff -Nru a/browser/components/privatebrowsing/content/assets/klar-qr-code.svg b/browser/components/privatebrowsing/content/assets/klar-qr-code.svg
--- a/browser/components/privatebrowsing/content/assets/klar-qr-code.svg 2022-05-22 09:35:55.412674110 +0000
+++ b/browser/components/privatebrowsing/content/assets/klar-qr-code.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,114 +0,0 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<svg width="113" height="113" viewBox="0 0 113 113" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="113" height="113" rx="4" fill="white"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M4 2H109C110.105 2 111 2.89543 111 4V109C111 110.105 110.105 111 109 111H4C2.89543 111 2 110.105 2 109V4C2 2.89543 2.89543 2 4 2ZM0 4C0 1.79086 1.79086 0 4 0H109C111.209 0 113 1.79086 113 4V109C113 111.209 111.209 113 109 113H4C1.79086 113 0 111.209 0 109V4ZM103 10H99.7931H96.5862H93.3793H90.1724H86.9655H83.7586H80.5517V13.2069V16.4138V19.6207V22.8276V26.0345V29.2414V32.4483H83.7586H86.9655H90.1724H93.3793H96.5862H99.7931H103V29.2414V26.0345V22.8276V19.6207V16.4138V13.2069V10ZM96.5862 13.2069H99.7931V16.4138V19.6207V22.8276V26.0345V29.2414H96.5862H93.3793H90.1724H86.9655H83.7586V26.0345V22.8276V19.6207V16.4138V13.2069H86.9655H90.1724H93.3793H96.5862ZM70.931 10H67.7241V13.2069H64.5172V10H61.3103H58.1034V13.2069H54.8966V10H51.6897H48.4828H45.2759H42.069H38.8621V13.2069H35.6552V16.4138V19.6207H38.8621V22.8276H42.069V26.0345H38.8621H35.6552V29.2414V32.4483H38.8621V35.6552H35.6552V38.8621V42.069H32.4483V38.8621V35.6552H29.2414H26.0345V38.8621H22.8276H19.6207H16.4138V35.6552H13.2069V38.8621H10V42.069V45.2759V48.4828V51.6897V54.8966V58.1034V61.3103V64.5172V67.7241V70.931H13.2069V74.1379V77.3448H10V80.5517V83.7586H13.2069V86.9655H10V90.1724H13.2069V93.3793H10V96.5862V99.7931H13.2069V103H16.4138V99.7931V96.5862H19.6207V99.7931H22.8276V103H26.0345V99.7931H29.2414H32.4483V103H35.6552H38.8621H42.069H45.2759V99.7931V96.5862H48.4828H51.6897V99.7931H48.4828V103H51.6897H54.8966H58.1034V99.7931V96.5862V93.3793V90.1724H54.8966V86.9655H51.6897V90.1724H48.4828H45.2759V86.9655H48.4828V83.7586H45.2759V80.5517H48.4828H51.6897H54.8966V83.7586H58.1034V80.5517H61.3103V83.7586H64.5172V80.5517H61.3103V77.3448V74.1379H64.5172H67.7241H70.931V77.3448H67.7241V80.5517V83.7586V86.9655V90.1724V93.3793V96.5862H70.931V99.7931H67.7241V103H70.931H74.1379V99.7931V96.5862H70.931V93.3793V90.1724V86.9655H74.1379V90.1724H77.3448V86.9655V83.7586V80.5517V77.3448H80.5517H83.7586H86.9655H90.1724V74.1379V70.931V67.7241H86.9655V70.931V74.1379H83.7586H80.5517V70.931H83.7586V67.7241H80.5517V64.5172H83.7586H86.9655V61.3103H90.1724V64.5172H93.3793H96.5862V67.7241H99.7931H103V64.5172H99.7931H96.5862V61.3103V58.1034H99.7931V61.3103H103V58.1034H99.7931V54.8966H103V51.6897H99.7931V48.4828H103V45.2759V42.069V38.8621H99.7931H96.5862H93.3793V42.069H90.1724H86.9655V45.2759V48.4828H83.7586H80.5517V51.6897H77.3448V48.4828H74.1379V51.6897H70.931V54.8966V58.1034H74.1379V61.3103H70.931V64.5172V67.7241H74.1379V64.5172H77.3448V67.7241V70.931H74.1379H70.931H67.7241H64.5172H61.3103H58.1034V74.1379H54.8966V70.931H51.6897V74.1379H54.8966V77.3448H51.6897H48.4828V74.1379V70.931H45.2759V74.1379H42.069H38.8621H35.6552H32.4483H29.2414V70.931V67.7241V64.5172H26.0345H22.8276V67.7241H19.6207H16.4138V70.931H13.2069V67.7241V64.5172H16.4138V61.3103V58.1034H13.2069V54.8966V51.6897V48.4828H16.4138V45.2759H13.2069V42.069H16.4138H19.6207V45.2759H22.8276V42.069H26.0345H29.2414H32.4483V45.2759V48.4828H35.6552H38.8621V51.6897H42.069V48.4828V45.2759H45.2759V42.069H42.069V38.8621H45.2759V35.6552H48.4828V32.4483H51.6897V35.6552V38.8621V42.069H54.8966H58.1034H61.3103V38.8621H58.1034V35.6552H61.3103V32.4483H64.5172V29.2414H67.7241V32.4483H70.931V35.6552H74.1379H77.3448V38.8621H80.5517H83.7586H86.9655H90.1724V35.6552H86.9655H83.7586H80.5517H77.3448V32.4483V29.2414V26.0345H74.1379V22.8276H70.931V19.6207H74.1379V16.4138H77.3448V13.2069H74.1379V16.4138H70.931V13.2069V10ZM70.931 26.0345V22.8276H67.7241V19.6207H64.5172V16.4138H61.3103H58.1034H54.8966V19.6207H58.1034H61.3103V22.8276H64.5172H67.7241V26.0345H70.931ZM70.931 26.0345V29.2414V32.4483H74.1379V29.2414V26.0345H70.931ZM64.5172 29.2414V26.0345H61.3103H58.1034V29.2414V32.4483H61.3103V29.2414H64.5172ZM51.6897 29.2414H54.8966V32.4483H51.6897V29.2414ZM51.6897 29.2414V26.0345H48.4828V22.8276H51.6897V19.6207H48.4828H45.2759V16.4138H48.4828V13.2069H45.2759H42.069H38.8621V16.4138H42.069V19.6207V22.8276H45.2759V26.0345V29.2414V32.4483H48.4828V29.2414H51.6897ZM42.069 42.069H38.8621V45.2759H42.069V42.069ZM22.8276 90.1724H19.6207H16.4138V86.9655V83.7586H13.2069V80.5517V77.3448H16.4138V80.5517H19.6207V77.3448H16.4138V74.1379V70.931H19.6207H22.8276H26.0345V74.1379H22.8276V77.3448V80.5517V83.7586H19.6207V86.9655H22.8276V90.1724ZM80.5517 61.3103V64.5172H77.3448V61.3103H80.5517ZM86.9655 58.1034V61.3103H83.7586H80.5517V58.1034H83.7586H86.9655ZM86.9655 58.1034V54.8966H90.1724V58.1034H86.9655ZM80.5517 51.6897V54.8966H83.7586V51.6897H80.5517ZM96.5862 45.2759H99.7931V48.4828H96.5862V45.2759ZM93.3793 45.2759V42.069H96.5862V45.2759H93.3793ZM93.3793 45.2759V48.4828V51.6897H90.1724V48.4828V45.2759H93.3793ZM96.5862 58.1034V54.8966H93.3793V58.1034H96.5862ZM77.3448 77.3448V74.1379H74.1379V77.3448H77.3448ZM45.2759 83.7586V86.9655H42.069V83.7586H45.2759ZM32.4483 96.5862H29.2414H26.0345V99.7931H22.8276V96.5862V93.3793V90.1724H26.0345V93.3793H29.2414V90.1724H32.4483H35.6552H38.8621H42.069H45.2759V93.3793H42.069H38.8621H35.6552H32.4483V96.5862ZM51.6897 90.1724V93.3793V96.5862H54.8966V93.3793V90.1724H51.6897ZM32.4483 96.5862V99.7931H35.6552V96.5862H32.4483ZM42.069 38.8621H38.8621V35.6552H42.069V38.8621ZM38.8621 32.4483V29.2414H42.069V32.4483H38.8621ZM64.5172 38.8621V42.069H67.7241V38.8621V35.6552H64.5172V38.8621ZM32.4483 10H29.2414H26.0345H22.8276H19.6207H16.4138H13.2069H10V13.2069V16.4138V19.6207V22.8276V26.0345V29.2414V32.4483H13.2069H16.4138H19.6207H22.8276H26.0345H29.2414H32.4483V29.2414V26.0345V22.8276V19.6207V16.4138V13.2069V10ZM26.0345 13.2069H29.2414V16.4138V19.6207V22.8276V26.0345V29.2414H26.0345H22.8276H19.6207H16.4138H13.2069V26.0345V22.8276V19.6207V16.4138V13.2069H16.4138H19.6207H22.8276H26.0345ZM96.5862 16.4138H93.3793H90.1724H86.9655V19.6207V22.8276V26.0345H90.1724H93.3793H96.5862V22.8276V19.6207V16.4138ZM26.0345 16.4138H22.8276H19.6207H16.4138V19.6207V22.8276V26.0345H19.6207H22.8276H26.0345V22.8276V19.6207V16.4138ZM83.7586 42.069H80.5517V45.2759H83.7586V42.069ZM74.1379 42.069H70.931V45.2759H74.1379V42.069ZM29.2414 45.2759H26.0345V48.4828V51.6897H22.8276V48.4828H19.6207V51.6897H16.4138V54.8966H19.6207V51.6897H22.8276V54.8966V58.1034H19.6207V61.3103H22.8276V58.1034H26.0345V61.3103H29.2414V58.1034H32.4483H35.6552V61.3103H32.4483V64.5172V67.7241H35.6552V70.931H38.8621V67.7241V64.5172H35.6552V61.3103H38.8621V58.1034V54.8966H35.6552H32.4483V51.6897H29.2414V48.4828V45.2759ZM29.2414 51.6897V54.8966V58.1034H26.0345V54.8966V51.6897H29.2414ZM96.5862 70.931H93.3793V74.1379H96.5862V77.3448H99.7931H103V74.1379H99.7931H96.5862V70.931ZM32.4483 77.3448H35.6552V80.5517V83.7586V86.9655H32.4483H29.2414H26.0345V83.7586V80.5517V77.3448H29.2414H32.4483ZM70.931 80.5517H74.1379V83.7586H70.931V80.5517ZM103 80.5517H99.7931H96.5862H93.3793H90.1724H86.9655H83.7586H80.5517V83.7586V86.9655V90.1724V93.3793V96.5862V99.7931V103H83.7586H86.9655H90.1724H93.3793H96.5862H99.7931H103V99.7931V96.5862V93.3793V90.1724V86.9655V83.7586V80.5517ZM96.5862 83.7586H99.7931V86.9655V90.1724V93.3793V96.5862V99.7931H96.5862H93.3793H90.1724H86.9655H83.7586V96.5862V93.3793V90.1724V86.9655V83.7586H86.9655H90.1724H93.3793H96.5862ZM32.4483 80.5517H29.2414V83.7586H32.4483V80.5517ZM96.5862 86.9655H93.3793H90.1724H86.9655V90.1724V93.3793V96.5862H90.1724H93.3793H96.5862V93.3793V90.1724V86.9655ZM64.5172 90.1724H61.3103V93.3793V96.5862V99.7931V103H64.5172V99.7931V96.5862V93.3793V90.1724Z" fill="#1C1B22"/>
-<path d="M66.2056 52.7475C65.7266 51.5785 64.7572 50.3139 63.9959 49.9148C64.6155 51.1492 64.9742 52.3872 65.1112 53.3113C65.1112 53.3113 65.1112 53.3177 65.1112 53.3299C63.8657 50.1757 61.7537 48.9037 60.0292 46.1343C59.9419 45.994 59.8551 45.8537 59.7678 45.7055C59.7192 45.621 59.6805 45.546 59.6465 45.4738C59.575 45.3332 59.5199 45.1847 59.4823 45.0312C59.4825 45.0239 59.48 45.0169 59.4754 45.0114C59.4707 45.0059 59.4643 45.0023 59.4572 45.0014C59.4503 44.9995 59.4431 44.9995 59.4363 45.0014L59.431 45.0046C59.4283 45.0057 59.4256 45.0071 59.4232 45.0088L59.4274 45.0025C56.6608 46.6497 55.7222 49.6954 55.6359 51.2193C54.5305 51.2961 53.4736 51.7098 52.6032 52.4064C52.512 52.3282 52.4167 52.2551 52.3177 52.1875C52.0667 51.2949 52.0561 50.3502 52.2868 49.452C51.1553 49.9754 50.2753 50.8033 49.6358 51.5339H49.6379C49.2012 50.9722 49.2321 49.1183 49.2567 48.731C49.2514 48.7071 48.9309 48.9 48.8906 48.9292C48.5053 49.2088 48.145 49.5224 47.814 49.8665C47.4375 50.2545 47.0935 50.6738 46.7855 51.12C46.0764 52.1399 45.5731 53.2924 45.3047 54.5111C45.2994 54.535 45.2947 54.5605 45.29 54.5849C45.2691 54.6832 45.1943 55.1763 45.1813 55.2837C45.1813 55.2916 45.1813 55.2996 45.1813 55.3081C45.0847 55.8177 45.0249 56.3338 45.0024 56.8522C45.0024 56.8714 45.0024 56.89 45.0024 56.9091C45.0024 63.0898 49.9338 68.1 56.0166 68.1C61.464 68.1 65.9876 64.0813 66.8728 58.8012C66.8916 58.6583 66.9063 58.5143 66.9251 58.3698C67.139 56.4516 66.8932 54.434 66.2056 52.7475ZM53.5109 61.5074C53.5632 61.5324 53.6108 61.5606 53.6636 61.5834L53.6709 61.5882C53.6176 61.5622 53.5642 61.5351 53.5109 61.5074ZM65.1154 53.3331V53.3219C65.1151 53.326 65.1151 53.3301 65.1154 53.3341V53.3331Z" fill="url(#paint0_linear_1186_7637)"/>
-<path d="M66.2063 52.7477C65.7273 51.5787 64.7579 50.3141 63.9966 49.915C64.6162 51.1494 64.9749 52.3874 65.1119 53.3115C65.1119 53.3088 65.1119 53.3115 65.1119 53.3221C65.1116 53.3262 65.1116 53.3302 65.1119 53.3343C66.1509 56.1973 65.5825 59.108 64.7689 60.887C63.5066 63.6394 60.4509 66.4604 55.6706 66.3228C50.5029 66.174 45.9506 62.2776 45.1009 57.1744C44.9441 56.3699 45.1009 55.9608 45.1788 55.3078C45.0837 55.8115 45.0476 55.9571 45 56.8519C45 56.871 45 56.8896 45 56.9087C45 63.0895 49.9314 68.0996 56.0141 68.0996C61.4616 68.0996 65.9851 64.081 66.8704 58.8009C66.8892 58.658 66.9038 58.514 66.9227 58.3694C67.1397 56.4518 66.8939 54.4342 66.2063 52.7477Z" fill="url(#paint1_radial_1186_7637)"/>
-<path d="M66.2063 52.7477C65.7273 51.5787 64.7579 50.3141 63.9966 49.915C64.6162 51.1494 64.9749 52.3874 65.1119 53.3115C65.1119 53.3088 65.1119 53.3115 65.1119 53.3221C65.1116 53.3262 65.1116 53.3302 65.1119 53.3343C66.1509 56.1973 65.5825 59.108 64.7689 60.887C63.5066 63.6394 60.4509 66.4604 55.6706 66.3228C50.5029 66.174 45.9506 62.2776 45.1009 57.1744C44.9441 56.3699 45.1009 55.9608 45.1788 55.3078C45.0837 55.8115 45.0476 55.9571 45 56.8519C45 56.871 45 56.8896 45 56.9087C45 63.0895 49.9314 68.0996 56.0141 68.0996C61.4616 68.0996 65.9851 64.081 66.8704 58.8009C66.8892 58.658 66.9038 58.514 66.9227 58.3694C67.1397 56.4518 66.8939 54.4342 66.2063 52.7477Z" fill="url(#paint2_radial_1186_7637)"/>
-<path d="M60.854 54.0624C60.878 54.0794 60.9 54.0964 60.9225 54.1155C60.6463 53.6162 60.3021 53.159 59.9002 52.7574C56.4763 49.2786 59.0024 45.2121 59.4296 45.0081L59.4338 45.0017C56.6672 46.6489 55.7286 49.6946 55.6423 51.2186C55.7704 51.2095 55.8986 51.1984 56.0293 51.1984C58.0926 51.1989 59.8913 52.3525 60.854 54.0624Z" fill="url(#paint3_radial_1186_7637)"/>
-<path d="M56.0574 54.7568C56.0396 55.0352 55.0717 55.9954 54.7329 55.9954C51.6008 55.9954 51.0925 57.9205 51.0925 57.9205C51.2311 59.5422 52.3417 60.8769 53.6871 61.5836C53.7483 61.616 53.8105 61.6453 53.8727 61.674C53.9804 61.7223 54.0882 61.7675 54.1964 61.8084C54.6575 61.9743 55.1404 62.0688 55.6291 62.089C61.1195 62.3509 62.1825 55.4194 58.2206 53.4066C59.2355 53.227 60.2886 53.642 60.8763 54.0618C59.9137 52.3519 58.1155 51.1978 56.0506 51.1978C55.9198 51.1978 55.7891 51.2089 55.6636 51.2179C54.5582 51.2947 53.5013 51.7084 52.6309 52.405C52.7987 52.5495 52.988 52.7424 53.3875 53.1425C54.1357 53.8907 56.0532 54.6654 56.0574 54.7568Z" fill="url(#paint4_radial_1186_7637)"/>
-<path d="M56.0574 54.7568C56.0396 55.0352 55.0717 55.9954 54.7329 55.9954C51.6008 55.9954 51.0925 57.9205 51.0925 57.9205C51.2311 59.5422 52.3417 60.8769 53.6871 61.5836C53.7483 61.616 53.8105 61.6453 53.8727 61.674C53.9804 61.7223 54.0882 61.7675 54.1964 61.8084C54.6575 61.9743 55.1404 62.0688 55.6291 62.089C61.1195 62.3509 62.1825 55.4194 58.2206 53.4066C59.2355 53.227 60.2886 53.642 60.8763 54.0618C59.9137 52.3519 58.1155 51.1978 56.0506 51.1978C55.9198 51.1978 55.7891 51.2089 55.6636 51.2179C54.5582 51.2947 53.5013 51.7084 52.6309 52.405C52.7987 52.5495 52.988 52.7424 53.3875 53.1425C54.1357 53.8907 56.0532 54.6654 56.0574 54.7568Z" fill="url(#paint5_radial_1186_7637)"/>
-<path d="M52.0962 52.0338C52.1856 52.0927 52.2594 52.14 52.3247 52.1873C52.0738 51.2947 52.0631 50.3501 52.2939 49.4519C51.1623 49.9753 50.2823 50.8031 49.6428 51.5338C49.6951 51.5353 51.2925 51.5029 52.0962 52.0338Z" fill="url(#paint6_radial_1186_7637)"/>
-<path d="M45.1022 57.1743C45.9519 62.2753 50.5041 66.1738 55.6719 66.3226C60.4547 66.4602 63.5105 63.6393 64.7701 60.8868C65.5858 59.1079 66.1521 56.1971 65.1132 53.3341V53.323C65.1132 53.315 65.1132 53.3097 65.1132 53.3124C65.1132 53.315 65.1132 53.3187 65.1132 53.331C65.5038 55.9234 64.2059 58.432 62.1777 60.1323L62.1714 60.1467C58.2189 63.4172 54.4368 62.1201 53.6708 61.5888C53.6185 61.5627 53.5662 61.5356 53.5108 61.508C51.2059 60.3884 50.2542 58.255 50.4581 56.4256C48.5125 56.4256 47.8489 54.7576 47.8489 54.7576C47.8489 54.7576 49.5959 53.492 51.8982 54.5929C54.031 55.6126 56.0337 54.7582 56.0337 54.7582C56.0295 54.6668 54.1126 53.8921 53.367 53.1439C52.9675 52.7443 52.7782 52.5515 52.6103 52.4069C52.5192 52.3287 52.4239 52.2557 52.3248 52.188C52.2595 52.1423 52.1858 52.0934 52.0963 52.0344C51.2932 51.5031 49.6958 51.5334 49.6429 51.5344H49.6388C49.2022 50.9728 49.233 49.1189 49.2576 48.7315C49.2524 48.7076 48.9318 48.9005 48.8916 48.9297C48.5062 49.2093 48.1459 49.523 47.8149 49.867C47.4384 50.2551 47.0944 50.6744 46.7864 51.1205C46.0774 52.1403 45.5741 53.2927 45.3056 54.5111C45.2988 54.5345 44.9092 56.2725 45.1022 57.1743Z" fill="url(#paint7_radial_1186_7637)"/>
-<path d="M59.9009 52.7576C60.3027 53.1586 60.6468 53.6151 60.9232 54.1136C60.9839 54.1599 61.0403 54.2061 61.0884 54.2507C63.5858 56.5887 62.2775 59.8958 62.1797 60.1312C64.208 58.4309 65.5058 55.9218 65.1152 53.3299C63.8697 50.1757 61.7577 48.9037 60.0332 46.1343C59.9459 45.994 59.8591 45.8537 59.7718 45.7055C59.7232 45.621 59.6845 45.546 59.6505 45.4738C59.579 45.3332 59.5239 45.1847 59.4863 45.0312C59.4865 45.0239 59.484 45.0169 59.4794 45.0114C59.4747 45.0059 59.4683 45.0023 59.4612 45.0014C59.4543 44.9995 59.4471 44.9995 59.4403 45.0014L59.4351 45.0046C59.4323 45.0057 59.4296 45.0071 59.4272 45.0088C59.0031 45.215 56.4771 49.2793 59.9009 52.7576Z" fill="url(#paint8_radial_1186_7637)"/>
-<path d="M61.0892 54.251C61.0411 54.2064 60.9846 54.1601 60.924 54.1139C60.9015 54.0964 60.8795 54.0794 60.8555 54.0608C60.2677 53.641 59.2146 53.2265 58.1997 53.4056C62.1616 55.4184 61.0981 62.3488 55.6083 62.0869C55.1194 62.067 54.6362 61.9724 54.175 61.8063C54.0673 61.7654 53.9596 61.7203 53.8519 61.6719C53.7897 61.6432 53.7274 61.614 53.6663 61.5816L53.6736 61.5864C54.4396 62.1177 58.2227 63.4148 62.1742 60.1443L62.1805 60.1299C62.2756 59.8961 63.5839 56.589 61.0892 54.251Z" fill="url(#paint9_radial_1186_7637)"/>
-<path d="M51.07 57.9207C51.07 57.9207 51.5783 55.9956 54.7104 55.9956C55.0492 55.9956 56.0176 55.036 56.0349 54.7576C56.0349 54.7576 54.0322 55.612 51.8994 54.5923C49.5986 53.4913 47.8501 54.757 47.8501 54.757C47.8501 54.757 48.5136 56.425 50.4593 56.425C50.2554 58.2544 51.207 60.3878 53.5119 61.5074C53.5642 61.5324 53.6118 61.5605 53.6646 61.5834C52.3192 60.8772 51.2076 59.5419 51.07 57.9207Z" fill="url(#paint10_radial_1186_7637)"/>
-<path d="M66.2057 52.7475C65.7268 51.5785 64.7573 50.3139 63.996 49.9148C64.6156 51.1492 64.9743 52.3872 65.1113 53.3113C65.1113 53.3113 65.1113 53.3177 65.1113 53.3299C63.8658 50.1757 61.7539 48.9037 60.0294 46.1343C59.942 45.994 59.8552 45.8537 59.7679 45.7055C59.7193 45.621 59.6806 45.546 59.6466 45.4738C59.5751 45.3332 59.52 45.1847 59.4824 45.0312C59.4826 45.0239 59.4802 45.0169 59.4755 45.0114C59.4709 45.0059 59.4644 45.0023 59.4573 45.0014C59.4505 44.9995 59.4433 44.9995 59.4364 45.0014L59.4312 45.0046C59.4284 45.0057 59.4258 45.0071 59.4233 45.0088L59.4275 45.0025C56.6609 46.6497 55.7223 49.6954 55.6361 51.2193C55.7642 51.2103 55.8923 51.1991 56.023 51.1991C58.0874 51.1991 59.8861 52.3527 60.8487 54.0626C60.261 53.6428 59.2079 53.2284 58.193 53.4074C62.1549 55.4202 61.0914 62.3507 55.6015 62.0887C55.1126 62.0688 54.6295 61.9743 54.1683 61.8082C54.0606 61.7673 53.9529 61.7221 53.8452 61.6738C53.7829 61.6451 53.7207 61.6158 53.6595 61.5834L53.6669 61.5882C53.6146 61.5622 53.5623 61.5351 53.5069 61.5074C53.5591 61.5324 53.6067 61.5606 53.6595 61.5834C52.3141 60.8772 51.202 59.542 51.065 57.9208C51.065 57.9208 51.5732 55.9957 54.7053 55.9957C55.0441 55.9957 56.0125 55.0361 56.0298 54.7576C56.0256 54.6662 54.1087 53.8915 53.3631 53.1434C52.9636 52.7438 52.7743 52.5509 52.6064 52.4064C52.5153 52.3282 52.42 52.2551 52.3209 52.1875C52.07 51.2949 52.0593 50.3502 52.2901 49.452C51.1586 49.9754 50.2785 50.8033 49.639 51.5339H49.638C49.2014 50.9722 49.2322 49.1183 49.2568 48.731C49.2516 48.7071 48.931 48.9 48.8908 48.9292C48.5054 49.2088 48.1451 49.5224 47.8142 49.8665C47.4376 50.2545 47.0936 50.6738 46.7856 51.12C46.0766 52.1399 45.5733 53.2924 45.3048 54.5111C45.2996 54.535 45.2949 54.5605 45.2902 54.5849C45.2693 54.6832 45.1762 55.1832 45.1631 55.2906C45.078 55.8073 45.0237 56.3288 45.0005 56.8522C45.0005 56.8714 45.0005 56.89 45.0005 56.9091C45.0005 63.0898 49.9319 68.1 56.0146 68.1C61.4621 68.1 65.9856 64.0813 66.8709 58.8012C66.8897 58.6583 66.9043 58.5143 66.9231 58.3698C67.1391 56.4516 66.8933 54.434 66.2057 52.7475ZM65.1155 53.3219C65.1153 53.326 65.1153 53.3301 65.1155 53.3341V53.3219Z" fill="url(#paint11_linear_1186_7637)"/>
-<defs>
-<linearGradient id="paint0_linear_1186_7637" x1="65.8887" y1="50.9308" x2="46.6588" y2="62.8511" gradientUnits="userSpaceOnUse">
-<stop stop-color="#9658F9"/>
-<stop offset="0.13" stop-color="#9356F4"/>
-<stop offset="0.29" stop-color="#8951E5"/>
-<stop offset="0.46" stop-color="#7A49CD"/>
-<stop offset="0.64" stop-color="#643DAB"/>
-<stop offset="0.82" stop-color="#492E81"/>
-<stop offset="1" stop-color="#291D4F"/>
-</linearGradient>
-<radialGradient id="paint1_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(63.1519 48.6778) rotate(112.511) scale(23.2839 24.3126)">
-<stop stop-color="#9658F9"/>
-<stop offset="0.65" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint2_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(57.8824 59.334) scale(22.9415 23.3129)">
-<stop offset="0.25" stop-color="#AB71FF" stop-opacity="0"/>
-<stop offset="0.42" stop-color="#9462E0" stop-opacity="0.18"/>
-<stop offset="0.73" stop-color="#573B8D" stop-opacity="0.65"/>
-<stop offset="0.94" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint3_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(60.6484 44.5148) scale(16.5843 16.8528)">
-<stop offset="0.18" stop-color="#9658F9"/>
-<stop offset="0.33" stop-color="#7E48EA"/>
-<stop offset="0.37" stop-color="#7542E5"/>
-<stop offset="0.41" stop-color="#6A3DD0"/>
-<stop offset="0.48" stop-color="#5332A2"/>
-<stop offset="0.56" stop-color="#41297E"/>
-<stop offset="0.63" stop-color="#342264"/>
-<stop offset="0.69" stop-color="#2C1E54"/>
-<stop offset="0.74" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint4_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(52.8479 62.089) scale(10.9331 11.1101)">
-<stop offset="0.07" stop-color="#9358FC"/>
-<stop offset="0.13" stop-color="#9857F8"/>
-<stop offset="0.21" stop-color="#A755EB"/>
-<stop offset="0.3" stop-color="#BF52D7"/>
-<stop offset="0.39" stop-color="#E14EBA"/>
-<stop offset="0.42" stop-color="#EF4CAF"/>
-<stop offset="0.74" stop-color="#FF7583"/>
-<stop offset="0.97" stop-color="#FFB753"/>
-</radialGradient>
-<radialGradient id="paint5_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(55.4787 54.1254) rotate(-14.1133) scale(5.79733 6.90775)">
-<stop offset="0.22" stop-color="#FFB653" stop-opacity="0.3"/>
-<stop offset="0.34" stop-color="#FF807A" stop-opacity="0.5"/>
-<stop offset="0.44" stop-color="#FF7781" stop-opacity="0.48"/>
-<stop offset="0.57" stop-color="#FF5C94" stop-opacity="0.43"/>
-<stop offset="0.64" stop-color="#FF4AA2" stop-opacity="0.4"/>
-<stop offset="0.86" stop-color="#9658F9" stop-opacity="0.3"/>
-</radialGradient>
-<radialGradient id="paint6_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(57.5929 48.8515) scale(7.85915 7.9864)">
-<stop offset="0.03" stop-color="#9658F9"/>
-<stop offset="0.62" stop-color="#7542E5"/>
-<stop offset="0.72" stop-color="#6339C2"/>
-<stop offset="0.93" stop-color="#37246B"/>
-<stop offset="1" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint7_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(58.8404 39.1507) rotate(102.662) scale(32.7229 25.3152)">
-<stop offset="0.2" stop-color="#AB71FF"/>
-<stop offset="0.29" stop-color="#A46BFC"/>
-<stop offset="0.41" stop-color="#9059F2"/>
-<stop offset="0.54" stop-color="#7542E5"/>
-<stop offset="0.64" stop-color="#6239BF"/>
-<stop offset="0.94" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint8_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(59.5059 49.1947) rotate(84.0697) scale(24.9532 16.1464)">
-<stop offset="0.09" stop-color="#9658F9"/>
-<stop offset="0.14" stop-color="#8C51F3"/>
-<stop offset="0.26" stop-color="#7542E5"/>
-<stop offset="0.29" stop-color="#6E3ED6"/>
-<stop offset="0.4" stop-color="#5533A6"/>
-<stop offset="0.5" stop-color="#422980"/>
-<stop offset="0.59" stop-color="#342365"/>
-<stop offset="0.67" stop-color="#2C1E55"/>
-<stop offset="0.74" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint9_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(57.4076 51.8087) scale(20.9312 21.2702)">
-<stop stop-color="#9658F9"/>
-<stop offset="0.12" stop-color="#9155F6"/>
-<stop offset="0.25" stop-color="#834CEE"/>
-<stop offset="0.34" stop-color="#7542E5"/>
-<stop offset="0.78" stop-color="#291D4F"/>
-</radialGradient>
-<radialGradient id="paint10_radial_1186_7637" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(62.9339 53.0525) scale(22.862 23.2321)">
-<stop offset="0.19" stop-color="#9658F9"/>
-<stop offset="0.49" stop-color="#834BED"/>
-<stop offset="0.66" stop-color="#7542E5"/>
-<stop offset="0.7" stop-color="#6B3DD2"/>
-<stop offset="0.79" stop-color="#52319F"/>
-<stop offset="0.91" stop-color="#291D4F"/>
-</radialGradient>
-<linearGradient id="paint11_linear_1186_7637" x1="64.5267" y1="48.4823" x2="48.7204" y2="64.0368" gradientUnits="userSpaceOnUse">
-<stop stop-color="#9059FF" stop-opacity="0.9"/>
-<stop offset="0.61" stop-color="#291D4F" stop-opacity="0"/>
-</linearGradient>
-</defs>
-</svg>
diff --git a/browser/base/content/test/static/browser_all_files_referenced.js b/browser/base/content/test/static/browser_all_files_referenced.js
index 3888af10..1d6c606f 100644
--- a/browser/base/content/test/static/browser_all_files_referenced.js
+++ b/browser/base/content/test/static/browser_all_files_referenced.js
@@ -41,8 +41,6 @@ var gExceptionPaths = [
"chrome://activity-stream/content/data/content/assets/euo-chatbot.svg",
"chrome://browser/content/assets/moz-vpn.svg",
"chrome://browser/content/assets/vpn-logo.svg",
- "chrome://browser/content/assets/focus-promo.png",
- "chrome://browser/content/assets/klar-qr-code.svg",
"chrome://browser/content/asrouter/assets/fox-with-box-on-cloud.svg",
"chrome://browser/content/asrouter/assets/fox-with-devices.svg",
"chrome://browser/content/asrouter/assets/fox-with-locked-box.svg",
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index 391bc93e..df6b3f84 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1718,19 +1718,19 @@ pref("browser.topsites.component.enabled", false);
pref("browser.topsites.useRemoteSetting", true);
// Fetch sponsored Top Sites from Mozilla Tiles Service (Contile)
-pref("browser.topsites.contile.enabled", true);
-pref("browser.topsites.contile.endpoint", "https://contile.services.mozilla.com/v1/tiles");
+pref("browser.topsites.contile.enabled", false);
+pref("browser.topsites.contile.endpoint", "");
// Whether to enable the Share-of-Voice feature for Sponsored Topsites via Contile.
-pref("browser.topsites.contile.sov.enabled", true);
+pref("browser.topsites.contile.sov.enabled", false);
// The base URL for the Quick Suggest anonymizing proxy. To make a request to
// the proxy, include a campaign ID in the path.
-pref("browser.partnerlink.attributionURL", "https://topsites.services.mozilla.com/cid/");
-pref("browser.partnerlink.campaign.topsites", "amzn_2020_a1");
+pref("browser.partnerlink.attributionURL", "");
+pref("browser.partnerlink.campaign.topsites", "");
// Activates preloading of the new tab url.
-pref("browser.newtab.preload", true);
+pref("browser.newtab.preload", false);
// Mozilla Ad Routing Service (MARS) unified ads service
pref("browser.newtabpage.activity-stream.unifiedAds.tiles.enabled", false);
@@ -1738,12 +1738,12 @@ pref("browser.newtabpage.activity-stream.unifiedAds.spocs.enabled", false);
pref("browser.newtabpage.activity-stream.unifiedAds.endpoint", "https://ads.mozilla.org/");
// Weather widget for newtab
-pref("browser.newtabpage.activity-stream.showWeather", true);
+pref("browser.newtabpage.activity-stream.showWeather", false);
pref("browser.newtabpage.activity-stream.weather.query", "");
pref("browser.newtabpage.activity-stream.weather.display", "simple");
// enable location search for newtab weather widget
-pref("browser.newtabpage.activity-stream.weather.locationSearchEnabled", true);
+pref("browser.newtabpage.activity-stream.weather.locationSearchEnabled", false);
// List of regions that get weather by default.
pref("browser.newtabpage.activity-stream.discoverystream.region-weather-config", "US,CA");
Patch-Source: https://github.com/chimera-linux/cports/blob/0b7b1b1/contrib/firefox/patches/sqlite-ppc.patch
From 67157b1aa7da0a146b7d2d5abb9237eea1f434ec Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Fri, 23 Sep 2022 02:38:29 +0200
Subject: [PATCH] fix sqlite3 on ppc with clang
The __ppc__ macro is always defined on clang but not gcc, which
results in sqlite mistakenly thinking that ppc64le with clang
is big endian.
Also disable some inline assembly stuff on ppc that is never used
with gcc and probably was never tested with modern machines.
---
third_party/sqlite3/src/sqlite3.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/third_party/sqlite3/src/sqlite3.c b/third_party/sqlite3/src/sqlite3.c
index dd3b5c5..7339893 100644
--- a/third_party/sqlite3/src/sqlite3.c
+++ b/third_party/sqlite3/src/sqlite3.c
@@ -14875,9 +14875,9 @@ typedef INT16_TYPE LogEst;
# elif defined(i386) || defined(__i386__) || defined(_M_IX86) || \
defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \
defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \
- defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64)
+ defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || defined(__LITTLE_ENDIAN__)
# define SQLITE_BYTEORDER 1234
-# elif defined(sparc) || defined(__ARMEB__) || defined(__AARCH64EB__)
+# elif defined(sparc) || defined(__ARMEB__) || defined(__AARCH64EB__) || defined(__BIG_ENDIAN__)
# define SQLITE_BYTEORDER 4321
# else
# define SQLITE_BYTEORDER 0
@@ -35670,7 +35670,7 @@ SQLITE_PRIVATE int sqlite3VListNameToNum(VList *pIn, const char *zName, int nNam
return (sqlite_uint64)hi << 32 | lo;
}
-#elif !defined(__STRICT_ANSI__) && (defined(__GNUC__) && defined(__ppc__))
+#elif 0
__inline__ sqlite_uint64 sqlite3Hwtime(void){
unsigned long long retval;
@@ -207003,9 +207003,9 @@ struct RtreeMatchArg {
# elif defined(i386) || defined(__i386__) || defined(_M_IX86) || \
defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \
defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \
- defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64)
+ defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || defined(__LITTLE_ENDIAN__)
# define SQLITE_BYTEORDER 1234
-# elif defined(sparc) || defined(__ARMEB__) || defined(__AARCH64EB__)
+# elif defined(sparc) || defined(__ARMEB__) || defined(__AARCH64EB__) || defined(__BIG_ENDIAN__)
# define SQLITE_BYTEORDER 4321
# else
# define SQLITE_BYTEORDER 0
# WIP - Help needed
URL customizations requires to comprehend the scope to handle the documentation for this
and other projects heavily customizing and rebranding Firefox like Abrowser does.
This patch documents how to handle custom URLs to point to a desired page (initially).
It replaces,
* is="moz-support-link"
* support-page="..."
to customize the default URL, making sure there is an id for l10n field,
* data-l10n-id="..."
so the corresponding message is displayed as it seems to be linked on some cases
with is="" and support-page="..."
Cheers!
diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml_
index 77ea8f5d..62c3ce8e 100644
--- a/browser/components/preferences/privacy.inc.xhtml
+++ b/browser/components/preferences/privacy.inc.xhtml
@@ -372,10 +372,7 @@
support-page="global-privacy-control" />
</hbox>
<hbox id="doNotTrackBox" flex="1" align="center" hidden="true">
- <html:a is="moz-support-link"
- id="doNotTrackRemoval"
- support-page="how-do-i-turn-do-not-track-feature"
- data-l10n-id="do-not-track-removal" />
+ <html:a class="learnMore" href="https://trisquel.info/en/wiki/abrowser-help" target="_blank"/>
</hbox>
</vbox>
</groupbox>
@@ -388,11 +385,10 @@
<vbox flex="1">
<description class="description-with-side-element description-deemphasized" flex="1">
<html:span id="totalSiteDataSize"></html:span>
- <html:a is="moz-support-link"
- id="siteDataLearnMoreLink"
- data-l10n-id="sitedata-learn-more"
- support-page="storage-permissions"
- />
+ <html:a id="doNotTrackLearnMoreLink"
+ href="https://trisquel.info/en/wiki/abrowser-help"
+ data-l10n-id="do-not-track-learn-more"
+ target="_blank"/>
</description>
<hbox flex="1" id="deleteOnCloseNote" class="info-box-container smaller-font-size">
<hbox class="info-icon-container">
diff --git a/uriloader/exthandler/HandlerList.sys.mjs b/uriloader/exthandler/HandlerList.sys.mjs
index e95d627..beef04d 100644
--- a/uriloader/exthandler/HandlerList.sys.mjs
+++ b/uriloader/exthandler/HandlerList.sys.mjs
@@ -8,198 +8,7 @@ export const kHandlerList = {
default: {
schemes: {
mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- cs: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Seznam",
- uriTemplate: "https://email.seznam.cz/newMessageScreen?mailto=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- "es-CL": {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "Outlook",
- uriTemplate:
- "https://outlook.live.com/default.aspx?rru=compose&to=%s",
- },
- ],
- },
- },
- },
- "ja-JP-mac": {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Yahoo!メール",
- uriTemplate: "https://mail.yahoo.co.jp/compose/?To=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- ja: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Yahoo!メール",
- uriTemplate: "https://mail.yahoo.co.jp/compose/?To=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- kk: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Яндекс.Почта",
- uriTemplate: "https://mail.yandex.ru/compose?mailto=%s",
- },
- {
- name: "Mail.Ru",
- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- ltg: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "inbox.lv mail",
- uriTemplate: "https://mail.inbox.lv/compose?to=%s",
- },
- ],
- },
- },
- },
- lv: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "inbox.lv mail",
- uriTemplate: "https://mail.inbox.lv/compose?to=%s",
- },
- ],
- },
- },
- },
- pl: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Poczta Interia.pl",
- uriTemplate: "https://poczta.interia.pl/mh/?mailto=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- ru: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Яндекс.Почту",
- uriTemplate: "https://mail.yandex.ru/compose?mailto=%s",
- },
- {
- name: "Mail.Ru",
- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- uk: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "Outlook",
- uriTemplate:
- "https://outlook.live.com/default.aspx?rru=compose&to=%s",
- },
- ],
- },
- },
- },
- uz: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "Mail.Ru",
- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
- },
- ],
+ handlers: [],
},
},
},
diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs
index 7e98e6d..7716e41 100644
--- a/services/settings/RemoteSettingsClient.sys.mjs
+++ b/services/settings/RemoteSettingsClient.sys.mjs
@@ -227,6 +227,8 @@ class AttachmentDownloader extends Downloader {
* @see Downloader.download
*/
async download(record, options) {
+ console.warn("Function 'download' disabled in Abrowser due privacy concerns.");
+ return null;
try {
// Explicitly await here to ensure we catch a network error.
return await super.download(record, options);
diff --git a/services/settings/Utils.sys.mjs b/services/settings/Utils.sys.mjs
index 12fef6c..c52b65e 100644
--- a/services/settings/Utils.sys.mjs
+++ b/services/settings/Utils.sys.mjs
@@ -409,6 +409,8 @@ export var Utils = {
* @param {Object} filters
*/
async fetchLatestChanges(serverUrl, options = {}) {
+ console.warn("Function 'fetchLatestChanges' disabled in Abrowser due privacy concerns.");
+ return null;
const { expectedTimestamp, lastEtag = "", filters = {} } = options;
let url = serverUrl + Utils.CHANGES_PATH;
diff --git a/toolkit/components/telemetry/app/TelemetryUtils.sys.mjs b/toolkit/components/telemetry/app/TelemetryUtils.sys.mjs
index 803d52a1..1a3ef5ba 100644
--- a/toolkit/components/telemetry/app/TelemetryUtils.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryUtils.sys.mjs
@@ -124,6 +124,11 @@ export var TelemetryUtils = {
* Takes a date and returns it truncated to a date with daily precision.
*/
truncateToDays(date) {
+ console.warn("Function 'truncateToDays' called with:", date);
+ if (!date || !(date instanceof Date)) {
+ console.warn("Function 'truncateToDays' disabled in Abrowser due to privacy concerns. Received invalid or undefined date.");
+ return null; // Retorna null para evitar errores posteriores
+ }
return new Date(
date.getFullYear(),
date.getMonth(),
@@ -172,6 +172,10 @@ export var TelemetryUtils = {
* @return {Object} The Date object representing the next midnight.
*/
getNextMidnight(date) {
+ if (!date || !(date instanceof Date)) {
+ console.warn("Function 'getNextMidnight' disabled in Abrowser due to privacy concerns.");
+ return null;
+ }
let nextMidnight = new Date(this.truncateToDays(date));
nextMidnight.setDate(nextMidnight.getDate() + 1);
return nextMidnight;
@@ -185,6 +189,10 @@ export var TelemetryUtils = {
* is not within the midnight tolerance.
*/
getNearestMidnight(date, tolerance) {
+ if (!date || !(date instanceof Date)) {
+ console.warn("Function 'getNearestMidnight' disabled in Abrowser due to privacy concerns.");
+ return null;
+ }
let lastMidnight = this.truncateToDays(date);
if (this.areTimesClose(date.getTime(), lastMidnight.getTime(), tolerance)) {
return lastMidnight;
diff --git a/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs b/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs
index 539447a..43d846b 100644
--- a/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs
@@ -183,8 +183,20 @@ export var TelemetryScheduler = {
},
_sentPingToday(pingTime, nowDate) {
+ // Validar 'nowDate' antes de usarlo
+ if (!nowDate || !(nowDate instanceof Date)) {
+ console.warn("Invalid 'nowDate' passed to _sentPingToday. Function disabled in Abrowser due to privacy concerns.");
+ return false; // Devolvemos 'false' para evitar errores
+ }
+
// This is today's date and also the previous midnight (0:00).
const todayDate = TelemetryUtils.truncateToDays(nowDate);
+
+ if (!todayDate) {
+ console.warn("TelemetryUtils.truncateToDays returned null. Skipping _sentPingToday.");
+ return false;
+ }
+
// We consider a ping sent for today if it occured after or at 00:00 today.
return pingTime >= todayDate.getTime();
},
diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml
index 53e4616a..ba6a3dfb 100644
--- a/browser/base/content/aboutDialog.xhtml
+++ b/browser/base/content/aboutDialog.xhtml
@@ -137,7 +137,7 @@
<vbox id="bottomBox">
<hbox pack="center">
<label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:license" data-l10n-id="bottomLinks-license"/>
- <label is="text-link" class="bottom-link" href="https://www.mozilla.org/about/legal/terms/firefox/" data-l10n-id="bottomLinks-rights"/>
+ <label is="text-link" class="bottom-link" href="https://trisquel.info/es/legal" data-l10n-id="bottomLinks-rights"/>
<label is="text-link" class="bottom-link" href="https://www.mozilla.org/privacy/firefox/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-id="bottomLinks-privacy"/>
</hbox>
<description id="trademark" data-l10n-id="trademarkInfo"></description>
diff --git a/browser/components/about/AboutRedirector.cpp b/browser/components/about/AboutRedirector.cpp
index d1fe0148..ce5d1f42 100644
--- a/browser/components/about/AboutRedirector.cpp
+++ b/browser/components/about/AboutRedirector.cpp
@@ -90,7 +90,7 @@ static const RedirEntry kRedirMap[] = {
{"profiling",
"chrome://devtools/content/performance-new/aboutprofiling/index.xhtml",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
- {"rights", "https://www.mozilla.org/about/legal/terms/firefox/",
+ {"rights", "https://trisquel.info/es/legal",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::URI_MUST_LOAD_IN_CHILD},
{"robots", "chrome://browser/content/aboutRobots.xhtml",
diff --git a/debian/control.in b/debian/control.in
index dd3c8daa..911d9667 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -52,8 +52,7 @@ Architecture: any
Depends: lsb-release,
${misc:Depends},
${shlibs:Depends}
-Recommends: xul-ext-ubufox,
- ${support:Recommends},
+Recommends: ${support:Recommends},
libcanberra0,
libdbusmenu-glib4,
libdbusmenu-gtk3-4
@@ -61,7 +60,8 @@ Provides: www-browser,
iceweasel, firefox,
gnome-www-browser,
${app:Provides}
-Suggests: fonts-lyx,
+Suggests: webext-ublock-origin,
+ fonts-lyx,
${support:Suggests}
Breaks: ${transitional:Breaks}
Replaces: ${transitional:Replaces}
#! /usr/bin/python3
# Copyright (C) 2024 Luis Guzmán <ark@switnet.org>
# Copyright (C) 2020, 2021, 2022, 2023, 2024 grizzlyuser <grizzlyuser@protonmail.com>
# Based on: https://gitlab.trisquel.org/trisquel/wrapage-helpers/-/blob/81881d89b2bf7d502dd14fcccdb471fec6f6b206/helpers/DATA/firefox/reprocess-search-config.py
# Below is the notice from the original author:
#
# Copyright (C) 2020, 2021 Ruben Rodriguez <ruben@trisquel.info>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import json
import sys
import time
import copy
import argparse
import pathlib
import logging
from collections import namedtuple
from jsonschema import validate
parser = argparse.ArgumentParser()
parser.add_argument(
'MAIN_PATH',
type=pathlib.Path,
help='path to main application source code directory')
parser.add_argument(
'BRANDING_PATH',
type=pathlib.Path,
help='path to branding source code directory')
parser.add_argument(
'-i',
'--indent',
type=int,
default=2,
help='indent for pretty printing of output files')
parser.add_argument(
'-l',
'--loglevel',
choices=logging._nameToLevel.keys(),
default=logging.INFO,
help='logging level')
arguments = parser.parse_args()
logging.basicConfig(level=arguments.loglevel)
logger = logging.getLogger(str(pathlib.Path(__file__).name))
File = namedtuple('File', ['path', 'content'])
class JsonProcessor:
@classmethod
def process(cls):
parsed_jsons = []
for json_path in cls.JSON_PATHS:
logger.info('Reading input: ' + str(json_path) + '...')
with json_path.open(encoding='utf-8') as file:
parsed_jsons.append(File(json_path, json.load(file)))
parsed_schema = None
if hasattr(cls, "SCHEMA_PATH"):
logger.info('Reading schema: ' + str(json_path) + '...')
with cls.SCHEMA_PATH.open() as file:
parsed_schema = json.load(file)
processed = cls.process_parsed(parsed_jsons, parsed_schema)
with processed.path.open('w') as file:
json.dump(processed.content, file, indent=arguments.indent)
logger.info('Wrote: ' + str(processed.path))
class RemoteSettings(JsonProcessor):
DUMPS_PATH_RELATIVE = 'services/settings/dumps'
DUMPS_PATH_ABSOLUTE = arguments.MAIN_PATH / DUMPS_PATH_RELATIVE
_WRAPPER_NAME = 'data'
_LAST_MODIFIED_KEY_NAME = 'last_modified'
@classmethod
def get_collection_timestamp(cls, collection):
return max((record[cls._LAST_MODIFIED_KEY_NAME]
for record in collection.content), default=0)
@classmethod
def wrap(cls, processed):
return File(processed.path,
{cls._WRAPPER_NAME: processed.content,
'timestamp': cls.get_collection_timestamp(processed)})
@classmethod
def unwrap(cls, parsed_jsons):
return [File(json.path, json.content[cls._WRAPPER_NAME])
for json in parsed_jsons]
@classmethod
def should_modify_collection(cls, collection):
return True
@classmethod
def now(cls):
return int(round(time.time() * 1000))
@classmethod
def process_raw(cls, unwrapped_jsons, parsed_schema):
timestamps, result = [], []
for collection in unwrapped_jsons:
should_modify_collection = cls.should_modify_collection(collection)
for record in collection.content:
if should_modify_collection:
if cls.should_drop_record(record):
continue
clone = copy.deepcopy(record)
record = cls.process_record(record)
if clone != record:
timestamp = cls.now()
while timestamp in timestamps:
timestamp += 1
timestamps.append(timestamp)
record[cls._LAST_MODIFIED_KEY_NAME] = timestamp
if parsed_schema is not None:
validate(record, schema=parsed_schema)
result.append(record)
result.sort(
key=lambda record: record[cls._LAST_MODIFIED_KEY_NAME], reverse=True)
cls.OUTPUT_PATH.parent.mkdir(parents=True, exist_ok=True)
return File(cls.OUTPUT_PATH, result)
@classmethod
def process_parsed(cls, parsed_jsons, parsed_schema):
return cls.wrap(
cls.process_raw(
cls.unwrap(parsed_jsons),
parsed_schema))
class EmptyRemoteSettings(RemoteSettings):
@classmethod
def should_drop_record(cls, search_engine):
return True
@classmethod
def process_record(cls, record):
return record
class Changes(RemoteSettings):
JSON_PATHS = tuple(RemoteSettings.DUMPS_PATH_ABSOLUTE.glob('*/*.json'))
OUTPUT_PATH = RemoteSettings.DUMPS_PATH_ABSOLUTE / 'monitor/changes'
@classmethod
def wrap(cls, processed):
return File(
processed.path, {
'changes': processed.content, 'timestamp': cls.now()})
@classmethod
def process_raw(cls, unwrapped_jsons, parsed_schema):
changes = []
for collection in unwrapped_jsons:
if collection.path != RemoteSettings.DUMPS_PATH_ABSOLUTE / 'main/example.json':
latest_change = {}
latest_change[cls._LAST_MODIFIED_KEY_NAME] = cls.get_collection_timestamp(
collection)
latest_change['bucket'] = collection.path.parent.name
latest_change['collection'] = collection.path.stem
changes.append(latest_change)
cls.OUTPUT_PATH.parent.mkdir(parents=True, exist_ok=True)
return File(cls.OUTPUT_PATH, changes)
class SearchConfigV2(RemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/search-config-v2.json',
)
SCHEMA_PATH = arguments.MAIN_PATH / \
'toolkit/components/search/schema/search-config-v2-schema.json'
OUTPUT_PATH = JSON_PATHS[0]
_DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER = 'ddg'
@classmethod
def should_drop_record(cls, record):
if record['recordType'] != 'engine':
return False
identifier = record['identifier']
excluded_identifiers = ['ecosia', 'qwant', 'trisquel', 'trisquel-packages']
return (
identifier != cls._DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER and
not (identifier.startswith('wikipedia') or identifier in excluded_identifiers)
)
@classmethod
def process_record(cls, record):
if record['recordType'] == 'defaultEngines':
return cls.process_default_engines(record)
elif record['recordType'] == 'engine':
return cls.process_engine(record)
elif record['recordType'] == 'engineOrders':
return cls.process_engine_orders(record)
else:
return record
@classmethod
def process_default_engines(cls, default_engines):
default_engines['globalDefault'] = cls._DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER
default_engines['specificDefaults'] = []
return default_engines
@classmethod
def process_engine(cls, engine):
engine['base'].pop('partnerCode', None)
engine['base']['urls']['search'].pop('params', None)
if engine['identifier'] == cls._DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER:
engine['base']['name'] += ' HTML'
engine['base']['urls']['search']['base'] = 'https://html.duckduckgo.com/html'
allRegions_prefixes = ['ecosia', 'qwant', 'trisquel']
if any(engine['identifier'].startswith(prefix) for prefix in allRegions_prefixes) or \
engine['identifier'] == cls._DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER:
engine['variants'] = [{'environment': {'allRegionsAndLocales': True}}]
return engine
@classmethod
def process_engine_orders(cls, engine_orders):
engine_orders['orders'] = []
return engine_orders
class SearchConfigOverridesV2(EmptyRemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/search-config-overrides-v2.json',
)
SCHEMA_PATH = arguments.MAIN_PATH / \
'toolkit/components/search/schema/search-config-overrides-v2-schema.json'
OUTPUT_PATH = JSON_PATHS[0]
class SearchDefaultOverrideAllowlist(EmptyRemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/search-default-override-allowlist.json',
)
SCHEMA_PATH = arguments.MAIN_PATH / \
'toolkit/components/search/schema/search-default-override-allowlist-schema.json'
OUTPUT_PATH = JSON_PATHS[0]
class SearchTelemetryV2(EmptyRemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/search-telemetry-v2.json',
)
SCHEMA_PATH = arguments.MAIN_PATH / \
'browser/components/search/schema/search-telemetry-v2-schema.json'
OUTPUT_PATH = JSON_PATHS[0]
class UrlClassifierSkipUrls(EmptyRemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/url-classifier-skip-urls.json',
)
OUTPUT_PATH = JSON_PATHS[0]
class TippyTopSites(JsonProcessor):
JSON_PATHS = (
arguments.MAIN_PATH /
'browser/components/topsites/content/tippytop/top_sites.json',
arguments.BRANDING_PATH /
'tippytop/top_sites.json')
@classmethod
def process_parsed(cls, parsed_jsons, parsed_schema):
tippy_top_sites_main = parsed_jsons[0]
tippy_top_sites_branding = parsed_jsons[1]
result = tippy_top_sites_branding.content + \
[site for site in tippy_top_sites_main.content if 'wikipedia.org' in site['domains']]
return File(tippy_top_sites_main.path, result)
class TopSites(RemoteSettings):
_TOP_SITES_JSON_PATH = 'main/top-sites.json'
_TOP_SITES_PATH_MAIN = RemoteSettings.DUMPS_PATH_ABSOLUTE / _TOP_SITES_JSON_PATH
JSON_PATHS = (
arguments.BRANDING_PATH /
RemoteSettings.DUMPS_PATH_RELATIVE /
_TOP_SITES_JSON_PATH,
_TOP_SITES_PATH_MAIN)
OUTPUT_PATH = _TOP_SITES_PATH_MAIN
@classmethod
def should_modify_collection(cls, collection):
return cls._TOP_SITES_PATH_MAIN == collection.path
@classmethod
def should_drop_record(cls, site):
return site['url'] != 'https://www.wikipedia.org/'
@classmethod
def process_record(cls, site):
site.pop('exclude_regions', None)
return site
# To reflect the latest timestamps, Changes class should always come after
# all other RemoteSettings subclasses
processors = (
SearchConfigV2,
SearchConfigOverridesV2,
SearchDefaultOverrideAllowlist,
SearchTelemetryV2,
UrlClassifierSkipUrls,
TopSites,
Changes,
TippyTopSites)
for processor in processors:
processor.process()
{
"data": [
{
"url": "https://trisquel.info/",
"order": 0,
"title": "Trisquel",
"id": "ec7f4843-6be5-5e86-870a-1c8383500a4b",
"last_modified": 1715345084783
},
{
"url": "https://packages.trisquel.org/",
"order": 1,
"title": "Trisquel Packages",
"id": "27a9b035-0b8b-4472-97cb-b1866aba0740",
"last_modified": 1715345084786
},
{
"url": "https://www.gnu.org/",
"order": 2,
"title": "GNU",
"id": "1baee931-751c-5993-b6fe-d86fbf78f9b0",
"last_modified": 1715345084789
},
{
"url": "https://www.fsf.org/",
"order": 3,
"title": "FSF",
"id": "fcc60dd8-4d97-5aca-8e5d-784652c75818",
"last_modified": 1715345084792
},
{
"url": "https://directory.fsf.org/",
"order": 4,
"title": "FSF Directory",
"id": "abe5bfb2-9487-5697-9f27-e0b782dfe006",
"last_modified": 1715345084796
},
{
"url": "https://libreplanet.org/",
"order": 5,
"title": "LibrePlanet",
"id": "e3d2cf88-a4dc-5d2e-9f9a-f3ea241d17d8",
"last_modified": 1715345084800
},
{
"url": "https://www.wikipedia.org/",
"order": 6,
"title": "Wikipedia",
"id": "02c295f5-54a8-5d29-8d1f-b619216b20c0",
"last_modified": 1715345084803
},
{
"url": "https://h-node.org/",
"order": 7,
"title": "h-node",
"id": "c426481f-8c3f-53b8-b23a-431a91a1c7b4",
"last_modified": 1715345084807
}
],
"timestamp": 1715345084810
}
[
{
"domains": ["duckduckgo.com"],
"image_url": "images/duckduckgo-com@2x.svg",
"favicon_url": "favicons/duckduckgo-com.ico"
},
{
"domains": ["trisquel.info"],
"image_url": "images/trisquel.png",
"favicon_url": "favicons/trisquel.ico"
},
{
"domains": ["packages.trisquel.org"],
"image_url": "images/trisquel-packages.png",
"favicon_url": "favicons/trisquel-packages.ico"
},
{
"domains": ["gnu.org"],
"image_url": "images/gnu.png",
"favicon_url": "favicons/gnu.ico"
},
{
"domains": ["fsf.org"],
"image_url": "images/fsf.png",
"favicon_url": "favicons/fsf.ico"
},
{
"domains": ["directory.fsf.org"],
"image_url": "images/directory.png",
"favicon_url": "favicons/fsf.ico"
},
{
"domains": ["libreplanet.org"],
"image_url": "images/libreplanet.png",
"favicon_url": "favicons/libreplanet.ico"
},
{
"domains": ["fsfe.org"],
"image_url": "images/fsfe.png",
"favicon_url": "favicons/fsfe.ico"
},
{
"domains": ["wikipedia.org"],
"image_url": "images/wikipedia.png",
"favicon_url": "favicons/wikipedia.ico"
},
{
"domains": ["h-node.org"],
"image_url": "images/hnode.png",
"favicon_url": "favicons/hnode.ico"
}
]
{
"base": {
"aliases": [
"packages",
"p"
],
"classification": "unknown",
"name": "Trisquel Packages",
"urls": {
"search": {
"base": "https://packages.trisquel.org/search",
"params": [],
"searchTermParamName": "keywords"
}
}
},
"id": "b5fd21a8-e369-477f-a3f2-b47a370f9030",
"identifier": "trisquel-packages",
"last_modified": 1678,
"recordType": "engine",
"schema": "defaultEngines",
"variants": [
{
"environment": {
"allRegionsAndLocales": true
},
"optional": false
}
]
},
helpers/DATA/firefox/searchplugins/trisquel-packages/favicon.ico

40.4 KiB

{
"name": "Trisquel Packages",
"description": "Search available software packages for Trisquel GNU/Linux",
"manifest_version": 2,
"version": "1.0",
"applications": {
"gecko": {
"id": "trisquel-packages@search.mozilla.org"
}
},
"hidden": true,
"icons": {
"16": "favicon.ico",
"32": "favicon.ico",
"48": "favicon.ico",
"256": "favicon.ico"
},
"web_accessible_resources": [
"favicon.ico"
],
"chrome_settings_overrides": {
"search_provider": {
"keyword": ["@packages", "@p"],
"name": "Trisquel Packages",
"search_url": "https://packages.trisquel.org/search?keywords={searchTerms}",
"search_form": "https://packages.trisquel.org/search?keywords={searchTerms}"
}
}
}