tbb-commits
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
October 2017
- 2 participants
- 55 discussions
commit ee8b054f31b53266f6165e76aa38ee7bd58eb55e
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Oct 17 11:15:10 2017 +0000
Translations update
---
src/chrome/content/torbutton.js | 2 +-
src/chrome/locale/de/aboutTor.properties | 16 ++++++++--------
src/chrome/locale/es/aboutTor.properties | 2 +-
src/chrome/locale/fr/aboutTor.properties | 2 +-
src/chrome/locale/it/aboutTor.properties | 8 ++++----
src/chrome/locale/nl/aboutTor.properties | 8 ++++----
src/chrome/locale/pl/aboutTor.properties | 16 ++++++++--------
src/chrome/locale/pt-BR/aboutTor.properties | 2 +-
src/chrome/locale/ru/aboutTor.properties | 10 +++++-----
src/chrome/locale/ru/torbutton.dtd | 4 ++--
src/chrome/locale/sv/aboutTor.properties | 16 ++++++++--------
src/chrome/locale/tr/aboutTor.properties | 2 +-
12 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 955f8eb..9e18adb 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -2346,7 +2346,7 @@ function torbutton_update_noscript_button()
// Update every window's NoScript status...
while (browserEnumerator.hasMoreElements()) {
let win = browserEnumerator.getNext();
- win.noscriptOverlay._syncUINow();
+ //win.noscriptOverlay._syncUINow();
}
torbutton_log(3, 'Updated NoScript status for security settings');
} catch (e) {
diff --git a/src/chrome/locale/de/aboutTor.properties b/src/chrome/locale/de/aboutTor.properties
index 3233797..9d2b0df 100644
--- a/src/chrome/locale/de/aboutTor.properties
+++ b/src/chrome/locale/de/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Jetzt spenden!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.slogan=Tor: Digitalen Widerstand stärken
+aboutTor.donationBanner.mozilla=Spenden Sie heute und Mozilla wird Ihr Geschenk anpassen
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline1=Schützt seit 2006 Journalisten, Whistleblower & Aktivisten
+aboutTor.donationBanner.tagline2=Weltweite Vernetzungsfreiheit
+aboutTor.donationBanner.tagline3=Freiheit online
+aboutTor.donationBanner.tagline4=Fördert weltweit freie Meinungsäußerung.
+aboutTor.donationBanner.tagline5=Schützt täglich die Privatsphäre von Millionen.
diff --git a/src/chrome/locale/es/aboutTor.properties b/src/chrome/locale/es/aboutTor.properties
index 01cd311..f1e2d59 100644
--- a/src/chrome/locale/es/aboutTor.properties
+++ b/src/chrome/locale/es/aboutTor.properties
@@ -10,7 +10,7 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/?kl=-es
aboutTor.donationBanner.donate=¡Dona ahora!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.slogan=Tor: Impulsando la resistencia digital
aboutTor.donationBanner.mozilla=¡Dona hoy y Mozilla te la igualará!
aboutTor.donationBanner.tagline1=Protegiendo a periodistas, informantes, y activistas desde 2006
diff --git a/src/chrome/locale/fr/aboutTor.properties b/src/chrome/locale/fr/aboutTor.properties
index bdaedb7..cd844af 100644
--- a/src/chrome/locale/fr/aboutTor.properties
+++ b/src/chrome/locale/fr/aboutTor.properties
@@ -10,7 +10,7 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=Faites un don maintenant !
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.slogan=Tor : la puissance de la résistance numérique
aboutTor.donationBanner.mozilla=Faites un don aujourd'hui et Mozilla fera un don équivalent !
aboutTor.donationBanner.tagline1=Nous protégeons journalistes, lanceurs d'alerte et activistes depuis 2006
diff --git a/src/chrome/locale/it/aboutTor.properties b/src/chrome/locale/it/aboutTor.properties
index 8d5b3a7..e25f90a 100644
--- a/src/chrome/locale/it/aboutTor.properties
+++ b/src/chrome/locale/it/aboutTor.properties
@@ -10,11 +10,11 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=Dona adesso!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.slogan=Tor: alimentiamo la resistenza digitale
+aboutTor.donationBanner.mozilla=Dona oggi e Mozilla ricambierà il regalo!
aboutTor.donationBanner.tagline1=Proteggiamo giornalisti, informatori e attivisti dal 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline2=Rendiamo la rete libera nel mondo
aboutTor.donationBanner.tagline3=Libertà online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline4=Promuoviamo la libertà di parola nel mondo
aboutTor.donationBanner.tagline5=Proteggiamo la privacy di milioni di persone ogni giorno
diff --git a/src/chrome/locale/nl/aboutTor.properties b/src/chrome/locale/nl/aboutTor.properties
index ee9cc49..521f96f 100644
--- a/src/chrome/locale/nl/aboutTor.properties
+++ b/src/chrome/locale/nl/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Doneer nu!
aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline2=Wereldwijde Netwerk Vrijheid
+aboutTor.donationBanner.tagline3=Online Vrijheid
aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline5=Beveiligt de privacy van miljoenen gebruikers per dag
diff --git a/src/chrome/locale/pl/aboutTor.properties b/src/chrome/locale/pl/aboutTor.properties
index dc12b3a..b6e1bba 100644
--- a/src/chrome/locale/pl/aboutTor.properties
+++ b/src/chrome/locale/pl/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Wesprzyj teraz!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.slogan=Tor: Zasila Odporność Cyfrową
+aboutTor.donationBanner.mozilla=Daj dzisiaj i Mozilla dopasuje Twój prezent!
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline1=Chroni dziennikarzy, informatorów i aktywistów od 2006
+aboutTor.donationBanner.tagline2=Wolność dla sieci na całym świecie
+aboutTor.donationBanner.tagline3=Wolność Online
+aboutTor.donationBanner.tagline4=Wspieranie ekspresji na całym świecie
+aboutTor.donationBanner.tagline5=Ochrona prywatności milionów każdego dnia
diff --git a/src/chrome/locale/pt-BR/aboutTor.properties b/src/chrome/locale/pt-BR/aboutTor.properties
index 84a283a..ca749aa 100644
--- a/src/chrome/locale/pt-BR/aboutTor.properties
+++ b/src/chrome/locale/pt-BR/aboutTor.properties
@@ -10,7 +10,7 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=Faça uma Doação Agora!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.slogan=Tor: Desligando a Resistência Digital
aboutTor.donationBanner.mozilla=Faça uma doação hoje e a Mozilla vai doará em dobro!
aboutTor.donationBanner.tagline1=Protegendo Jornalistas, Whistleblowers e Ativistas desde 2006
diff --git a/src/chrome/locale/ru/aboutTor.properties b/src/chrome/locale/ru/aboutTor.properties
index 695436a..527d579 100644
--- a/src/chrome/locale/ru/aboutTor.properties
+++ b/src/chrome/locale/ru/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Пожертвовать!
aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline1=Защита журналистов, информаторов и активистов с 2006 года
+aboutTor.donationBanner.tagline2=Свобода сети во всём мире
+aboutTor.donationBanner.tagline3=Свобода в сети
aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline5=Защита конфиденциальности миллионов каждый день
diff --git a/src/chrome/locale/ru/torbutton.dtd b/src/chrome/locale/ru/torbutton.dtd
index 839bfca..fb05620 100644
--- a/src/chrome/locale/ru/torbutton.dtd
+++ b/src/chrome/locale/ru/torbutton.dtd
@@ -27,10 +27,10 @@
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Не защищать новые куки-файлы">
<!ENTITY torbutton.prefs.restrict_thirdparty "Блокировать сторонние куки-файлы и другие данные слежения">
<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Оставьте флажок напротив этой опции отмеченным, чтобы защитить многие функции обозревателя от элементов отслеживания ваших действий во время серфинга в сети. Модифицированные компоненты включают в себя ссылки на блобы, транслируемые каналы, кэш браузера, файлы куки, значки, заголовки аутентификации HTTP, ссылки предпросмотра, локальное хранилище, ссылки на медиаконтент, запросы OCSP, SharedWorkers и объявления сессии TLS.">
+<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Оставьте флажок напротив этой функции отмеченным, чтобы защитить многие функции обозревателя от элементов отслеживания ваших действий во время серфинга в сети. Модифицированные компоненты включают в себя ссылки на блобы, транслируемые каналы, кэш браузера, файлы куки, значки, заголовки аутентификации HTTP, ссылки предпросмотра, локальное хранилище, ссылки на медиаконтент, запросы OCSP, SharedWorkers и объявления сессии TLS.">
<!ENTITY torbutton.prefs.resist_fingerprinting "Изменить сведения, отличающие вас от других пользователей Tor Browser">
<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Keep this box checked to hide things from websites that could be unique about you, including your computer performance, keyboard layout, locale, the location of installed plugins, the list of installed plugins, your network status, screen orientation, screen size, site-specific zoom levels, supported file types, system colors, and WebGL capabilities.">
+<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Оставьте флажок напротив этой функции отмеченным, чтобы скрыть от веб-узлов вещи , которые могут быть уникальными для вас, включая производительность компьютера, раскладку клавиатуры, язык, расположение и список установленных плагинов, состояние сети, ориентацию и размер экрана , значения масштабирования для конкретных узлов, поддерживаемые типы файлов, системные цвета и возможности WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Уровень безопасности">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Ползунок безопасности позволяет вам запретить некоторые особенности обозревателя, которые могут сделать ваш браузер более уязвимым к попыткам взлома.">
<!ENTITY torbutton.prefs.sec_low "Низкий (по умолчанию)">
diff --git a/src/chrome/locale/sv/aboutTor.properties b/src/chrome/locale/sv/aboutTor.properties
index 64b0ed9..016ea20 100644
--- a/src/chrome/locale/sv/aboutTor.properties
+++ b/src/chrome/locale/sv/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Donera nu!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.slogan=Tor: Kraftfull digital resistans
+aboutTor.donationBanner.mozilla=Ge idag och Mozilla kommer att matcha din gåva!
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline1=Skyddar journalister, whistleblowers och aktivister sedan 2006
+aboutTor.donationBanner.tagline2=Nätverksfrihet över hela världen
+aboutTor.donationBanner.tagline3=Frihet på nåtet
+aboutTor.donationBanner.tagline4=Främja yttrandefriheten över hela världen
+aboutTor.donationBanner.tagline5=Skydda integriteten av miljoner varje dag
diff --git a/src/chrome/locale/tr/aboutTor.properties b/src/chrome/locale/tr/aboutTor.properties
index 3b7a7d6..e07e35d 100644
--- a/src/chrome/locale/tr/aboutTor.properties
+++ b/src/chrome/locale/tr/aboutTor.properties
@@ -10,7 +10,7 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=Bağış Yapın
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.slogan=Tor: Dijital Direnişi Güçlendiriyor
aboutTor.donationBanner.mozilla=Destek olun ve Mozilla tarafından hediyenizin karşılığını alın!
aboutTor.donationBanner.tagline1=2006 Yılından Beri Gazeteciler, Yolsuzlukları Açıklayanlar ve Aktivistler Korunuyor
1
0

[torbutton/maint-1.9.7] Bug 23483: Donation banner on about:tor for 2017
by gk@torproject.org 17 Oct '17
by gk@torproject.org 17 Oct '17
17 Oct '17
commit 2e6d58145ff2de2ac705f2feebe3d594eab382a8
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Mon Sep 18 16:42:07 2017 -0700
Bug 23483: Donation banner on about:tor for 2017
(Also removes a dot from aboutTor.donationBanner.slogan)
---
src/chrome/content/aboutTor/aboutTor-content.js | 5 ++
src/chrome/content/aboutTor/aboutTor.xhtml | 19 +++-
src/chrome/content/aboutTor/donation_banner.js | 105 ++++++++++++++++++++++
src/chrome/content/aboutTor/onion-hand.png | Bin 0 -> 69055 bytes
src/chrome/content/torbutton.js | 4 +-
src/chrome/locale/en/aboutTor.properties | 2 +-
src/chrome/skin/donation_banner.css | 113 ++++++++++++++++++++++++
src/modules/donation-banner.js | 112 +++++++++++++++++++++++
8 files changed, 357 insertions(+), 3 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor-content.js b/src/chrome/content/aboutTor/aboutTor-content.js
index ec515bb..95e8abd 100644
--- a/src/chrome/content/aboutTor/aboutTor-content.js
+++ b/src/chrome/content/aboutTor/aboutTor-content.js
@@ -105,6 +105,11 @@ var AboutTorListener = {
else
body.removeAttribute("showmanual");
+ if (aData.bannerData)
+ body.setAttribute("banner-data", aData.bannerData);
+ else
+ body.removeAttribute("banner-data");
+
// Setting body.initialized="yes" displays the body, which must be done
// at this point because our remaining initialization depends on elements
// being visible so that their size and position are accurate.
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 7ae4b8b..367f9a6 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -21,6 +21,8 @@
<title>&aboutTor.title;</title>
<link rel="stylesheet" type="text/css" media="all"
href="resource://torbutton/chrome/skin/aboutTor.css"/>
+ <link rel="stylesheet" type="text/css" media="all"
+ href="resource://torbutton/chrome/skin/donation_banner.css"/>
<script type="text/javascript;version=1.7">
<![CDATA[
window.addEventListener("pageshow", function() {
@@ -31,6 +33,21 @@ window.addEventListener("pageshow", function() {
</script>
</head>
<body dir="&locale.dir;">
+ <div id="banner">
+ <div id="banner-contents-container">
+ <div id="banner-tagline"><span></span></div>
+ <div id="banner-slogan"><span></span></div>
+ <a id="banner-donate-button-link"
+ href="https://www.torproject.org/donate/donate-tbb">
+ <div id="banner-donate-button">
+ <div id="banner-donate-button-inner">
+ <span></span>
+ </div>
+ </div>
+ </a>
+ </div>
+ </div>
+ <div id="banner-spacer"></div>
<div id="torstatus" class="top">
<div id="torstatus-version"/>
<div id="torstatus-image"/>
@@ -112,6 +129,6 @@ window.addEventListener("pageshow", function() {
<p>&aboutTor.footer.label;
<a href="&aboutTor.learnMore.link;">&aboutTor.learnMore.label;</a></p>
</div>
-
+ <script src="resource://torbutton/chrome/content/aboutTor/donation_banner.js"></script>
</body>
</html>
diff --git a/src/chrome/content/aboutTor/donation_banner.js b/src/chrome/content/aboutTor/donation_banner.js
new file mode 100644
index 0000000..1c95822
--- /dev/null
+++ b/src/chrome/content/aboutTor/donation_banner.js
@@ -0,0 +1,105 @@
+/* jshint esnext:true */
+
+let sel = selector => document.querySelector(selector);
+
+// Shrink the font size if the text in the given element is overflowing.
+let fitTextInElement = function (element) {
+ element.style.fontSize = "8px";
+ let defaultWidth = element.scrollWidth,
+ defaultHeight = element.scrollHeight;
+ let bestSize;
+ for (let testSize = 8; testSize <= 40; testSize += 0.5) {
+ element.style.fontSize = `${testSize}px`;
+ if (element.scrollWidth <= defaultWidth &&
+ element.scrollHeight <= defaultHeight) {
+ bestSize = testSize;
+ } else {
+ break;
+ }
+ }
+ element.style.fontSize = `${bestSize}px`;
+};
+
+// Increase padding at end to "squeeze" text, until just before
+// it gets squeezed so much that it gets longer vertically.
+let avoidWidows = function (element) {
+ element.style.paddingRight = "0px";
+ let originalWidth = element.scrollWidth;
+ let originalHeight = element.scrollHeight;
+ let bestPadding;
+ for (let testPadding = 0; testPadding < originalWidth; testPadding += 0.5) {
+ element.style.paddingRight = `${testPadding}px`;
+ if (element.scrollHeight <= originalHeight) {
+ bestPadding = testPadding;
+ } else {
+ break;
+ }
+ }
+ element.style.paddingRight = `${bestPadding}px`;
+ if (window.getComputedStyle(element).direction === "rtl") {
+ element.style.paddingLeft = element.style.paddingRight;
+ element.style.paddingRight = "0px";
+ }
+};
+
+// Resize the text inside banner to fit.
+let updateTextSizes = function () {
+ fitTextInElement(sel("#banner-tagline"));
+ fitTextInElement(sel("#banner-slogan"));
+ fitTextInElement(sel("#banner-donate-button-inner"));
+ avoidWidows(sel("#banner-tagline span"));
+};
+
+// Returns a random integer x, such that 0 <= x < max
+let randomInteger = max => Math.floor(max * Math.random());
+
+// The main donation banner function.
+let runDonationBanner = function ({ taglines, slogan, donate, shortLocale }) {
+ try {
+ sel("#banner-tagline span").innerText = taglines[randomInteger(taglines.length)];
+ sel("#banner-slogan span").innerText = slogan;
+ let donateButtonText = sel("#banner-donate-button-inner span");
+ let rtl = window.getComputedStyle(donateButtonText).direction === "rtl";
+ donateButtonText.innerHTML = donate + " " + (rtl ? "◀" : "▶");
+ sel("#banner").style.display = "flex";
+ sel("#banner-spacer").style.display = "block";
+ addEventListener("resize", updateTextSizes);
+ updateTextSizes();
+ // Add a suffix corresponding to locale so we can send user
+ // to a correctly-localized donation page via redirect.
+ sel("#banner-donate-button-link").href += "-" + shortLocale;
+ sel("#torstatus-image").style.display = "none";
+ } catch (e) {
+ // Something went wrong.
+ console.error(e);
+ sel("#banner").style.display = "none";
+ sel("#bannerSpacer").style.display = "none";
+ sel("#torstatus-image").style.display = "block";
+ }
+};
+
+// Calls callback(attributeValue) when the specified attribute changes on
+// target. Returns a zero-arg function that stops observing.
+let observeAttribute = function (target, attributeName, callback) {
+ let observer = new MutationObserver(mutations => {
+ mutations.forEach(mutation => {
+ if (mutation.type === "attributes" &&
+ mutation.attributeName === attributeName) {
+ callback(target.getAttribute(attributeName));
+ }
+ });
+ });
+ observer.observe(target, { attributes: true });
+ return () => observer.disconnect();
+};
+
+// Start the donation banner if "toron" has been set to "yes".
+let stopObserving = observeAttribute(document.body, "toron", value => {
+ stopObserving();
+ if (value === "yes") {
+ let bannerDataJSON = document.body.getAttribute("banner-data");
+ if (bannerDataJSON && bannerDataJSON.length > 0) {
+ runDonationBanner(JSON.parse(bannerDataJSON));
+ }
+ }
+});
diff --git a/src/chrome/content/aboutTor/onion-hand.png b/src/chrome/content/aboutTor/onion-hand.png
new file mode 100644
index 0000000..00a5a41
Binary files /dev/null and b/src/chrome/content/aboutTor/onion-hand.png differ
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index db6b694..955f8eb 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -13,6 +13,7 @@ let { showDialog } = Cu.import("resource://torbutton/modules/utils.js", {});
let { unescapeTorString } = Cu.import("resource://torbutton/modules/utils.js", {});
let SecurityPrefs = Cu.import("resource://torbutton/modules/security-prefs.js", {});
let { bindPrefAndInit, observe } = Cu.import("resource://torbutton/modules/utils.js", {});
+let { bannerData } = Cu.import("resource://torbutton/modules/donation-banner.js", {});
const k_tb_last_browser_version_pref = "extensions.torbutton.lastBrowserVersion";
const k_tb_browser_update_needed_pref = "extensions.torbutton.updateNeeded";
@@ -450,7 +451,8 @@ var torbutton_abouttor_message_handler = {
torOn: torbutton_tor_check_ok(),
updateNeeded: torbutton_update_is_needed(),
showManual: torbutton_show_torbrowser_manual(),
- toolbarButtonXPos: torbutton_get_toolbarbutton_xpos()
+ toolbarButtonXPos: torbutton_get_toolbarbutton_xpos(),
+ bannerData: bannerData(),
};
},
diff --git a/src/chrome/locale/en/aboutTor.properties b/src/chrome/locale/en/aboutTor.properties
index 4436e21..d0d3a64 100644
--- a/src/chrome/locale/en/aboutTor.properties
+++ b/src/chrome/locale/en/aboutTor.properties
@@ -10,7 +10,7 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=Donate Now!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
diff --git a/src/chrome/skin/donation_banner.css b/src/chrome/skin/donation_banner.css
new file mode 100644
index 0000000..8580066
--- /dev/null
+++ b/src/chrome/skin/donation_banner.css
@@ -0,0 +1,113 @@
+#banner {
+ -khtml-user-select: none; /* Konqueror */
+ -moz-user-select: none; /* Firefox */
+ -ms-user-select: none; /* Internet Explorer/Edge */
+ -webkit-touch-callout: none; /* iOS Safari */
+ -webkit-user-select: none; /* Chrome/Safari/Opera */
+ display: none;
+ height: 150px;
+ justify-content: center;
+ left: 0px;
+ margin-top: 0px;
+ min-width: 900px;
+ opacity: 1;
+ position: absolute;
+ user-select: none;
+ width: 100%;
+ z-index: 1;
+}
+#banner:before {
+ background-color: #406;
+ background-image: url('resource://torbutton/chrome/content/aboutTor/onion-hand.png');
+ background-position: center;
+ background-size: cover;
+ content: "";
+ height: 150px;
+ left: 0px;
+ position: absolute;
+ top: 0px;
+ width: 100%;
+}
+#banner:-moz-dir(rtl):before {
+ transform: scaleX(-1);
+}
+#banner-contents-container {
+ align-items: center;
+ height: 100%;
+ max-width: 700px;
+ position: relative;
+ width: 700px;
+}
+#banner-tagline {
+ align-items: center;
+ bottom: 60px;
+ color: white;
+ display: flex;
+ font-family: monospace;
+ font-size: 8px;
+ font-weight: bold;
+ left: 85px;
+ position: absolute;
+ right: 0px;
+ text-align: start;
+ text-transform: uppercase;
+ top: 10px;
+}
+#banner-tagline:-moz-dir(rtl) {
+ left: 0px;
+ right: 85px;
+}
+#banner-slogan {
+ align-items: start;
+ bottom: 0px;
+ color: #f8f8a0;
+ display: flex;
+ font-family: monospace;
+ font-weight: bold;
+ left: 85px;
+ position: absolute;
+ right: 285px;
+ text-align: start;
+ top: 100px;
+ white-space: nowrap;
+}
+#banner-slogan:-moz-dir(rtl) {
+ left: 285px;
+ right: 85px;
+}
+#banner-donate-button {
+ background-color: #13a513;
+ border: 0px;
+ bottom: 10px;
+ color: #fbf7ef;
+ font-family: sans-serif;
+ font-size: 12px;
+ font-weight: bold;
+ left: 430px;
+ letter-spacing: -0.00em;
+ position: absolute;
+ right: 0px;
+ top: 100px;
+}
+#banner-donate-button:-moz-dir(rtl) {
+ left: 0px;
+ right: 430px;
+}
+#banner-donate-button:hover {
+ background-color: #38bc38;
+}
+#banner-donate-button-inner {
+ bottom: 6px;
+ display: flex;
+ justify-content: center;
+ left: 8px;
+ position: absolute;
+ right: 8px;
+ top: 6px;
+}
+#banner-spacer {
+ display: none;
+ height: 150px;
+ position: relative;
+ top: 0;
+}
diff --git a/src/modules/donation-banner.js b/src/modules/donation-banner.js
new file mode 100644
index 0000000..bb35e86
--- /dev/null
+++ b/src/modules/donation-banner.js
@@ -0,0 +1,112 @@
+/* jshint esversion:6 */
+
+const Cu = Components.utils;
+
+// ### Import Mozilla Services
+Cu.import("resource://gre/modules/Services.jsm");
+
+// A list of locales for which the banner has been translated.
+const kBannerLocales = [
+ "bg",
+ "da",
+ "el",
+ "en",
+ "es",
+ "fr",
+ "fr_CA",
+ "is",
+ "it",
+ "nb",
+ "tr",
+];
+
+// A list of donation page locales (at least redirects should exist).
+const kDonationPageLocales = [
+ "ar",
+ "de",
+ "en",
+ "es",
+ "fa",
+ "fr",
+ "it",
+ "ja",
+ "ko",
+ "nl",
+ "pl",
+ "pt",
+ "ru",
+ "tr",
+ "vi",
+ "zh",
+];
+
+const kPropertiesURL = "chrome://torbutton/locale/aboutTor.properties";
+const gStringBundle = Services.strings.createBundle(kPropertiesURL);
+
+// Check if we should show the banner, depends on
+// browser locale, current date, and how many times
+// we have already shown the banner.
+const shouldShowBanner = function ({ locale, shortLocale }) {
+ try {
+ // If our override test pref is true, then just show the banner regardless.
+ if (Services.prefs.getBoolPref("extensions.torbutton.testBanner", false)) {
+ return true;
+ }
+ // Don't show a banner if update is needed.
+ let updateNeeded = Services.prefs.getBoolPref("extensions.torbutton.updateNeeded");
+ if (updateNeeded) {
+ return false;
+ }
+ // Only show banner when we have that locale and if a donation redirect exists.
+ if (kBannerLocales.indexOf(locale) === -1 ||
+ kDonationPageLocales.indexOf(shortLocale) === -1) {
+ return false;
+ }
+ // Only show banner between 2017 Oct 23 and 2018 Jan 25.
+ let now = new Date();
+ let start = new Date(2017, 9, 23);
+ let end = new Date(2018, 0, 26);
+ let shownCountPref = "extensions.torbutton.donation_banner2017.shown_count";
+ if (now < start || now > end) {
+ // Clean up pref if not in use.
+ Services.prefs.clearUserPref(shownCountPref);
+ return false;
+ }
+ // Only show banner 50 times.
+ let count = 0;
+ if (Services.prefs.prefHasUserValue(shownCountPref)) {
+ count = Services.prefs.getIntPref(shownCountPref);
+ }
+ if (count >= 50) {
+ return false;
+ }
+ Services.prefs.setIntPref(shownCountPref, count+1);
+ return true;
+ } catch (e) {
+ return false;
+ }
+};
+
+// Read data needed for displaying banner on page.
+var bannerData = function () {
+ // Read short locale.
+ let locale = Services.prefs.getCharPref("general.useragent.locale");
+ let shortLocale = locale.match(/[a-zA-Z]+/)[0].toLowerCase();
+ if (!shouldShowBanner({ locale, shortLocale })) {
+ return null;
+ }
+ // Load tag lines.
+ let taglines = [];
+ for (let index = 0; index < 5; ++index) {
+ let tagline = gStringBundle.GetStringFromName(
+ "aboutTor.donationBanner.tagline" + (index + 1));
+ taglines.push(tagline);
+ }
+ // Read slogan and donate button text.
+ let slogan = gStringBundle.GetStringFromName("aboutTor.donationBanner.slogan");
+ let donate = gStringBundle.GetStringFromName("aboutTor.donationBanner.donate");
+ return JSON.stringify({ taglines, slogan, donate, shortLocale });
+};
+
+// Export utility functions for external use.
+var EXPORTED_SYMBOLS = ["bannerData"];
1
0
commit d46a79ded9874cdbb7857bbc7b75546425fe8293
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Sep 22 07:36:11 2017 +0000
Translations update
---
src/chrome/locale/ar/aboutTor.properties | 11 +++++++++++
src/chrome/locale/de/aboutTor.properties | 11 +++++++++++
src/chrome/locale/es/aboutTor.properties | 11 +++++++++++
src/chrome/locale/eu/aboutTor.properties | 11 +++++++++++
src/chrome/locale/fa/aboutTor.properties | 11 +++++++++++
src/chrome/locale/fr/aboutDialog.dtd | 6 +++---
src/chrome/locale/fr/aboutTor.dtd | 8 ++++----
src/chrome/locale/fr/aboutTor.properties | 11 +++++++++++
src/chrome/locale/fr/torbutton.dtd | 2 +-
src/chrome/locale/fr/torbutton.properties | 14 +++++++-------
src/chrome/locale/it/aboutTor.dtd | 2 +-
src/chrome/locale/it/aboutTor.properties | 11 +++++++++++
src/chrome/locale/it/torbutton.dtd | 2 +-
src/chrome/locale/ja/aboutTor.properties | 11 +++++++++++
src/chrome/locale/ko/aboutTor.properties | 11 +++++++++++
src/chrome/locale/nl/aboutTor.properties | 11 +++++++++++
src/chrome/locale/pl/aboutTor.properties | 11 +++++++++++
src/chrome/locale/pt-BR/aboutTor.properties | 11 +++++++++++
src/chrome/locale/pt-BR/torbutton.dtd | 2 +-
src/chrome/locale/ru/aboutTBUpdate.dtd | 2 +-
src/chrome/locale/ru/aboutTor.properties | 11 +++++++++++
src/chrome/locale/ru/torbutton.dtd | 2 +-
src/chrome/locale/sv/aboutTor.properties | 11 +++++++++++
src/chrome/locale/tr/aboutTor.dtd | 2 +-
src/chrome/locale/tr/aboutTor.properties | 11 +++++++++++
src/chrome/locale/tr/brand.properties | 2 +-
src/chrome/locale/tr/torbutton.dtd | 4 ++--
src/chrome/locale/vi/aboutTor.properties | 11 +++++++++++
src/chrome/locale/zh-CN/aboutTor.properties | 11 +++++++++++
29 files changed, 211 insertions(+), 24 deletions(-)
diff --git a/src/chrome/locale/ar/aboutTor.properties b/src/chrome/locale/ar/aboutTor.properties
index a93fa44..63cf16b 100644
--- a/src/chrome/locale/ar/aboutTor.properties
+++ b/src/chrome/locale/ar/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=ابحث <a href="%1$S">آمنا</a> مع <a href="%2
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/de/aboutTor.properties b/src/chrome/locale/de/aboutTor.properties
index 132a3d0..3233797 100644
--- a/src/chrome/locale/de/aboutTor.properties
+++ b/src/chrome/locale/de/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%1$S">Sicheres</a> Suchen mit <a href="%2$S"
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/es/aboutTor.properties b/src/chrome/locale/es/aboutTor.properties
index 2c464fb..01cd311 100644
--- a/src/chrome/locale/es/aboutTor.properties
+++ b/src/chrome/locale/es/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Busque <a href="%1$S">de forma segura</a> con <a href
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy?kl=-es
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/?kl=-es
+
+aboutTor.donationBanner.donate=¡Dona ahora!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=¡Dona hoy y Mozilla te la igualará!
+
+aboutTor.donationBanner.tagline1=Protegiendo a periodistas, informantes, y activistas desde 2006
+aboutTor.donationBanner.tagline2=Libertad de interconexión por todo el mundo
+aboutTor.donationBanner.tagline3=Libertad en la red
+aboutTor.donationBanner.tagline4=Fomentando la libertad de expresión por todo el mundo
+aboutTor.donationBanner.tagline5=Protegiendo la privacidad de millones de personas cada día
diff --git a/src/chrome/locale/eu/aboutTor.properties b/src/chrome/locale/eu/aboutTor.properties
index ffd89fe..54adb53 100644
--- a/src/chrome/locale/eu/aboutTor.properties
+++ b/src/chrome/locale/eu/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Bilatu<a href="%1$S">modu seguruan</a> ondokoarekin:
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/fa/aboutTor.properties b/src/chrome/locale/fa/aboutTor.properties
index 8b819db..3458e6e 100644
--- a/src/chrome/locale/fa/aboutTor.properties
+++ b/src/chrome/locale/fa/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=جستجو <a href="%1$S">ایمن</a> با <a href="
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/fr/aboutDialog.dtd b/src/chrome/locale/fr/aboutDialog.dtd
index 4b7da91..bc47fce 100644
--- a/src/chrome/locale/fr/aboutDialog.dtd
+++ b/src/chrome/locale/fr/aboutDialog.dtd
@@ -3,7 +3,7 @@
<!ENTITY project.tpoLink "le &vendorShortName;">
<!ENTITY project.end ", une organisation sans but lucratif travaillant à la protection de vos renseignements personnels et de votre liberté en ligne.">
-<!ENTITY help.start "Voulez-vous aider ?">
+<!ENTITY help.start "Voulez-vous aider ?">
<!-- LOCALIZATION NOTE (help.donate): This is a link title that links to https://www.torproject.org/donate/donate.html.en -->
<!ENTITY help.donateLink "Faites un don">
<!ENTITY help.or "ou">
@@ -11,9 +11,9 @@
<!ENTITY help.getInvolvedLink "impliquez-vous">
<!ENTITY help.end " !">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to https://www.torproject.org/docs/trademark-faq.html.en -->
-<!ENTITY bottomLinks.questions "Des questions ?">
+<!ENTITY bottomLinks.questions "Des questions ?">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to https://www.torproject.org/getinvolved/relays -->
-<!ENTITY bottomLinks.grow "Aidez à la croissance du réseau Tor !">
+<!ENTITY bottomLinks.grow "Aidez à la croissance du réseau Tor !">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to about:license -->
<!ENTITY bottomLinks.license "Informations de licence">
<!ENTITY tor.TrademarkStatement "« Tor » et le « logo Oignon » sont des marques déposées de « The Tor Project, Inc. »">
diff --git a/src/chrome/locale/fr/aboutTor.dtd b/src/chrome/locale/fr/aboutTor.dtd
index 6b5899d..8b1e3b1 100644
--- a/src/chrome/locale/fr/aboutTor.dtd
+++ b/src/chrome/locale/fr/aboutTor.dtd
@@ -15,7 +15,7 @@
<!ENTITY aboutTor.success.label "Bienvenue dans le navigateur Tor">
<!ENTITY aboutTor.success2.label "Connecté au réseau Tor.">
<!ENTITY aboutTor.success3.label "Vous êtes maintenant libre de naviguer sur Internet anonymement.">
-<!ENTITY aboutTor.failure.label "Une erreur s'est produite !">
+<!ENTITY aboutTor.failure.label "Une erreur s'est produite !">
<!ENTITY aboutTor.failure2.label "Tor ne fonctionne pas dans ce navigateur.">
<!ENTITY aboutTor.search.label "Rechercher">
@@ -25,13 +25,13 @@
<!ENTITY aboutTor.torInfo2.label "Pays & adresse IP :">
<!ENTITY aboutTor.torInfo3.label "Nœud de sortie :">
<!ENTITY aboutTor.torInfo4.label "Ce serveur ne journalise aucune information sur les visteurs.">
-<!ENTITY aboutTor.whatnextQuestion.label "Que faire ensuite ?">
-<!ENTITY aboutTor.whatnextAnswer.label "Tor n'est PAS tout ce dont vous avez besoin pour naviguer anonymement! Vous aurez peut-être à changer certaines de vos habitudes de navigation pour garder votre identité en sécurité.">
+<!ENTITY aboutTor.whatnextQuestion.label "Que faire ensuite ?">
+<!ENTITY aboutTor.whatnextAnswer.label "Tor n'est PAS tout ce dont vous avez besoin pour naviguer anonymement ! Vous aurez peut-être à changer certaines de vos habitudes de navigation pour garder votre identité en sécurité.">
<!ENTITY aboutTor.whatnext.label "Conseils pour rester anonyme »">
<!ENTITY aboutTor.whatnext.link "https://www.torproject.org/download/download.html#warning">
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "G">
<!ENTITY aboutTor.torbrowser_user_manual.label "Le guide d'utilisation du navigateur Tor">
-<!ENTITY aboutTor.helpInfo1.label "Vous pouvez aider !">
+<!ENTITY aboutTor.helpInfo1.label "Vous pouvez aider !">
<!ENTITY aboutTor.helpInfo2.label "Vous pouvez aider à rendre le réseau Tor plus rapide et plus puissant de plusieurs façons :">
<!ENTITY aboutTor.helpInfo3.label "Faire tourner un nœud relais Tor »">
<!ENTITY aboutTor.helpInfo3.link "https://www.torproject.org/docs/tor-doc-relay.html">
diff --git a/src/chrome/locale/fr/aboutTor.properties b/src/chrome/locale/fr/aboutTor.properties
index c5bec4c..bdaedb7 100644
--- a/src/chrome/locale/fr/aboutTor.properties
+++ b/src/chrome/locale/fr/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Rechercher <a href="%1$S">en toute sécurité</a> ave
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Faites un don maintenant !
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Faites un don aujourd'hui et Mozilla fera un don équivalent !
+
+aboutTor.donationBanner.tagline1=Nous protégeons journalistes, lanceurs d'alerte et activistes depuis 2006
+aboutTor.donationBanner.tagline2=Vers un réseau mondial de liberté
+aboutTor.donationBanner.tagline3=La liberté en ligne
+aboutTor.donationBanner.tagline4=Pour favoriser la libre expression dans le monde entier
+aboutTor.donationBanner.tagline5=Nous protégeons les renseignements personnels de millions de personnes, chaque jour
diff --git a/src/chrome/locale/fr/torbutton.dtd b/src/chrome/locale/fr/torbutton.dtd
index cbbbb95..978cbc1 100644
--- a/src/chrome/locale/fr/torbutton.dtd
+++ b/src/chrome/locale/fr/torbutton.dtd
@@ -37,7 +37,7 @@
<!ENTITY torbutton.prefs.sec_low_usable_desc "Cela offre l'expérience la plus conviviale.">
<!ENTITY torbutton.prefs.sec_low_desc "À ce niveau de sécurité, toutes les fonctions du navigateur sont activées.">
<!ENTITY torbutton.prefs.sec_font_rend_svg_tooltip "Le mécanisme de rendu de police SVG OpenType est désactivé.">
-<!ENTITY torbutton.prefs.sec_gen_desc "À ce niveau de sécurité, les changements suivants sont applicables (survolez avec la souris pour plus de détails ) :">
+<!ENTITY torbutton.prefs.sec_gen_desc "À ce niveau de sécurité, les changements suivants sont applicables (survolez avec la souris pour plus de détails) :">
<!ENTITY torbutton.prefs.sec_html5_desc "Le contenu HTML5 vidéo et audio devient « cliquer pour lire » avec NoScript.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Pour certains sites, vous aurez peut-être à utiliser le bouton NoScript de la barre d'outils pour activer ces objets multimédias.">
<!ENTITY torbutton.prefs.sec_some_jit_desc "Certaines optimisations de performance de JavaScript sont désactivées.">
diff --git a/src/chrome/locale/fr/torbutton.properties b/src/chrome/locale/fr/torbutton.properties
index 907babc..945dc11 100644
--- a/src/chrome/locale/fr/torbutton.properties
+++ b/src/chrome/locale/fr/torbutton.properties
@@ -11,22 +11,22 @@ torbutton.panel.tooltip.enabled = Cliquer pour désactiver Tor
torbutton.panel.label.disabled = Tor Inactif
torbutton.panel.label.enabled = Tor Actif
extensions.torbutton(a)torproject.org.description = BoutonTor fournit un bouton pour configurer les paramètres de Tor et vider facilement les données de navigation privée.
-torbutton.popup.external.title = Télécharger un type de fichier externe
+torbutton.popup.external.title = Télécharger un type de fichier externe ?
torbutton.popup.external.app = Le Navigateur Tor ne peut pas afficher ce fichier. Il est necessaire de l'ouvrir avec une autre application.
torbutton.popup.external.note = Certains types de fichiers peuvent causer des connexions à l'Internet sans passer par Tor pour certaines applications
torbutton.popup.external.suggest = Par sécurité, vous ne devriez ouvrir les fichiers téléchargés que lorsque vous êtes hors ligne, ou en utilisant un CD autonome Tor comme Tails.\n
torbutton.popup.launch = Télécharger le fichier
torbutton.popup.cancel = Annuler
torbutton.popup.dontask = Télécharger automatiquement à partir de maintenant
-torbutton.popup.prompted_language = Pour renforcer votre anonymat, BoutonTor peut demander la version anglaise des pages Web. Les pages que vous préférez lire dans votre langue préférée pourraient alors s'afficher en anglais.\n\nVoulez-vous demander des pages Web en anglais pour améliorer votre anonymat ?
-torbutton.popup.no_newnym = BoutonTor ne peut pas vous délivrer une nouvelle identité de façon sûre. Il n'a pas accès au port de contrôle de Tor.\n\nUtilisez-vous l'offre groupée de navigation Tor ?
+torbutton.popup.prompted_language = Pour renforcer votre anonymat, BoutonTor peut demander la version anglaise des pages Web. Les pages que vous préférez lire dans votre langue préférée pourraient alors s'afficher en anglais.\n\nVoulez-vous demander des pages Web en anglais pour améliorer votre anonymat ?
+torbutton.popup.no_newnym = BoutonTor ne peut pas vous attribuer une nouvelle identité de façon sûre. Il n'a pas accès au port de contrôle de Tor.\n\nUtilisez-vous l'offre groupée de navigation Tor ?
torbutton.title.prompt_torbrowser = Informations importantes concernant BoutonTor
torbutton.popup.prompt_torbrowser = BoutonTor fonctionne différemment maintenant : vous ne pouvez plus le désactiver.\n\nNous avons effectué ce changement car il n'est pas sécuritaire d'utiliser BoutonTor dans un navigateur qui est également utiliser pour une navigation sans Tor. Trop de bogues ne pouvaient être réglés autrement.\n\nSi vous voulez continuer à utiliser Firefox normalement, vous devriez désinstaller BoutonTor et télécharger l'offre groupée de navigation Tor. Les propriétés de confidentialité du navigateur Tor sont aussi supérieures à celles de Firefox, même s'il est utilisé avec BoutonTor.\n\nPour enlever BoutonTor, allez dans Outils->Modules complémentaires->Extensions et cliquer sur Supprimer à coté de BoutonTor.
-torbutton.popup.short_torbrowser = Informations importantes concernant BoutonTor !\n\nBoutonTor est dorénavant toujours activé.\n\nCliquer sur BoutonTor pour plus d'informations.
+torbutton.popup.short_torbrowser = Informations importantes concernant BoutonTor !\n\nBoutonTor est toujours activé dorénavant.\n\nCliquer sur BoutonTor pour plus d'informations.
-torbutton.popup.confirm_plugins = Les greffons tels que Flash peuvent nuire à votre anonymat et vie privée.\n\nIls peuvent également contourner Tor afin de révéler votre position actuelle ainsi que votre adresse IP.\n\nÊtes-vous certain de vouloir activer les greffons ?\n\n
+torbutton.popup.confirm_plugins = Les greffons tels que Flash peuvent nuire à vos anonymat et vie privée.\n\nIls peuvent également contourner Tor afin de révéler votre position actuelle ainsi que votre adresse IP.\n\nÊtes-vous certain de vouloir activer les greffons ?\n\n
torbutton.popup.never_ask_again = Ne plus me poser la question.
-torbutton.popup.confirm_newnym = Le navigateur Tor fermera toutes les fenêtres et onglets. Toutes les sessions des sites Web seront perdues.\n\nRedémarrer le navigateur Tor maintenant pour réinitialiser votre identité ?\n\n
+torbutton.popup.confirm_newnym = Le navigateur Tor fermera tous les fenêtres et onglets. Toutes les sessions des sites Web seront perdues.\n\nRedémarrer le navigateur Tor maintenant pour réinitialiser votre identité ?\n\n
torbutton.slider_notification = Le menu de l'oignon vert propose maintenant un curseur de sécurité qui vous laisse ajuster votre niveau de sécurité. Découvrez-le !
torbutton.slider_notification_button = Ouvrir préférences de sécurité
@@ -34,7 +34,7 @@ torbutton.slider_notification_button = Ouvrir préférences de sécurité
torbutton.maximize_warning = Maximiser le navigateur Tor à l'écran peut permettre aux sites Web de déterminer votre taille de moniteur, laquelle peut être utilisée pour vous suivre à la trace. Nous recommandons que vous laissiez les fenêtres du navigateur Tor dans leur taille d'origine.
# Canvas permission prompt. Strings are kept here for ease of translation.
-canvas.siteprompt=Ce site Web (%S) a essayé d'extraire des données d'image de canevas HTML5, qui pourraient être utilisées pour identifier votre ordinateur de façon unique.\n\nLe navigateur Tor devrait-il permettre à ce site Web d'extraire des données d'image de canevas HTML5 ?
+canvas.siteprompt=Ce site Web (%S) a essayé d'extraire des données d'image de canevas HTML5, qui pourraient être utilisées pour identifier votre ordinateur de façon unique.\n\nLe navigateur Tor devrait-il permettre à ce site Web d'extraire des données d'image de canevas HTML5 ?
canvas.notNow=Pas maintenant
canvas.notNowAccessKey=P
canvas.allow=Autoriser à l’avenir
diff --git a/src/chrome/locale/it/aboutTor.dtd b/src/chrome/locale/it/aboutTor.dtd
index 2794b02..a016f6b 100644
--- a/src/chrome/locale/it/aboutTor.dtd
+++ b/src/chrome/locale/it/aboutTor.dtd
@@ -12,7 +12,7 @@
<!ENTITY aboutTor.check.label "Test Impostazioni della Rete Tor">
-<!ENTITY aboutTor.success.label "Benvenuto nel Browser TOR">
+<!ENTITY aboutTor.success.label "Benvenuto nel browser TOR">
<!ENTITY aboutTor.success2.label "Connesso alla rete TOR.">
<!ENTITY aboutTor.success3.label "Ora sei libero di navigare in internet anonimamente.">
<!ENTITY aboutTor.failure.label "Qualcosa è Andato Storto!">
diff --git a/src/chrome/locale/it/aboutTor.properties b/src/chrome/locale/it/aboutTor.properties
index ebd910f..8d5b3a7 100644
--- a/src/chrome/locale/it/aboutTor.properties
+++ b/src/chrome/locale/it/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Cerca <a href="%1$S">in modo sicuro</a> con <a href="
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Dona adesso!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Proteggiamo giornalisti, informatori e attivisti dal 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Libertà online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Proteggiamo la privacy di milioni di persone ogni giorno
diff --git a/src/chrome/locale/it/torbutton.dtd b/src/chrome/locale/it/torbutton.dtd
index a18ff01..d5aed79 100644
--- a/src/chrome/locale/it/torbutton.dtd
+++ b/src/chrome/locale/it/torbutton.dtd
@@ -12,7 +12,7 @@
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "Fai clic per inizializzare Torbutton">
<!ENTITY torbutton.prefs.security_settings "Impostazioni di Sicurezza Tor Browser">
-<!ENTITY torbutton.prefs.restore_defaults "Ripristina Defaults">
+<!ENTITY torbutton.prefs.restore_defaults "Ripristina Default">
<!ENTITY torbutton.prefs.custom_warning "Le tue impostazioni del browser sembrano avere preferenze di sicurezza insolite. Per motivi di sicurezza e privacy, ti consigliamo di scegliere uno dei livelli di sicurezza predefiniti.">
<!ENTITY torbutton.cookiedialog.title "Gestisci protezione Cookies">
<!ENTITY torbutton.cookiedialog.lockCol "Protetto">
diff --git a/src/chrome/locale/ja/aboutTor.properties b/src/chrome/locale/ja/aboutTor.properties
index 04863e3..6fdf984 100644
--- a/src/chrome/locale/ja/aboutTor.properties
+++ b/src/chrome/locale/ja/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%2$S">DuckDuckGo</a>で<a href="%1$S">安全
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/ko/aboutTor.properties b/src/chrome/locale/ko/aboutTor.properties
index 33ce0e8..d09b69c 100644
--- a/src/chrome/locale/ko/aboutTor.properties
+++ b/src/chrome/locale/ko/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%2$S">DuckDuckGo</a>를 통해 <a href="%1$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/nl/aboutTor.properties b/src/chrome/locale/nl/aboutTor.properties
index a85279a..ee9cc49 100644
--- a/src/chrome/locale/nl/aboutTor.properties
+++ b/src/chrome/locale/nl/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%1$S">Veilig</a> zoeken met <a href="%2$S">D
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/pl/aboutTor.properties b/src/chrome/locale/pl/aboutTor.properties
index 28f1e0b..dc12b3a 100644
--- a/src/chrome/locale/pl/aboutTor.properties
+++ b/src/chrome/locale/pl/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Szukaj <a href="%1$S">bezpiecznie</a> używając wysz
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/pt-BR/aboutTor.properties b/src/chrome/locale/pt-BR/aboutTor.properties
index 76e2b42..84a283a 100644
--- a/src/chrome/locale/pt-BR/aboutTor.properties
+++ b/src/chrome/locale/pt-BR/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Buscar <a href="%1$S">com segurança</a> utilizando <
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Faça uma Doação Agora!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Faça uma doação hoje e a Mozilla vai doará em dobro!
+
+aboutTor.donationBanner.tagline1=Protegendo Jornalistas, Whistleblowers e Ativistas desde 2006
+aboutTor.donationBanner.tagline2=Construindo Redes de Liberdade no Mundo Todo
+aboutTor.donationBanner.tagline3=Liberdade na Internet
+aboutTor.donationBanner.tagline4=Promovendo Liberdade de Expressão no Mundo Todo
+aboutTor.donationBanner.tagline5=Protegendo a Privacidade de Milhões de Pessoas Todos os Dias
diff --git a/src/chrome/locale/pt-BR/torbutton.dtd b/src/chrome/locale/pt-BR/torbutton.dtd
index c30395b..4cc12cb 100644
--- a/src/chrome/locale/pt-BR/torbutton.dtd
+++ b/src/chrome/locale/pt-BR/torbutton.dtd
@@ -6,7 +6,7 @@
<!ENTITY torbutton.context_menu.preferences.key "S">
<!ENTITY torbutton.context_menu.networksettings "Configurações da Rede Tor...">
<!ENTITY torbutton.context_menu.networksettings.key "N">
-<!ENTITY torbutton.context_menu.downloadUpdate "Aplicar Atualizações do Navegador Tor...">
+<!ENTITY torbutton.context_menu.downloadUpdate "Procurar Atualizações do Navegador Tor...">
<!ENTITY torbutton.context_menu.downloadUpdate.key "U">
<!ENTITY torbutton.context_menu.cookieProtections "Proteções contra Cookies...">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
diff --git a/src/chrome/locale/ru/aboutTBUpdate.dtd b/src/chrome/locale/ru/aboutTBUpdate.dtd
index 21221ac..e516637 100644
--- a/src/chrome/locale/ru/aboutTBUpdate.dtd
+++ b/src/chrome/locale/ru/aboutTBUpdate.dtd
@@ -1,5 +1,5 @@
<!ENTITY aboutTBUpdate.title "Обновление браузера Tor">
-<!ENTITY aboutTBUpdate.updated "Браузер Tor обновлён.">
+<!ENTITY aboutTBUpdate.updated "Tor Browser обновлен.">
<!ENTITY aboutTBUpdate.linkPrefix "Чтобы получить наиболее свежую информацию об этом выпуске,">
<!ENTITY aboutTBUpdate.linkLabel "посетите наш вебсайт">
<!ENTITY aboutTBUpdate.linkSuffix ".">
diff --git a/src/chrome/locale/ru/aboutTor.properties b/src/chrome/locale/ru/aboutTor.properties
index 2c1cba6..695436a 100644
--- a/src/chrome/locale/ru/aboutTor.properties
+++ b/src/chrome/locale/ru/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Ищите<a href="%1$S">безопасно</a> с <a
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/ru/torbutton.dtd b/src/chrome/locale/ru/torbutton.dtd
index 32018fe..839bfca 100644
--- a/src/chrome/locale/ru/torbutton.dtd
+++ b/src/chrome/locale/ru/torbutton.dtd
@@ -27,7 +27,7 @@
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Не защищать новые куки-файлы">
<!ENTITY torbutton.prefs.restrict_thirdparty "Блокировать сторонние куки-файлы и другие данные слежения">
<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Оставьте флажок напротив этой опции отмеченным, чтобы защитить многие функции обозревателя от элементов отслеживания ваших действий во время сёрфинга в сети. Модифицированные компоненты включают в себя ссылки на блобы, транслируемые каналы, кэш браузера, файлы куки, значки, заголовки аутентификации HTTP, ссылки предпросмотра, локальное хранилище, ссылки на медиаконтент, запросы OCSP, SharedWorkers и объявления сессии TLS.">
+<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Оставьте флажок напротив этой опции отмеченным, чтобы защитить многие функции обозревателя от элементов отслеживания ваших действий во время серфинга в сети. Модифицированные компоненты включают в себя ссылки на блобы, транслируемые каналы, кэш браузера, файлы куки, значки, заголовки аутентификации HTTP, ссылки предпросмотра, локальное хранилище, ссылки на медиаконтент, запросы OCSP, SharedWorkers и объявления сессии TLS.">
<!ENTITY torbutton.prefs.resist_fingerprinting "Изменить сведения, отличающие вас от других пользователей Tor Browser">
<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Keep this box checked to hide things from websites that could be unique about you, including your computer performance, keyboard layout, locale, the location of installed plugins, the list of installed plugins, your network status, screen orientation, screen size, site-specific zoom levels, supported file types, system colors, and WebGL capabilities.">
diff --git a/src/chrome/locale/sv/aboutTor.properties b/src/chrome/locale/sv/aboutTor.properties
index 3f8d276..64b0ed9 100644
--- a/src/chrome/locale/sv/aboutTor.properties
+++ b/src/chrome/locale/sv/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Sök <a href="%1$S">säkert</a> med <a href="%2$S">Du
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/tr/aboutTor.dtd b/src/chrome/locale/tr/aboutTor.dtd
index c777790..9dd32fb 100644
--- a/src/chrome/locale/tr/aboutTor.dtd
+++ b/src/chrome/locale/tr/aboutTor.dtd
@@ -35,7 +35,7 @@
<!ENTITY aboutTor.helpInfo2.label "Tor ağını daha hızlı güçlü kılmaya yardımcı olabilmenin çeşitli yolları var:">
<!ENTITY aboutTor.helpInfo3.label "Tor Aktarıcı Noktası Çalıştır »">
<!ENTITY aboutTor.helpInfo3.link "https://www.torproject.org/docs/tor-doc-relay.html.en">
-<!ENTITY aboutTor.helpInfo4.label "Gönüllü Hizmetlerde Bulunun »">
+<!ENTITY aboutTor.helpInfo4.label "Gönüllü Destekte Bulunun »">
<!ENTITY aboutTor.helpInfo4.link "https://www.torproject.org/getinvolved/volunteer.html.en">
<!ENTITY aboutTor.helpInfo5.label "Bağış Yapın »">
<!ENTITY aboutTor.helpInfo5.link "https://www.torproject.org/donate/donate.html.en">
diff --git a/src/chrome/locale/tr/aboutTor.properties b/src/chrome/locale/tr/aboutTor.properties
index 17ed50d..3b7a7d6 100644
--- a/src/chrome/locale/tr/aboutTor.properties
+++ b/src/chrome/locale/tr/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%2$S">DuckDuckGo</a> kullanarak <a href="%1$
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Bağış Yapın
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Destek olun ve Mozilla tarafından hediyenizin karşılığını alın!
+
+aboutTor.donationBanner.tagline1=2006 Yılından Beri Gazeteciler, Yolsuzlukları Açıklayanlar ve Aktivistler Korunuyor
+aboutTor.donationBanner.tagline2=Tüm Dünyada Ağ Özgürlüğü
+aboutTor.donationBanner.tagline3=Çevrimiçi Özgürlük
+aboutTor.donationBanner.tagline4=Tüm Dünyada İfade Özgürlüğü Destekleniyor
+aboutTor.donationBanner.tagline5=Her Gün Milyonlarca Kişinin Gizliliği Korunuyor
diff --git a/src/chrome/locale/tr/brand.properties b/src/chrome/locale/tr/brand.properties
index 2c16808..7c76426 100644
--- a/src/chrome/locale/tr/brand.properties
+++ b/src/chrome/locale/tr/brand.properties
@@ -8,7 +8,7 @@ brandFullName=Tor Browser
vendorShortName=Tor Projesi
homePageSingleStartMain=Firefox Start, içinde arama bulunan hızlı açılış sayfası
-homePageImport=%S üzerinden açılış sayfanızı alın.
+homePageImport=%S üzerinden açılış sayfanızı içe aktarın.
homePageMigrationPageTitle=Açılış Sayfası Seçimi
homePageMigrationDescription=Lütfen kullanmak istediğiniz açılış sayfasını seçin:
diff --git a/src/chrome/locale/tr/torbutton.dtd b/src/chrome/locale/tr/torbutton.dtd
index 47faf53..7d1fc7e 100644
--- a/src/chrome/locale/tr/torbutton.dtd
+++ b/src/chrome/locale/tr/torbutton.dtd
@@ -30,7 +30,7 @@
<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Bu seçeneği işaretleyerek, çeşitli web tarayıcıların, web sitelerinde yaptığınız işlemleri izlemesini engelleyebilirsiniz. Değiştirilen özellikler içinde blob İnternet adresleri, yayın kanalları, web tarayıcı ön belleği, çerezler, favicon dosyaları, HTTP Auth başlık bilgileri, ön bağlantı bilgileri, localStorage, mediaSource adresleri, OCSP istekleri, SharedWorkers ve TLS oturumu bulunur.">
<!ENTITY torbutton.prefs.resist_fingerprinting "Diğer Tor Browser kullanıcılarından sizi ayıran ayrıntılar değiştirilsin">
<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Bilgisayarınızın performansı, klavye düzeni, yerel dil, kurulu eklentilerin konumu, kurulu eklentilerin listesi, ağınızın durumu, ekran yönlendirmesi, ekran boyutu, siteye bağlı özel yakınlaştırma seviyeleri, desteklenen dosya türleri, sistem renkleri ve WebGL yetenekleri gibi sizin için benzersiz olabilecek şeyleri gizlemek için bu kutuyu işaretli tutun.">
+<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Bilgisayarınızın başarımı, tuş takımı düzeni, yerel dil ayarları, yüklenmiş eklentilerin konumu, yüklenmiş eklentilerin listesi, ağınızın durumu, ekran yönlendirmesi, ekran boyutu, siteye bağlı özel yakınlaştırma seviyeleri, desteklenen dosya türleri, sistem renkleri ve WebGL yetenekleri gibi size özel olan ve kimliğinizin belirlenmesinde kullanılabilecek bilgileri gizlemek için bu kutuyu işaretlenmiş olarak tutun.">
<!ENTITY torbutton.prefs.sec_caption "Güvenlik Düzeyi">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Güvenlik ayarı ile belirli web tarayıcı özeliklerini kapatabilirsiniz. Ancak bu durumda web tarayıcınız saldırılara karşı daha korumasız olur.">
<!ENTITY torbutton.prefs.sec_low "Düşük (varsayılan)">
@@ -41,7 +41,7 @@
<!ENTITY torbutton.prefs.sec_html5_desc "HTML5 görüntü ve ses ortamı NoScript aracılığıyla tıklayıp oynat şekline dönüştürülür.">
<!ENTITY torbutton.prefs.sec_html5_tooltip "Bazı sitelerde bu ortam nesnelerini etkinleştirebilmek için NoScript düğmesinin kullanılması gerekebilir.">
<!ENTITY torbutton.prefs.sec_some_jit_desc "Bazı JavaScript başarım iyileştirmeleri devre dışı bırakılır.">
-<!ENTITY torbutton.prefs.sec_jit_desc_tooltip "ION JIT, Doğal Düzenli İfade.">
+<!ENTITY torbutton.prefs.sec_jit_desc_tooltip "ION JIT, Doğal Kurallı İfade">
<!ENTITY torbutton.prefs.sec_baseline_jit_desc_tooltip "Sınır Çizgi JIT.">
<!ENTITY torbutton.prefs.sec_jit_slower_desc "Bazı sitelerde betikler daha yavaş çalışabilir.">
<!ENTITY torbutton.prefs.sec_mathml_desc "Matematik denklemlerini görüntüleyen bazı düzenekler devre dışı bırakılır.">
diff --git a/src/chrome/locale/vi/aboutTor.properties b/src/chrome/locale/vi/aboutTor.properties
index 6cdeffb..ca9fa4e 100644
--- a/src/chrome/locale/vi/aboutTor.properties
+++ b/src/chrome/locale/vi/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Tìm kiếm <a href="%1$S">một cách an toàn</a>v
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/src/chrome/locale/zh-CN/aboutTor.properties b/src/chrome/locale/zh-CN/aboutTor.properties
index 0bd6766..32beeb1 100644
--- a/src/chrome/locale/zh-CN/aboutTor.properties
+++ b/src/chrome/locale/zh-CN/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=使用<a href="%2$S">DuckDuckGo</a><a href="%1$S">安
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
1
0

