ma1 pushed to branch tor-browser-115.8.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
-
13864ce2
by hackademix at 2024-03-12T11:39:34+01:00
-
cc1d2cd0
by hackademix at 2024-03-12T17:14:18+01:00
12 changed files:
- browser/components/onionservices/OnionLocationParent.sys.mjs
- − browser/components/onionservices/content/onionlocationPreferences.inc.xhtml
- − browser/components/onionservices/content/onionlocationPreferences.js
- browser/components/onionservices/jar.mn
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- dom/base/Document.cpp
- mobile/android/geckoview/api.txt
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
- modules/libpref/init/StaticPrefList.yaml
- toolkit/modules/TorStrings.sys.mjs
- toolkit/torbutton/chrome/locale/en-US/onionLocation.properties
Changes:
... | ... | @@ -3,8 +3,10 @@ |
3 | 3 | import { TorStrings } from "resource://gre/modules/TorStrings.sys.mjs";
|
4 | 4 | |
5 | 5 | // Prefs
|
6 | + |
|
7 | +// We keep the "prioritizeonions" name, even if obsolete, in order to
|
|
8 | +// prevent the notification from being shown again to upgrading users.
|
|
6 | 9 | const NOTIFICATION_PREF = "privacy.prioritizeonions.showNotification";
|
7 | -const PRIORITIZE_ONIONS_PREF = "privacy.prioritizeonions.enabled";
|
|
8 | 10 | |
9 | 11 | // Element IDs
|
10 | 12 | const ONIONLOCATION_BOX_ID = "onion-location-box";
|
... | ... | @@ -18,9 +20,8 @@ const NOTIFICATION_ANCHOR_ID = "onion-location-box"; |
18 | 20 | const STRING_ONION_AVAILABLE = TorStrings.onionLocation.onionAvailable;
|
19 | 21 | const NOTIFICATION_CANCEL_LABEL = TorStrings.onionLocation.notNow;
|
20 | 22 | const NOTIFICATION_CANCEL_ACCESSKEY = TorStrings.onionLocation.notNowAccessKey;
|
21 | -const NOTIFICATION_OK_LABEL = TorStrings.onionLocation.alwaysPrioritize;
|
|
22 | -const NOTIFICATION_OK_ACCESSKEY =
|
|
23 | - TorStrings.onionLocation.alwaysPrioritizeAccessKey;
|
|
23 | +const NOTIFICATION_OK_LABEL = TorStrings.onionLocation.loadOnion;
|
|
24 | +const NOTIFICATION_OK_ACCESSKEY = TorStrings.onionLocation.loadOnionAccessKey;
|
|
24 | 25 | const NOTIFICATION_TITLE = TorStrings.onionLocation.tryThis;
|
25 | 26 | const NOTIFICATION_DESCRIPTION = TorStrings.onionLocation.description;
|
26 | 27 | const NOTIFICATION_LEARN_MORE_URL =
|
... | ... | @@ -90,9 +91,7 @@ export class OnionLocationParent extends JSWindowActorParent { |
90 | 91 | label: NOTIFICATION_OK_LABEL,
|
91 | 92 | accessKey: NOTIFICATION_OK_ACCESSKEY,
|
92 | 93 | callback() {
|
93 | - Services.prefs.setBoolPref(PRIORITIZE_ONIONS_PREF, true);
|
|
94 | 94 | OnionLocationParent.redirect(browser);
|
95 | - win.openPreferences("privacy-onionservices");
|
|
96 | 95 | },
|
97 | 96 | };
|
98 | 97 |
1 | -# Copyright (c) 2020, The Tor Project, Inc.
|
|
2 | - |
|
3 | -<groupbox id="onionServicesGroup" data-category="panePrivacy" data-subcategory="onionservices" hidden="true">
|
|
4 | - <label><html:h2 id="onionServicesTitle"></html:h2></label>
|
|
5 | - <label><label class="tail-with-learn-more" id="prioritizeOnionsDesc"></label><label
|
|
6 | - class="learnMore" is="text-link" id="onionServicesLearnMore"></label></label>
|
|
7 | - <radiogroup id="prioritizeOnionsRadioGroup" aria-labelledby="prioritizeOnionsDesc" preference="privacy.prioritizeonions.enabled">
|
|
8 | - <radio id="onionServicesRadioAlways" value="true"/>
|
|
9 | - <radio id="onionServicesRadioAsk" value="false"/>
|
|
10 | - </radiogroup>
|
|
11 | -</groupbox> |
1 | -// Copyright (c) 2020, The Tor Project, Inc.
|
|
2 | - |
|
3 | -"use strict";
|
|
4 | - |
|
5 | -ChromeUtils.defineESModuleGetters(this, {
|
|
6 | - TorStrings: "resource://gre/modules/TorStrings.sys.mjs",
|
|
7 | -});
|
|
8 | - |
|
9 | -const OnionLocationPreferences = {
|
|
10 | - init() {
|
|
11 | - document.getElementById("onionServicesTitle").textContent =
|
|
12 | - TorStrings.onionLocation.onionServicesTitle;
|
|
13 | - document.getElementById("prioritizeOnionsDesc").textContent =
|
|
14 | - TorStrings.onionLocation.prioritizeOnionsDescription;
|
|
15 | - const learnMore = document.getElementById("onionServicesLearnMore");
|
|
16 | - learnMore.textContent = TorStrings.onionLocation.learnMore;
|
|
17 | - learnMore.href = TorStrings.onionLocation.learnMoreURL;
|
|
18 | - if (TorStrings.onionLocation.learnMoreURL.startsWith("about:")) {
|
|
19 | - learnMore.setAttribute("useoriginprincipal", "true");
|
|
20 | - }
|
|
21 | - document.getElementById("onionServicesRadioAlways").label =
|
|
22 | - TorStrings.onionLocation.always;
|
|
23 | - document.getElementById("onionServicesRadioAsk").label =
|
|
24 | - TorStrings.onionLocation.askEverytime;
|
|
25 | - },
|
|
26 | -};
|
|
27 | - |
|
28 | -Object.defineProperty(this, "OnionLocationPreferences", {
|
|
29 | - value: OnionLocationPreferences,
|
|
30 | - enumerable: true,
|
|
31 | - writable: false,
|
|
32 | -}); |
... | ... | @@ -6,5 +6,4 @@ browser.jar: |
6 | 6 | content/browser/onionservices/onionservices.css (content/onionservices.css)
|
7 | 7 | content/browser/onionservices/savedKeysDialog.js (content/savedKeysDialog.js)
|
8 | 8 | content/browser/onionservices/savedKeysDialog.xhtml (content/savedKeysDialog.xhtml)
|
9 | - content/browser/onionservices/onionlocationPreferences.js (content/onionlocationPreferences.js)
|
|
10 | 9 | skin/classic/browser/onionlocation.css (content/onionlocation.css) |
... | ... | @@ -14,8 +14,6 @@ |
14 | 14 | <html:h1 data-l10n-id="privacy-header"/>
|
15 | 15 | </hbox>
|
16 | 16 | |
17 | -#include ../onionservices/content/onionlocationPreferences.inc.xhtml
|
|
18 | - |
|
19 | 17 | <!-- Tracking / Content Blocking -->
|
20 | 18 | <groupbox id="trackingGroup" data-category="panePrivacy" hidden="true" aria-describedby="contentBlockingDescription" class="highlighting-group">
|
21 | 19 | <label id="contentBlockingHeader"><html:h2 data-l10n-id="content-blocking-enhanced-tracking-protection"/></label>
|
... | ... | @@ -75,12 +75,6 @@ XPCOMUtils.defineLazyScriptGetter( |
75 | 75 | "chrome://browser/content/securitylevel/securityLevel.js"
|
76 | 76 | );
|
77 | 77 | |
78 | -XPCOMUtils.defineLazyScriptGetter(
|
|
79 | - this,
|
|
80 | - ["OnionLocationPreferences"],
|
|
81 | - "chrome://browser/content/onionservices/onionlocationPreferences.js"
|
|
82 | -);
|
|
83 | - |
|
84 | 78 | XPCOMUtils.defineLazyPreferenceGetter(
|
85 | 79 | this,
|
86 | 80 | "OS_AUTH_ENABLED",
|
... | ... | @@ -167,9 +161,6 @@ Preferences.addAll([ |
167 | 161 | // Do not track
|
168 | 162 | { id: "privacy.donottrackheader.enabled", type: "bool" },
|
169 | 163 | |
170 | - // Onion Location
|
|
171 | - { id: "privacy.prioritizeonions.enabled", type: "bool" },
|
|
172 | - |
|
173 | 164 | // Media
|
174 | 165 | { id: "media.autoplay.default", type: "int" },
|
175 | 166 | |
... | ... | @@ -349,13 +340,6 @@ var gPrivacyPane = { |
349 | 340 | });
|
350 | 341 | },
|
351 | 342 | |
352 | - /**
|
|
353 | - * Show the OnionLocation preferences UI
|
|
354 | - */
|
|
355 | - _initOnionLocation() {
|
|
356 | - OnionLocationPreferences.init();
|
|
357 | - },
|
|
358 | - |
|
359 | 343 | /**
|
360 | 344 | * Whether the prompt to restart Firefox should appear when changing the autostart pref.
|
361 | 345 | */
|
... | ... | @@ -899,7 +883,6 @@ var gPrivacyPane = { |
899 | 883 | this._initTrackingProtectionExtensionControl();
|
900 | 884 | OnionServicesAuthPreferences.init();
|
901 | 885 | this._initSecurityLevel();
|
902 | - this._initOnionLocation();
|
|
903 | 886 | |
904 | 887 | Services.telemetry.setEventRecordingEnabled("pwmgr", true);
|
905 | 888 |
... | ... | @@ -6976,14 +6976,7 @@ void Document::SetHeaderData(nsAtom* aHeaderField, const nsAString& aData) { |
6976 | 6976 | nsCOMPtr<nsIURI> onionURI;
|
6977 | 6977 | if (NS_SUCCEEDED(NS_NewURI(getter_AddRefs(onionURI), aData)) &&
|
6978 | 6978 | IsValidOnionLocation(Document::GetDocumentURI(), onionURI)) {
|
6979 | - if (StaticPrefs::privacy_prioritizeonions_enabled()) {
|
|
6980 | - nsCOMPtr<nsIRefreshURI> refresher(mDocumentContainer);
|
|
6981 | - if (refresher) {
|
|
6982 | - refresher->RefreshURI(onionURI, NodePrincipal(), 0);
|
|
6983 | - }
|
|
6984 | - } else {
|
|
6985 | - mOnionLocationURI = onionURI;
|
|
6986 | - }
|
|
6979 | + mOnionLocationURI = onionURI;
|
|
6987 | 6980 | }
|
6988 | 6981 | }
|
6989 | 6982 | }
|
... | ... | @@ -801,7 +801,6 @@ package org.mozilla.geckoview { |
801 | 801 | method public boolean getLoginAutofillEnabled();
|
802 | 802 | method public boolean getPauseForDebuggerEnabled();
|
803 | 803 | method public int getPreferredColorScheme();
|
804 | - method public boolean getPrioritizeOnions();
|
|
805 | 804 | method public boolean getRemoteDebuggingEnabled();
|
806 | 805 | method @Nullable public GeckoRuntime getRuntime();
|
807 | 806 | method @Nullable public Rect getScreenSizeOverride();
|
... | ... | @@ -827,7 +826,6 @@ package org.mozilla.geckoview { |
827 | 826 | method public void setLocales(@Nullable String[]);
|
828 | 827 | method @NonNull public GeckoRuntimeSettings setLoginAutofillEnabled(boolean);
|
829 | 828 | method @NonNull public GeckoRuntimeSettings setPreferredColorScheme(int);
|
830 | - method @NonNull public GeckoRuntimeSettings setPrioritizeOnions(boolean);
|
|
831 | 829 | method @NonNull public GeckoRuntimeSettings setRemoteDebuggingEnabled(boolean);
|
832 | 830 | method @NonNull public GeckoRuntimeSettings setSpoofEnglish(boolean);
|
833 | 831 | method @NonNull public GeckoRuntimeSettings setTorSecurityLevel(int);
|
... | ... | @@ -867,7 +865,6 @@ package org.mozilla.geckoview { |
867 | 865 | method @NonNull public GeckoRuntimeSettings.Builder locales(@Nullable String[]);
|
868 | 866 | method @NonNull public GeckoRuntimeSettings.Builder loginAutofillEnabled(boolean);
|
869 | 867 | method @NonNull public GeckoRuntimeSettings.Builder pauseForDebugger(boolean);
|
870 | - method @NonNull public GeckoRuntimeSettings.Builder prioritizeOnions(boolean);
|
|
871 | 868 | method @NonNull public GeckoRuntimeSettings.Builder preferredColorScheme(int);
|
872 | 869 | method @NonNull public GeckoRuntimeSettings.Builder remoteDebuggingEnabled(boolean);
|
873 | 870 | method @NonNull public GeckoRuntimeSettings.Builder screenSizeOverride(int, int);
|
... | ... | @@ -477,17 +477,6 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { |
477 | 477 | return this;
|
478 | 478 | }
|
479 | 479 | |
480 | - /**
|
|
481 | - * Sets whether the browser should prioritize .onion sites when available.
|
|
482 | - *
|
|
483 | - * @param flag True if we should prioritize .onion sites, false otherwise
|
|
484 | - * @return This Builder instance.
|
|
485 | - */
|
|
486 | - public @NonNull Builder prioritizeOnions(final boolean flag) {
|
|
487 | - getSettings().mPrioritizeOnions.set(flag);
|
|
488 | - return this;
|
|
489 | - }
|
|
490 | - |
|
491 | 480 | public @NonNull Builder useNewBootstrap(final boolean flag) {
|
492 | 481 | getSettings().mUseNewBootstrap.set(flag);
|
493 | 482 | return this;
|
... | ... | @@ -543,8 +532,6 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { |
543 | 532 | /* package */ final Pref<Integer> mSpoofEnglish = new Pref<>("privacy.spoof_english", 0);
|
544 | 533 | /* package */ final Pref<Integer> mSecurityLevel =
|
545 | 534 | new Pref<>("browser.security_level.security_slider", 4);
|
546 | - /* package */ final Pref<Boolean> mPrioritizeOnions =
|
|
547 | - new Pref<>("privacy.prioritizeonions.enabled", false);
|
|
548 | 535 | /* package */ final Pref<Boolean> mUseNewBootstrap =
|
549 | 536 | new Pref<>("browser.tor_android.use_new_bootstrap", false);
|
550 | 537 | |
... | ... | @@ -1339,26 +1326,6 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { |
1339 | 1326 | return this;
|
1340 | 1327 | }
|
1341 | 1328 | |
1342 | - /**
|
|
1343 | - * Gets whether we should prioritize .onion sites.
|
|
1344 | - *
|
|
1345 | - * @return Whether we should prioritize .onion sites.
|
|
1346 | - */
|
|
1347 | - public boolean getPrioritizeOnions() {
|
|
1348 | - return mPrioritizeOnions.get();
|
|
1349 | - }
|
|
1350 | - |
|
1351 | - /**
|
|
1352 | - * Sets whether we should prioritize .onion sites.
|
|
1353 | - *
|
|
1354 | - * @param flag Whether we should prioritize .onion sites.
|
|
1355 | - * @return This GeckoRuntimeSettings instance.
|
|
1356 | - */
|
|
1357 | - public @NonNull GeckoRuntimeSettings setPrioritizeOnions(final boolean flag) {
|
|
1358 | - mPrioritizeOnions.commit(flag);
|
|
1359 | - return this;
|
|
1360 | - }
|
|
1361 | - |
|
1362 | 1329 | public boolean getUseNewBootstrap() {
|
1363 | 1330 | return mUseNewBootstrap.get();
|
1364 | 1331 | }
|
... | ... | @@ -13578,11 +13578,6 @@ |
13578 | 13578 | value: ""
|
13579 | 13579 | mirror: never
|
13580 | 13580 | |
13581 | -- name: privacy.prioritizeonions.enabled
|
|
13582 | - type: RelaxedAtomicBool
|
|
13583 | - value: false
|
|
13584 | - mirror: always
|
|
13585 | - |
|
13586 | 13581 | #---------------------------------------------------------------------------
|
13587 | 13582 | # Prefs starting with "prompts."
|
13588 | 13583 | #---------------------------------------------------------------------------
|
... | ... | @@ -439,20 +439,15 @@ const Loader = { |
439 | 439 | */
|
440 | 440 | onionLocation() {
|
441 | 441 | const strings = {
|
442 | - alwaysPrioritize: "Always Prioritize Onionsites",
|
|
443 | - alwaysPrioritizeAccessKey: "a",
|
|
442 | + learnMore: "Learn more…",
|
|
443 | + loadOnion: "Visit the .onion",
|
|
444 | + loadOnionAccessKey: "V",
|
|
444 | 445 | notNow: "Not Now",
|
445 | 446 | notNowAccessKey: "n",
|
446 | 447 | description:
|
447 | - "Website publishers can protect users by adding a security layer. This prevents eavesdroppers from knowing that you are the one visiting that website.",
|
|
448 | - tryThis: "Try this: Onionsite",
|
|
449 | - onionAvailable: "Onionsite available",
|
|
450 | - learnMore: "Learn more",
|
|
451 | - always: "Always",
|
|
452 | - askEverytime: "Ask you every time",
|
|
453 | - prioritizeOnionsDescription:
|
|
454 | - "Prioritize onionsites when they are available.",
|
|
455 | - onionServicesTitle: "Onion Services",
|
|
448 | + "There's a more private and secure version of this site available over the Tor network via onion services. Onion services help website publishers and their visitors defeat surveillance and censorship.",
|
|
449 | + tryThis: "Try Onion Services",
|
|
450 | + onionAvailable: ".onion available",
|
|
456 | 451 | };
|
457 | 452 | |
458 | 453 | const tsb = new TorPropertyStringBundle(
|
... | ... | @@ -4,10 +4,10 @@ |
4 | 4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
5 | 5 | |
6 | 6 | # Onion-Location strings.
|
7 | -onionLocation.alwaysPrioritize=Always Prioritize Onions
|
|
8 | -# Localization note: this is the access key for "Always Prioritize Onions".
|
|
7 | +onionLocation.loadOnion=Visit the .onion
|
|
8 | +# Localization note: this is the access key for "Visit the .onion".
|
|
9 | 9 | # It should be a character that appears in that string.
|
10 | -onionLocation.alwaysPrioritizeAccessKey=a
|
|
10 | +onionLocation.loadOnionAccessKey=V
|
|
11 | 11 | onionLocation.notNow=Not Now
|
12 | 12 | # Localization note: this is the access key for "Not now".
|
13 | 13 | # It should be a character that appears in that string.
|
... | ... | @@ -16,7 +16,3 @@ onionLocation.description=There's a more private and secure version of this site |
16 | 16 | onionLocation.tryThis=Try Onion Services
|
17 | 17 | onionLocation.onionAvailable=.onion available
|
18 | 18 | onionLocation.learnMore=Learn more… |
19 | -onionLocation.always=Always
|
|
20 | -onionLocation.askEverytime=Ask every time
|
|
21 | -onionLocation.prioritizeOnionsDescription=Prioritize .onion sites when known.
|
|
22 | -onionLocation.onionServicesTitle=Onion Services |