[torbutton/maint-1.9.7] Bug 23526: 2017 Donation banner text ready for translation
by gk@torproject.org 17 Oct '17
by gk@torproject.org 17 Oct '17
17 Oct '17
commit d49b20fe1bd98a9c13c12f9cdeb32f15427086de
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Thu Sep 14 21:41:36 2017 -0700
Bug 23526: 2017 Donation banner text ready for translation
---
src/chrome/locale/en/aboutTor.properties | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/chrome/locale/en/aboutTor.properties b/src/chrome/locale/en/aboutTor.properties
index f9723bf..4436e21 100644
--- a/src/chrome/locale/en/aboutTor.properties
+++ b/src/chrome/locale/en/aboutTor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
1
0

[torbutton/maint-1.9.7] fixup! Bug 19273: Avoid JavaScript patching of the external app helper dialog.
by gk@torproject.org 17 Oct '17
by gk@torproject.org 17 Oct '17
17 Oct '17
commit 61aaf90a94efd737213e31405f77965dd36001cd
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Aug 30 12:06:24 2017 -0400
fixup! Bug 19273: Avoid JavaScript patching of the external app helper dialog.
Improve the overview/summary comment in external-app-blocker.js.
---
src/components/external-app-blocker.js | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/components/external-app-blocker.js b/src/components/external-app-blocker.js
index ca86580..1f88fc7 100644
--- a/src/components/external-app-blocker.js
+++ b/src/components/external-app-blocker.js
@@ -8,9 +8,8 @@
* due to Firefox Bug https://bugzilla.mozilla.org/show_bug.cgi?id=440892
*
* An instance of this module is created each time the browser starts to
- * download a file that may be opened by another or application and when
- * an external application may be invoked to handle an URL (e.g., when the
- * user clicks on a mailto: URL).
+ * download a file and when an external application may be invoked to
+ * handle an URL (e.g., when the user clicks on a mailto: URL).
*************************************************************************/
const Cc = Components.classes;
1
0

[torbutton/maint-1.9.7] fixup! Bug 19273: Avoid JavaScript patching of the external app helper dialog.
by gk@torproject.org 17 Oct '17
by gk@torproject.org 17 Oct '17
17 Oct '17
commit 0144a6719ccb45ec7727454880c4350e40a418d5
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Thu Jul 20 17:11:53 2017 -0400
fixup! Bug 19273: Avoid JavaScript patching of the external app helper dialog.
For compatibility with recent changes to our browser patch, change the
external app blocker module so it implements the new nsIHelperAppWarningDialog
interface. Since the external app blocker module is no longer a service,
split the drag and drop filter into a separate component (which remains a
service).
---
src/chrome.manifest | 7 +-
src/components/dragDropFilter.js | 86 +++++++++++++++++
src/components/external-app-blocker.js | 169 ++++++++++++++++-----------------
3 files changed, 175 insertions(+), 87 deletions(-)
diff --git a/src/chrome.manifest b/src/chrome.manifest
index 272401b..65f55a9 100644
--- a/src/chrome.manifest
+++ b/src/chrome.manifest
@@ -143,8 +143,11 @@ skin torbutton classic/1.0 chrome/skin/
style chrome://global/content/customizeToolbar.xul chrome://torbutton/skin/torbutton.css
# Firefox 4-style component registration
+component {f605ec27-d867-44b5-ad97-2a29276642c3} components/dragDropFilter.js
+contract @torproject.org/torbutton-dragDropFilter;1 {f605ec27-d867-44b5-ad97-2a29276642c3}
+
component {3da0269f-fc29-4e9e-a678-c3b1cafcf13f} components/external-app-blocker.js
-contract @torproject.org/torbutton-extAppBlockerService;1 {3da0269f-fc29-4e9e-a678-c3b1cafcf13f}
+contract @torproject.org/torbutton-extAppBlocker;1 {3da0269f-fc29-4e9e-a678-c3b1cafcf13f}
component {06322def-6fde-4c06-aef6-47ae8e799629} components/startup-observer.js
contract @torproject.org/startup-observer;1 {06322def-6fde-4c06-aef6-47ae8e799629}
@@ -165,4 +168,4 @@ category profile-after-change CookieJarSelector @torproject.org/cookie-jar-selec
category profile-after-change StartupObserver @torproject.org/startup-observer;1
category profile-after-change DomainIsolator @torproject.org/domain-isolator;1
-category profile-after-change ExtAppBlockerService @torproject.org/torbutton-extAppBlockerService;1
+category profile-after-change DragDropFilter @torproject.org/torbutton-dragDropFilter;1
diff --git a/src/components/dragDropFilter.js b/src/components/dragDropFilter.js
new file mode 100644
index 0000000..22dde86
--- /dev/null
+++ b/src/components/dragDropFilter.js
@@ -0,0 +1,86 @@
+/*************************************************************************
+ * Drag and Drop Handler.
+ *
+ * Implements an observer that filters drag events to prevent OS
+ * access to URLs (a potential proxy bypass vector).
+ *************************************************************************/
+
+const Cc = Components.classes;
+const Ci = Components.interfaces;
+const Cu = Components.utils;
+
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+
+// Module specific constants
+const kMODULE_NAME = "Torbutton Drag and Drop Handler";
+const kCONTRACT_ID = "@torproject.org/torbutton-dragDropFilter;1";
+const kMODULE_CID = Components.ID("f605ec27-d867-44b5-ad97-2a29276642c3");
+
+const kInterfaces = [Ci.nsIObserver, Ci.nsIClassInfo];
+
+function DragDropFilter() {
+ this.logger = Cc["@torproject.org/torbutton-logger;1"]
+ .getService(Ci.nsISupports).wrappedJSObject;
+ this.logger.log(3, "Component Load 0: New DragDropFilter.");
+
+ try {
+ var observerService = Cc["@mozilla.org/observer-service;1"].
+ getService(Ci.nsIObserverService);
+ observerService.addObserver(this, "on-datatransfer-available", false);
+ } catch(e) {
+ this.logger.log(5, "Failed to register drag observer");
+ }
+}
+
+DragDropFilter.prototype =
+{
+ QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports, Ci.nsIObserver]),
+
+ // make this an nsIClassInfo object
+ flags: Ci.nsIClassInfo.DOM_OBJECT,
+ classDescription: kMODULE_NAME,
+ contractID: kCONTRACT_ID,
+ classID: kMODULE_CID,
+
+ // method of nsIClassInfo
+ getInterfaces: function(count) {
+ count.value = kInterfaces.length;
+ return kInterfaces;
+ },
+
+ // method of nsIClassInfo
+ getHelperForLanguage: function(count) { return null; },
+
+ // method of nsIObserver
+ observe: function(subject, topic, data) {
+ if (topic == "on-datatransfer-available") {
+ this.logger.log(3, "The DataTransfer is available");
+ return this.filterDataTransferURLs(subject);
+ }
+ },
+
+ filterDataTransferURLs: function(aDataTransfer) {
+ var types = null;
+ var type = "";
+ var count = aDataTransfer.mozItemCount;
+ var len = 0;
+ for (var i = 0; i < count; ++i) {
+ this.logger.log(3, "Inspecting the data transfer: " + i);
+ types = aDataTransfer.mozTypesAt(i);
+ len = types.length;
+ for (var j = 0; j < len; ++j) {
+ type = types[j];
+ this.logger.log(3, "Type is: " + type);
+ if (type == "text/x-moz-url" ||
+ type == "text/x-moz-url-data" ||
+ type == "text/uri-list" ||
+ type == "application/x-moz-file-promise-url") {
+ aDataTransfer.clearData(type);
+ this.logger.log(3, "Removing " + type);
+ }
+ }
+ }
+ }
+};
+
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([DragDropFilter]);
diff --git a/src/components/external-app-blocker.js b/src/components/external-app-blocker.js
index e56fed3..ca86580 100644
--- a/src/components/external-app-blocker.js
+++ b/src/components/external-app-blocker.js
@@ -7,19 +7,24 @@
* Handles displaying confirmation dialogs for external apps and protocols
* due to Firefox Bug https://bugzilla.mozilla.org/show_bug.cgi?id=440892
*
- * Also implements an observer that filters drag events to prevent OS
- * access to URLs (a potential proxy bypass vector).
+ * An instance of this module is created each time the browser starts to
+ * download a file that may be opened by another or application and when
+ * an external application may be invoked to handle an URL (e.g., when the
+ * user clicks on a mailto: URL).
*************************************************************************/
const Cc = Components.classes;
const Ci = Components.interfaces;
+const Cr = Components.results;
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+Cu.import("resource://gre/modules/Services.jsm");
+Cu.import("resource://gre/modules/SharedPromptUtils.jsm");
// Module specific constants
const kMODULE_NAME = "Torbutton External App Handler";
-const kCONTRACT_ID = "@torproject.org/torbutton-extAppBlockerService;1";
+const kCONTRACT_ID = "@torproject.org/torbutton-extAppBlocker;1";
const kMODULE_CID = Components.ID("3da0269f-fc29-4e9e-a678-c3b1cafcf13f");
const kInterfaces = [Ci.nsIObserver, Ci.nsIClassInfo];
@@ -28,23 +33,14 @@ function ExternalAppBlocker() {
this.logger = Cc["@torproject.org/torbutton-logger;1"]
.getService(Ci.nsISupports).wrappedJSObject;
this.logger.log(3, "Component Load 0: New ExternalAppBlocker.");
-
- this._prefs = Cc["@mozilla.org/preferences-service;1"]
- .getService(Ci.nsIPrefBranch);
-
- try {
- var observerService = Cc["@mozilla.org/observer-service;1"].
- getService(Ci.nsIObserverService);
- observerService.addObserver(this, "external-app-requested", false);
- observerService.addObserver(this, "on-datatransfer-available", false);
- } catch(e) {
- this.logger.log(5, "Failed to register external app observer or drag observer");
- }
}
ExternalAppBlocker.prototype =
{
- QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports, Ci.nsIObserver]),
+ _helperAppLauncher: undefined,
+
+ QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports, Ci.nsIObserver,
+ Ci.nsIHelperAppWarningDialog]),
// make this an nsIClassInfo object
flags: Ci.nsIClassInfo.DOM_OBJECT,
@@ -58,83 +54,86 @@ ExternalAppBlocker.prototype =
return kInterfaces;
},
- // method of nsIClassInfo
+ // method of nsIClassInfo
getHelperForLanguage: function(count) { return null; },
- // Returns true if launch should proceed.
- _confirmLaunch: function() {
- if (!this._prefs.getBoolPref("extensions.torbutton.launch_warning")) {
- return true;
- }
-
- var wm = Cc["@mozilla.org/appshell/window-mediator;1"]
- .getService(Ci.nsIWindowMediator);
- var chrome = wm.getMostRecentWindow("navigator:browser");
-
- var prompts = Cc["@mozilla.org/embedcomp/prompt-service;1"]
- .getService(Ci.nsIPromptService);
- var flags = prompts.BUTTON_POS_0 * prompts.BUTTON_TITLE_IS_STRING +
- prompts.BUTTON_POS_1 * prompts.BUTTON_TITLE_IS_STRING +
- prompts.BUTTON_DELAY_ENABLE +
- prompts.BUTTON_POS_1_DEFAULT;
-
- var title = chrome.torbutton_get_property_string("torbutton.popup.external.title");
- var app = chrome.torbutton_get_property_string("torbutton.popup.external.app");
- var note = chrome.torbutton_get_property_string("torbutton.popup.external.note");
- var suggest = chrome.torbutton_get_property_string("torbutton.popup.external.suggest");
- var launch = chrome.torbutton_get_property_string("torbutton.popup.launch");
- var cancel = chrome.torbutton_get_property_string("torbutton.popup.cancel");
- var dontask = chrome.torbutton_get_property_string("torbutton.popup.dontask");
-
- var check = {value: false};
- var result = prompts.confirmEx(chrome, title, app+note+suggest+" ",
- flags, launch, cancel, "", dontask, check);
-
- if (check.value) {
- this._prefs.setBoolPref("extensions.torbutton.launch_warning", false);
+ // method of nsIHelperAppWarningDialog
+ maybeShow: function(aLauncher, aWindowContext)
+ {
+ // Hold a reference to the object that called this component. This is
+ // important not just because we need to later invoke the
+ // continueRequest() or cancelRequest() callback on aLauncher, but also
+ // so that the launcher object (which is a reference counted object) is
+ // not released too soon.
+ this._helperAppLauncher = aLauncher;
+
+ if (!Services.prefs.getBoolPref("extensions.torbutton.launch_warning")) {
+ this._helperAppLauncher.continueRequest();
+ return;
}
- return (0 == result);
- },
-
- observe: function(subject, topic, data) {
- if (topic == "external-app-requested") {
- this.logger.log(3, "External app requested");
- // subject.data is true if the launch should be canceled.
- if ((subject instanceof Ci.nsISupportsPRBool)
- && !subject.data /* not canceled already */
- && !this._confirmLaunch()) {
- subject.data = true; // The user said to cancel the launch.
- }
- } else if (topic == "on-datatransfer-available") {
- this.logger.log(3, "The DataTransfer is available");
- return this.filterDataTransferURLs(subject);
- }
+ this._showPrompt(aWindowContext);
},
- filterDataTransferURLs: function(aDataTransfer) {
- var types = null;
- var type = "";
- var count = aDataTransfer.mozItemCount;
- var len = 0;
- for (var i = 0; i < count; ++i) {
- this.logger.log(3, "Inspecting the data transfer: " + i);
- types = aDataTransfer.mozTypesAt(i);
- len = types.length;
- for (var j = 0; j < len; ++j) {
- type = types[j];
- this.logger.log(3, "Type is: " + type);
- if (type == "text/x-moz-url" ||
- type == "text/x-moz-url-data" ||
- type == "text/uri-list" ||
- type == "application/x-moz-file-promise-url") {
- aDataTransfer.clearData(type);
- this.logger.log(3, "Removing " + type);
- }
- }
+ /*
+ * The _showPrompt() implementation uses some XUL and JS that is part of the
+ * browser's confirmEx() implementation. Specifically, _showPrompt() depends
+ * on chrome://global/content/commonDialog.xul as well as some of the code
+ * in resource://gre/modules/SharedPromptUtils.jsm.
+ */
+ _showPrompt: function(aWindowContext) {
+ let parentWin;
+ try {
+ parentWin = aWindowContext.getInterface(Ci.nsIDOMWindow);
+ } catch (e) {
+ parentWin = Services.wm.getMostRecentWindow("navigator:browser");
}
- }
+ let title = parentWin.torbutton_get_property_string("torbutton.popup.external.title");
+ let app = parentWin.torbutton_get_property_string("torbutton.popup.external.app");
+ let note = parentWin.torbutton_get_property_string("torbutton.popup.external.note");
+ let suggest = parentWin.torbutton_get_property_string("torbutton.popup.external.suggest");
+ let launch = parentWin.torbutton_get_property_string("torbutton.popup.launch");
+ let cancel = parentWin.torbutton_get_property_string("torbutton.popup.cancel");
+ let dontask = parentWin.torbutton_get_property_string("torbutton.popup.dontask");
+
+ let args = {
+ promptType: "confirmEx",
+ title: title,
+ text: app+note+suggest+" ",
+ checkLabel: dontask,
+ checked: false,
+ ok: false,
+ button0Label: launch,
+ button1Label: cancel,
+ defaultButtonNum: 1, // Cancel
+ buttonNumClicked: 1, // Cancel
+ enableDelay: true,
+ };
+
+ let propBag = PromptUtils.objectToPropBag(args);
+ let uri = "chrome://global/content/commonDialog.xul";
+ let promptWin = Services.ww.openWindow(parentWin, uri, "_blank",
+ "centerscreen,chrome,titlebar", propBag);
+ promptWin.addEventListener("load", aEvent => {
+ promptWin.addEventListener("unload", aEvent => {
+ PromptUtils.propBagToObject(propBag, args);
+
+ if (0 == args.buttonNumClicked) {
+ // Save the checkbox value and tell the browser's external helper app
+ // module about the user's choice.
+ if (args.checked) {
+ Services.prefs.setBoolPref("extensions.torbutton.launch_warning",
+ false);
+ }
+
+ this._helperAppLauncher.continueRequest();
+ } else {
+ this._helperAppLauncher.cancelRequest(Cr.NS_BINDING_ABORTED);
+ }
+ }, false);
+ }, false);
+ },
};
var NSGetFactory = XPCOMUtils.generateNSGetFactory([ExternalAppBlocker]);
1
0
commit 4f33131f3e1b110511d594e68b42757a84c1b4fe
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Oct 17 11:15:10 2017 +0000
Translations update
---
src/chrome/content/torbutton.js | 2 +-
src/chrome/locale/de/aboutTor.properties | 16 ++++++++--------
src/chrome/locale/es/aboutTor.properties | 2 +-
src/chrome/locale/fr/aboutTor.properties | 2 +-
src/chrome/locale/it/aboutTor.properties | 8 ++++----
src/chrome/locale/nl/aboutTor.properties | 8 ++++----
src/chrome/locale/pl/aboutTor.properties | 16 ++++++++--------
src/chrome/locale/pt-BR/aboutTor.properties | 2 +-
src/chrome/locale/ru/aboutTor.properties | 10 +++++-----
src/chrome/locale/ru/torbutton.dtd | 4 ++--
src/chrome/locale/sv/aboutTor.properties | 16 ++++++++--------
src/chrome/locale/tr/aboutTor.properties | 2 +-
12 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 955f8eb..9e18adb 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -2346,7 +2346,7 @@ function torbutton_update_noscript_button()
// Update every window's NoScript status...
while (browserEnumerator.hasMoreElements()) {
let win = browserEnumerator.getNext();
- win.noscriptOverlay._syncUINow();
+ //win.noscriptOverlay._syncUINow();
}
torbutton_log(3, 'Updated NoScript status for security settings');
} catch (e) {
diff --git a/src/chrome/locale/de/aboutTor.properties b/src/chrome/locale/de/aboutTor.properties
index 3233797..9d2b0df 100644
--- a/src/chrome/locale/de/aboutTor.properties
+++ b/src/chrome/locale/de/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Jetzt spenden!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.slogan=Tor: Digitalen Widerstand stärken
+aboutTor.donationBanner.mozilla=Spenden Sie heute und Mozilla wird Ihr Geschenk anpassen
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline1=Schützt seit 2006 Journalisten, Whistleblower & Aktivisten
+aboutTor.donationBanner.tagline2=Weltweite Vernetzungsfreiheit
+aboutTor.donationBanner.tagline3=Freiheit online
+aboutTor.donationBanner.tagline4=Fördert weltweit freie Meinungsäußerung.
+aboutTor.donationBanner.tagline5=Schützt täglich die Privatsphäre von Millionen.
diff --git a/src/chrome/locale/es/aboutTor.properties b/src/chrome/locale/es/aboutTor.properties
index 01cd311..f1e2d59 100644
--- a/src/chrome/locale/es/aboutTor.properties
+++ b/src/chrome/locale/es/aboutTor.properties
@@ -10,7 +10,7 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/?kl=-es
aboutTor.donationBanner.donate=¡Dona ahora!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.slogan=Tor: Impulsando la resistencia digital
aboutTor.donationBanner.mozilla=¡Dona hoy y Mozilla te la igualará!
aboutTor.donationBanner.tagline1=Protegiendo a periodistas, informantes, y activistas desde 2006
diff --git a/src/chrome/locale/fr/aboutTor.properties b/src/chrome/locale/fr/aboutTor.properties
index bdaedb7..cd844af 100644
--- a/src/chrome/locale/fr/aboutTor.properties
+++ b/src/chrome/locale/fr/aboutTor.properties
@@ -10,7 +10,7 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=Faites un don maintenant !
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.slogan=Tor : la puissance de la résistance numérique
aboutTor.donationBanner.mozilla=Faites un don aujourd'hui et Mozilla fera un don équivalent !
aboutTor.donationBanner.tagline1=Nous protégeons journalistes, lanceurs d'alerte et activistes depuis 2006
diff --git a/src/chrome/locale/it/aboutTor.properties b/src/chrome/locale/it/aboutTor.properties
index 8d5b3a7..e25f90a 100644
--- a/src/chrome/locale/it/aboutTor.properties
+++ b/src/chrome/locale/it/aboutTor.properties
@@ -10,11 +10,11 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=Dona adesso!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.slogan=Tor: alimentiamo la resistenza digitale
+aboutTor.donationBanner.mozilla=Dona oggi e Mozilla ricambierà il regalo!
aboutTor.donationBanner.tagline1=Proteggiamo giornalisti, informatori e attivisti dal 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline2=Rendiamo la rete libera nel mondo
aboutTor.donationBanner.tagline3=Libertà online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline4=Promuoviamo la libertà di parola nel mondo
aboutTor.donationBanner.tagline5=Proteggiamo la privacy di milioni di persone ogni giorno
diff --git a/src/chrome/locale/nl/aboutTor.properties b/src/chrome/locale/nl/aboutTor.properties
index ee9cc49..521f96f 100644
--- a/src/chrome/locale/nl/aboutTor.properties
+++ b/src/chrome/locale/nl/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Doneer nu!
aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline2=Wereldwijde Netwerk Vrijheid
+aboutTor.donationBanner.tagline3=Online Vrijheid
aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline5=Beveiligt de privacy van miljoenen gebruikers per dag
diff --git a/src/chrome/locale/pl/aboutTor.properties b/src/chrome/locale/pl/aboutTor.properties
index dc12b3a..b6e1bba 100644
--- a/src/chrome/locale/pl/aboutTor.properties
+++ b/src/chrome/locale/pl/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Wesprzyj teraz!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.slogan=Tor: Zasila Odporność Cyfrową
+aboutTor.donationBanner.mozilla=Daj dzisiaj i Mozilla dopasuje Twój prezent!
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline1=Chroni dziennikarzy, informatorów i aktywistów od 2006
+aboutTor.donationBanner.tagline2=Wolność dla sieci na całym świecie
+aboutTor.donationBanner.tagline3=Wolność Online
+aboutTor.donationBanner.tagline4=Wspieranie ekspresji na całym świecie
+aboutTor.donationBanner.tagline5=Ochrona prywatności milionów każdego dnia
diff --git a/src/chrome/locale/pt-BR/aboutTor.properties b/src/chrome/locale/pt-BR/aboutTor.properties
index 84a283a..ca749aa 100644
--- a/src/chrome/locale/pt-BR/aboutTor.properties
+++ b/src/chrome/locale/pt-BR/aboutTor.properties
@@ -10,7 +10,7 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=Faça uma Doação Agora!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.slogan=Tor: Desligando a Resistência Digital
aboutTor.donationBanner.mozilla=Faça uma doação hoje e a Mozilla vai doará em dobro!
aboutTor.donationBanner.tagline1=Protegendo Jornalistas, Whistleblowers e Ativistas desde 2006
diff --git a/src/chrome/locale/ru/aboutTor.properties b/src/chrome/locale/ru/aboutTor.properties
index 695436a..527d579 100644
--- a/src/chrome/locale/ru/aboutTor.properties
+++ b/src/chrome/locale/ru/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Пожертвовать!
aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline1=Защита журналистов, информаторов и активистов с 2006 года
+aboutTor.donationBanner.tagline2=Свобода сети во всём мире
+aboutTor.donationBanner.tagline3=Свобода в сети
aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline5=Защита конфиденциальности миллионов каждый день
diff --git a/src/chrome/locale/ru/torbutton.dtd b/src/chrome/locale/ru/torbutton.dtd
index 839bfca..fb05620 100644
--- a/src/chrome/locale/ru/torbutton.dtd
+++ b/src/chrome/locale/ru/torbutton.dtd
@@ -27,10 +27,10 @@
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Не защищать новые куки-файлы">
<!ENTITY torbutton.prefs.restrict_thirdparty "Блокировать сторонние куки-файлы и другие данные слежения">
<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Оставьте флажок напротив этой опции отмеченным, чтобы защитить многие функции обозревателя от элементов отслеживания ваших действий во время серфинга в сети. Модифицированные компоненты включают в себя ссылки на блобы, транслируемые каналы, кэш браузера, файлы куки, значки, заголовки аутентификации HTTP, ссылки предпросмотра, локальное хранилище, ссылки на медиаконтент, запросы OCSP, SharedWorkers и объявления сессии TLS.">
+<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Оставьте флажок напротив этой функции отмеченным, чтобы защитить многие функции обозревателя от элементов отслеживания ваших действий во время серфинга в сети. Модифицированные компоненты включают в себя ссылки на блобы, транслируемые каналы, кэш браузера, файлы куки, значки, заголовки аутентификации HTTP, ссылки предпросмотра, локальное хранилище, ссылки на медиаконтент, запросы OCSP, SharedWorkers и объявления сессии TLS.">
<!ENTITY torbutton.prefs.resist_fingerprinting "Изменить сведения, отличающие вас от других пользователей Tor Browser">
<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Keep this box checked to hide things from websites that could be unique about you, including your computer performance, keyboard layout, locale, the location of installed plugins, the list of installed plugins, your network status, screen orientation, screen size, site-specific zoom levels, supported file types, system colors, and WebGL capabilities.">
+<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Оставьте флажок напротив этой функции отмеченным, чтобы скрыть от веб-узлов вещи , которые могут быть уникальными для вас, включая производительность компьютера, раскладку клавиатуры, язык, расположение и список установленных плагинов, состояние сети, ориентацию и размер экрана , значения масштабирования для конкретных узлов, поддерживаемые типы файлов, системные цвета и возможности WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Уровень безопасности">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Ползунок безопасности позволяет вам запретить некоторые особенности обозревателя, которые могут сделать ваш браузер более уязвимым к попыткам взлома.">
<!ENTITY torbutton.prefs.sec_low "Низкий (по умолчанию)">
diff --git a/src/chrome/locale/sv/aboutTor.properties b/src/chrome/locale/sv/aboutTor.properties
index 64b0ed9..016ea20 100644
--- a/src/chrome/locale/sv/aboutTor.properties
+++ b/src/chrome/locale/sv/aboutTor.properties
@@ -8,13 +8,13 @@ aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.donationBanner.donate=Donate Now!
+aboutTor.donationBanner.donate=Donera nu!
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
-aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+aboutTor.donationBanner.slogan=Tor: Kraftfull digital resistans
+aboutTor.donationBanner.mozilla=Ge idag och Mozilla kommer att matcha din gåva!
-aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
-aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
-aboutTor.donationBanner.tagline3=Freedom Online
-aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
-aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
+aboutTor.donationBanner.tagline1=Skyddar journalister, whistleblowers och aktivister sedan 2006
+aboutTor.donationBanner.tagline2=Nätverksfrihet över hela världen
+aboutTor.donationBanner.tagline3=Frihet på nåtet
+aboutTor.donationBanner.tagline4=Främja yttrandefriheten över hela världen
+aboutTor.donationBanner.tagline5=Skydda integriteten av miljoner varje dag
diff --git a/src/chrome/locale/tr/aboutTor.properties b/src/chrome/locale/tr/aboutTor.properties
index 3b7a7d6..e07e35d 100644
--- a/src/chrome/locale/tr/aboutTor.properties
+++ b/src/chrome/locale/tr/aboutTor.properties
@@ -10,7 +10,7 @@ aboutTor.searchDDG.search.link=https://duckduckgo.com/
aboutTor.donationBanner.donate=Bağış Yapın
-aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance
+aboutTor.donationBanner.slogan=Tor: Dijital Direnişi Güçlendiriyor
aboutTor.donationBanner.mozilla=Destek olun ve Mozilla tarafından hediyenizin karşılığını alın!
aboutTor.donationBanner.tagline1=2006 Yılından Beri Gazeteciler, Yolsuzlukları Açıklayanlar ve Aktivistler Korunuyor
1
0

[torbutton/master] Bug 23887: Update banner locales and Mozilla text
by gk@torproject.org 17 Oct '17
by gk@torproject.org 17 Oct '17
17 Oct '17
commit 235da9c962e5e2b06ed7c73259d51d723433b5f0
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Mon Oct 16 23:09:56 2017 -0700
Bug 23887: Update banner locales and Mozilla text
Also: change donation link to
https://www.torproject.org/donate/donate-pdr-tbb-[locale]
---
src/chrome/content/aboutTor/aboutTor.xhtml | 3 ++-
src/chrome/content/aboutTor/donation_banner.js | 4 +++-
src/chrome/skin/donation_banner.css | 23 ++++++++++++++++++++---
src/modules/donation-banner.js | 16 ++++++++++------
4 files changed, 35 insertions(+), 11 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 367f9a6..248df11 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -37,8 +37,9 @@ window.addEventListener("pageshow", function() {
<div id="banner-contents-container">
<div id="banner-tagline"><span></span></div>
<div id="banner-slogan"><span></span></div>
+ <div id="banner-mozilla"><span></span></div>
<a id="banner-donate-button-link"
- href="https://www.torproject.org/donate/donate-tbb">
+ href="https://www.torproject.org/donate/donate-pdr-tbb">
<div id="banner-donate-button">
<div id="banner-donate-button-inner">
<span></span>
diff --git a/src/chrome/content/aboutTor/donation_banner.js b/src/chrome/content/aboutTor/donation_banner.js
index 1c95822..391c28f 100644
--- a/src/chrome/content/aboutTor/donation_banner.js
+++ b/src/chrome/content/aboutTor/donation_banner.js
@@ -46,6 +46,7 @@ let avoidWidows = function (element) {
let updateTextSizes = function () {
fitTextInElement(sel("#banner-tagline"));
fitTextInElement(sel("#banner-slogan"));
+ fitTextInElement(sel("#banner-mozilla"));
fitTextInElement(sel("#banner-donate-button-inner"));
avoidWidows(sel("#banner-tagline span"));
};
@@ -54,10 +55,11 @@ let updateTextSizes = function () {
let randomInteger = max => Math.floor(max * Math.random());
// The main donation banner function.
-let runDonationBanner = function ({ taglines, slogan, donate, shortLocale }) {
+let runDonationBanner = function ({ taglines, slogan, mozilla, donate, shortLocale }) {
try {
sel("#banner-tagline span").innerText = taglines[randomInteger(taglines.length)];
sel("#banner-slogan span").innerText = slogan;
+ sel("#banner-mozilla span").innerText = mozilla;
let donateButtonText = sel("#banner-donate-button-inner span");
let rtl = window.getComputedStyle(donateButtonText).direction === "rtl";
donateButtonText.innerHTML = donate + " " + (rtl ? "◀" : "▶");
diff --git a/src/chrome/skin/donation_banner.css b/src/chrome/skin/donation_banner.css
index 8580066..c91f0e5 100644
--- a/src/chrome/skin/donation_banner.css
+++ b/src/chrome/skin/donation_banner.css
@@ -58,8 +58,8 @@
right: 85px;
}
#banner-slogan {
- align-items: start;
- bottom: 0px;
+ align-items: center;
+ bottom: 30px;
color: #f8f8a0;
display: flex;
font-family: monospace;
@@ -68,13 +68,30 @@
position: absolute;
right: 285px;
text-align: start;
- top: 100px;
+ top: 90px;
white-space: nowrap;
}
#banner-slogan:-moz-dir(rtl) {
left: 285px;
right: 85px;
}
+#banner-mozilla {
+ align-items: center;
+ bottom: 5px;
+ color: white;
+ display: flex;
+ font-family: sans-serif;
+ left: 85px;
+ position: absolute;
+ right: 285px;
+ text-align: start;
+ top: 120px;
+ white-space: nowrap;
+}
+#banner-mozilla:-moz-dir(rtl) {
+ left: 285px;
+ right: 85px;
+}
#banner-donate-button {
background-color: #13a513;
border: 0px;
diff --git a/src/modules/donation-banner.js b/src/modules/donation-banner.js
index bb35e86..3a954e5 100644
--- a/src/modules/donation-banner.js
+++ b/src/modules/donation-banner.js
@@ -9,14 +9,17 @@ Cu.import("resource://gre/modules/Services.jsm");
const kBannerLocales = [
"bg",
"da",
+ "de",
"el",
"en",
"es",
"fr",
- "fr_CA",
"is",
"it",
+ "pt",
"nb",
+ "ru",
+ "sv",
"tr",
];
@@ -46,7 +49,7 @@ const gStringBundle = Services.strings.createBundle(kPropertiesURL);
// Check if we should show the banner, depends on
// browser locale, current date, and how many times
// we have already shown the banner.
-const shouldShowBanner = function ({ locale, shortLocale }) {
+const shouldShowBanner = function (shortLocale) {
try {
// If our override test pref is true, then just show the banner regardless.
if (Services.prefs.getBoolPref("extensions.torbutton.testBanner", false)) {
@@ -58,7 +61,7 @@ const shouldShowBanner = function ({ locale, shortLocale }) {
return false;
}
// Only show banner when we have that locale and if a donation redirect exists.
- if (kBannerLocales.indexOf(locale) === -1 ||
+ if (kBannerLocales.indexOf(shortLocale) === -1 ||
kDonationPageLocales.indexOf(shortLocale) === -1) {
return false;
}
@@ -92,7 +95,7 @@ var bannerData = function () {
// Read short locale.
let locale = Services.prefs.getCharPref("general.useragent.locale");
let shortLocale = locale.match(/[a-zA-Z]+/)[0].toLowerCase();
- if (!shouldShowBanner({ locale, shortLocale })) {
+ if (!shouldShowBanner(shortLocale)) {
return null;
}
// Load tag lines.
@@ -102,10 +105,11 @@ var bannerData = function () {
"aboutTor.donationBanner.tagline" + (index + 1));
taglines.push(tagline);
}
- // Read slogan and donate button text.
+ // Read slogan, mozilla, and donate button text.
let slogan = gStringBundle.GetStringFromName("aboutTor.donationBanner.slogan");
+ let mozilla = gStringBundle.GetStringFromName("aboutTor.donationBanner.mozilla");
let donate = gStringBundle.GetStringFromName("aboutTor.donationBanner.donate");
- return JSON.stringify({ taglines, slogan, donate, shortLocale });
+ return JSON.stringify({ taglines, slogan, mozilla, donate, shortLocale });
};
// Export utility functions for external use.
1
0

[tor-browser/tor-browser-52.4.0esr-7.5-1] Revert "bug 23104 - Add a default line height compensation"
by gk@torproject.org 05 Oct '17
by gk@torproject.org 05 Oct '17
05 Oct '17
commit 5117adf6b06bd2901144d15847b4cc902a94741a
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Oct 5 12:08:28 2017 +0000
Revert "bug 23104 - Add a default line height compensation"
This reverts commit 722fd293451de0859106949d64dc2cb16c22a780.
Backing out due to #23701: We should make sure this defense only applies
to content and not the browser chrome.
---
layout/generic/ReflowInput.cpp | 6 -----
tbb-tests/mochitest.ini | 1 -
tbb-tests/test_tor_bug23104.html | 51 ----------------------------------------
3 files changed, 58 deletions(-)
diff --git a/layout/generic/ReflowInput.cpp b/layout/generic/ReflowInput.cpp
index e219ae032cc6..42f4a24b5314 100644
--- a/layout/generic/ReflowInput.cpp
+++ b/layout/generic/ReflowInput.cpp
@@ -30,7 +30,6 @@
#include "CounterStyleManager.h"
#include <algorithm>
#include "mozilla/dom/HTMLInputElement.h"
-#include "nsContentUtils.h"
#ifdef DEBUG
#undef NOISY_VERTICAL_ALIGN
@@ -2769,11 +2768,6 @@ GetNormalLineHeight(nsFontMetrics* aFontMetrics)
nscoord externalLeading = aFontMetrics->ExternalLeading();
nscoord internalLeading = aFontMetrics->InternalLeading();
nscoord emHeight = aFontMetrics->EmHeight();
-
- if (nsContentUtils::ShouldResistFingerprinting()) {
- return NSToCoordRound(emHeight * NORMAL_LINE_HEIGHT_FACTOR);
- }
-
switch (GetNormalLineHeightCalcControl()) {
case eIncludeExternalLeading:
normalLineHeight = emHeight+ internalLeading + externalLeading;
diff --git a/tbb-tests/mochitest.ini b/tbb-tests/mochitest.ini
index fca972a51211..3d2e7c9db803 100644
--- a/tbb-tests/mochitest.ini
+++ b/tbb-tests/mochitest.ini
@@ -10,4 +10,3 @@ support-files =
[test_tor_bug2875.html]
[test_tor_bug4755.html]
[test_tor_bug5856.html]
-[test_tor_bug23104.html]
diff --git a/tbb-tests/test_tor_bug23104.html b/tbb-tests/test_tor_bug23104.html
deleted file mode 100644
index 77d7d190d7c8..000000000000
--- a/tbb-tests/test_tor_bug23104.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML>
-<meta charset="UTF-8">
-<html>
-<head>
- <title>Test for Tor Bug #23104: CSS line-height reveals the platform Tor browser is running</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
- <style type="text/css">
- span {
- background-color: #000;
- color: #fff;
- font-size: 16.5px;
- }
- </style>
-</head>
-<body>
-<span id="test1">Test1</span>
-<span id="test2">كلمة</span>
-<span id="test3">ação</span>
-<script type="application/javascript;version=1.7">
-
-let setPref = function* (key, value) {
- return new Promise(function(resolve, reject) {
- SpecialPowers.pushPrefEnv({"set": [[key, value]]}, resolve);
- });
-}
-
-function getStyle(el, styleprop) {
- el = document.getElementById(el);
- return document.defaultView.getComputedStyle(el, null).getPropertyValue(styleprop);
-}
-
-function validateElement(elementName, isFingerprintResistent) {
- var fontSize = getStyle(elementName, 'font-size');
- var lineHeight = getStyle(elementName, 'line-height');
- var validationCb = isFingerprintResistent ? is : isnot;
- validationCb(parseFloat(lineHeight), Math.ceil(parseFloat(fontSize)) * 1.2, 'Line Height validation');
-}
-
-add_task(function* () {
- for (let resistFingerprintingValue of [true, false]) {
- yield setPref("privacy.resistFingerprinting", resistFingerprintingValue);
- for (let elementId of ['test1', 'test2', 'test3']) {
- validateElement(elementId, resistFingerprintingValue);
- }
- }
-});
-
-</script>
-</body>
-</html>
1
0

[tor-browser-build/master] Bug 23585: fix build with runc version 1.0.0~rc2
by gk@torproject.org 05 Oct '17
by gk@torproject.org 05 Oct '17
05 Oct '17
commit 8c4c05ddcfc30107b967b204d491523685460226
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Sep 19 20:31:22 2017 +0200
Bug 23585: fix build with runc version 1.0.0~rc2
Some distributions are packaging runc version 1.0.0~rc2, which seems to
be half between runc 0.1.1 and runc 1.0.0.
This version requires the same command line parameters as version 1.0.0,
however it requires a config.json in the same format as 0.1.1.
The output from `runc --version` on 1.0.0~rc2 is:
runc version spec: 1.0.0-rc2-dev
So we add a var/runc_spec100 function which is true when the runc
version spec is exactly 1.0.0 (as returned by runc stable 1.0.x
releases), and use it in projects/common/runc-config.json.
---
projects/common/runc-config.json | 6 +++---
rbm.conf | 6 ++++++
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/projects/common/runc-config.json b/projects/common/runc-config.json
index a4386c6..7a88805 100644
--- a/projects/common/runc-config.json
+++ b/projects/common/runc-config.json
@@ -1,5 +1,5 @@
{
- "ociVersion": "1.0.0[% IF !c("var_p/runc100") %]-rc1[% END %]",
+ "ociVersion": "1.0.0[% IF !c("var_p/runc_spec100") %]-rc1[% END %]",
"platform": {
"os": "linux",
[% IF c("var/container/arch") == 'i386' -%]
@@ -22,7 +22,7 @@
"TERM=xterm"
],
"cwd": "/",
-[% IF c("var_p/runc100") -%]
+[% IF c("var_p/runc_spec100") -%]
"capabilities": {
"bounding": [
"CAP_AUDIT_WRITE",
@@ -250,7 +250,7 @@
"/proc/kcore",
"/proc/latency_stats",
"/proc/timer_stats",
-[% IF c("var_p/runc100") -%]
+[% IF c("var_p/runc_spec100") -%]
"/proc/timer_list",
"/sys/firmware",
[% END -%]
diff --git a/rbm.conf b/rbm.conf
index 0b0193d..c433f00 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -379,5 +379,11 @@ ENV:
my ($out) = capture_exec('sudo', 'runc', '--version');
return !($out =~ m/^runc version 0.1.1/);
},
+ # runc_spec100 is true if runc spec is exactly 1.0.0
+ # We will need to update this when there is a new spec version available
+ runc_spec100 => sub {
+ my ($out) = capture_exec('sudo', 'runc', '--version');
+ return $out =~ m/^runc version spec: 1\.0\.0$/;
+ },
},
)
1
0