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 fixup! Bug 21952: Implement Onion-Location
Bug 42440: Remove the "Prioritize .onion sites when known" option
- - - - - cc1d2cd0 by hackademix at 2024-03-12T17:14:18+01:00 fixup! Add TorStrings module for localization
Bug 42440: Remove the "Prioritize .onion sites when known" option
- - - - -
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:
===================================== browser/components/onionservices/OnionLocationParent.sys.mjs ===================================== @@ -3,8 +3,10 @@ import { TorStrings } from "resource://gre/modules/TorStrings.sys.mjs";
// Prefs + +// We keep the "prioritizeonions" name, even if obsolete, in order to +// prevent the notification from being shown again to upgrading users. const NOTIFICATION_PREF = "privacy.prioritizeonions.showNotification"; -const PRIORITIZE_ONIONS_PREF = "privacy.prioritizeonions.enabled";
// Element IDs const ONIONLOCATION_BOX_ID = "onion-location-box"; @@ -18,9 +20,8 @@ const NOTIFICATION_ANCHOR_ID = "onion-location-box"; const STRING_ONION_AVAILABLE = TorStrings.onionLocation.onionAvailable; const NOTIFICATION_CANCEL_LABEL = TorStrings.onionLocation.notNow; const NOTIFICATION_CANCEL_ACCESSKEY = TorStrings.onionLocation.notNowAccessKey; -const NOTIFICATION_OK_LABEL = TorStrings.onionLocation.alwaysPrioritize; -const NOTIFICATION_OK_ACCESSKEY = - TorStrings.onionLocation.alwaysPrioritizeAccessKey; +const NOTIFICATION_OK_LABEL = TorStrings.onionLocation.loadOnion; +const NOTIFICATION_OK_ACCESSKEY = TorStrings.onionLocation.loadOnionAccessKey; const NOTIFICATION_TITLE = TorStrings.onionLocation.tryThis; const NOTIFICATION_DESCRIPTION = TorStrings.onionLocation.description; const NOTIFICATION_LEARN_MORE_URL = @@ -90,9 +91,7 @@ export class OnionLocationParent extends JSWindowActorParent { label: NOTIFICATION_OK_LABEL, accessKey: NOTIFICATION_OK_ACCESSKEY, callback() { - Services.prefs.setBoolPref(PRIORITIZE_ONIONS_PREF, true); OnionLocationParent.redirect(browser); - win.openPreferences("privacy-onionservices"); }, };
===================================== browser/components/onionservices/content/onionlocationPreferences.inc.xhtml deleted ===================================== @@ -1,11 +0,0 @@ -# Copyright (c) 2020, The Tor Project, Inc. - -<groupbox id="onionServicesGroup" data-category="panePrivacy" data-subcategory="onionservices" hidden="true"> - <label><html:h2 id="onionServicesTitle"></html:h2></label> - <label><label class="tail-with-learn-more" id="prioritizeOnionsDesc"></label><label - class="learnMore" is="text-link" id="onionServicesLearnMore"></label></label> - <radiogroup id="prioritizeOnionsRadioGroup" aria-labelledby="prioritizeOnionsDesc" preference="privacy.prioritizeonions.enabled"> - <radio id="onionServicesRadioAlways" value="true"/> - <radio id="onionServicesRadioAsk" value="false"/> - </radiogroup> -</groupbox>
===================================== browser/components/onionservices/content/onionlocationPreferences.js deleted ===================================== @@ -1,32 +0,0 @@ -// Copyright (c) 2020, The Tor Project, Inc. - -"use strict"; - -ChromeUtils.defineESModuleGetters(this, { - TorStrings: "resource://gre/modules/TorStrings.sys.mjs", -}); - -const OnionLocationPreferences = { - init() { - document.getElementById("onionServicesTitle").textContent = - TorStrings.onionLocation.onionServicesTitle; - document.getElementById("prioritizeOnionsDesc").textContent = - TorStrings.onionLocation.prioritizeOnionsDescription; - const learnMore = document.getElementById("onionServicesLearnMore"); - learnMore.textContent = TorStrings.onionLocation.learnMore; - learnMore.href = TorStrings.onionLocation.learnMoreURL; - if (TorStrings.onionLocation.learnMoreURL.startsWith("about:")) { - learnMore.setAttribute("useoriginprincipal", "true"); - } - document.getElementById("onionServicesRadioAlways").label = - TorStrings.onionLocation.always; - document.getElementById("onionServicesRadioAsk").label = - TorStrings.onionLocation.askEverytime; - }, -}; - -Object.defineProperty(this, "OnionLocationPreferences", { - value: OnionLocationPreferences, - enumerable: true, - writable: false, -});
===================================== browser/components/onionservices/jar.mn ===================================== @@ -6,5 +6,4 @@ browser.jar: content/browser/onionservices/onionservices.css (content/onionservices.css) content/browser/onionservices/savedKeysDialog.js (content/savedKeysDialog.js) content/browser/onionservices/savedKeysDialog.xhtml (content/savedKeysDialog.xhtml) - content/browser/onionservices/onionlocationPreferences.js (content/onionlocationPreferences.js) skin/classic/browser/onionlocation.css (content/onionlocation.css)
===================================== browser/components/preferences/privacy.inc.xhtml ===================================== @@ -14,8 +14,6 @@ <html:h1 data-l10n-id="privacy-header"/> </hbox>
-#include ../onionservices/content/onionlocationPreferences.inc.xhtml - <!-- Tracking / Content Blocking --> <groupbox id="trackingGroup" data-category="panePrivacy" hidden="true" aria-describedby="contentBlockingDescription" class="highlighting-group"> <label id="contentBlockingHeader"><html:h2 data-l10n-id="content-blocking-enhanced-tracking-protection"/></label>
===================================== browser/components/preferences/privacy.js ===================================== @@ -75,12 +75,6 @@ XPCOMUtils.defineLazyScriptGetter( "chrome://browser/content/securitylevel/securityLevel.js" );
-XPCOMUtils.defineLazyScriptGetter( - this, - ["OnionLocationPreferences"], - "chrome://browser/content/onionservices/onionlocationPreferences.js" -); - XPCOMUtils.defineLazyPreferenceGetter( this, "OS_AUTH_ENABLED", @@ -167,9 +161,6 @@ Preferences.addAll([ // Do not track { id: "privacy.donottrackheader.enabled", type: "bool" },
- // Onion Location - { id: "privacy.prioritizeonions.enabled", type: "bool" }, - // Media { id: "media.autoplay.default", type: "int" },
@@ -349,13 +340,6 @@ var gPrivacyPane = { }); },
- /** - * Show the OnionLocation preferences UI - */ - _initOnionLocation() { - OnionLocationPreferences.init(); - }, - /** * Whether the prompt to restart Firefox should appear when changing the autostart pref. */ @@ -899,7 +883,6 @@ var gPrivacyPane = { this._initTrackingProtectionExtensionControl(); OnionServicesAuthPreferences.init(); this._initSecurityLevel(); - this._initOnionLocation();
Services.telemetry.setEventRecordingEnabled("pwmgr", true);
===================================== dom/base/Document.cpp ===================================== @@ -6976,14 +6976,7 @@ void Document::SetHeaderData(nsAtom* aHeaderField, const nsAString& aData) { nsCOMPtr<nsIURI> onionURI; if (NS_SUCCEEDED(NS_NewURI(getter_AddRefs(onionURI), aData)) && IsValidOnionLocation(Document::GetDocumentURI(), onionURI)) { - if (StaticPrefs::privacy_prioritizeonions_enabled()) { - nsCOMPtr<nsIRefreshURI> refresher(mDocumentContainer); - if (refresher) { - refresher->RefreshURI(onionURI, NodePrincipal(), 0); - } - } else { - mOnionLocationURI = onionURI; - } + mOnionLocationURI = onionURI; } } }
===================================== mobile/android/geckoview/api.txt ===================================== @@ -801,7 +801,6 @@ package org.mozilla.geckoview { method public boolean getLoginAutofillEnabled(); method public boolean getPauseForDebuggerEnabled(); method public int getPreferredColorScheme(); - method public boolean getPrioritizeOnions(); method public boolean getRemoteDebuggingEnabled(); method @Nullable public GeckoRuntime getRuntime(); method @Nullable public Rect getScreenSizeOverride(); @@ -827,7 +826,6 @@ package org.mozilla.geckoview { method public void setLocales(@Nullable String[]); method @NonNull public GeckoRuntimeSettings setLoginAutofillEnabled(boolean); method @NonNull public GeckoRuntimeSettings setPreferredColorScheme(int); - method @NonNull public GeckoRuntimeSettings setPrioritizeOnions(boolean); method @NonNull public GeckoRuntimeSettings setRemoteDebuggingEnabled(boolean); method @NonNull public GeckoRuntimeSettings setSpoofEnglish(boolean); method @NonNull public GeckoRuntimeSettings setTorSecurityLevel(int); @@ -867,7 +865,6 @@ package org.mozilla.geckoview { method @NonNull public GeckoRuntimeSettings.Builder locales(@Nullable String[]); method @NonNull public GeckoRuntimeSettings.Builder loginAutofillEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder pauseForDebugger(boolean); - method @NonNull public GeckoRuntimeSettings.Builder prioritizeOnions(boolean); method @NonNull public GeckoRuntimeSettings.Builder preferredColorScheme(int); method @NonNull public GeckoRuntimeSettings.Builder remoteDebuggingEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder screenSizeOverride(int, int);
===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java ===================================== @@ -477,17 +477,6 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { return this; }
- /** - * Sets whether the browser should prioritize .onion sites when available. - * - * @param flag True if we should prioritize .onion sites, false otherwise - * @return This Builder instance. - */ - public @NonNull Builder prioritizeOnions(final boolean flag) { - getSettings().mPrioritizeOnions.set(flag); - return this; - } - public @NonNull Builder useNewBootstrap(final boolean flag) { getSettings().mUseNewBootstrap.set(flag); return this; @@ -543,8 +532,6 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { /* package */ final Pref<Integer> mSpoofEnglish = new Pref<>("privacy.spoof_english", 0); /* package */ final Pref<Integer> mSecurityLevel = new Pref<>("browser.security_level.security_slider", 4); - /* package */ final Pref<Boolean> mPrioritizeOnions = - new Pref<>("privacy.prioritizeonions.enabled", false); /* package */ final Pref<Boolean> mUseNewBootstrap = new Pref<>("browser.tor_android.use_new_bootstrap", false);
@@ -1339,26 +1326,6 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { return this; }
- /** - * Gets whether we should prioritize .onion sites. - * - * @return Whether we should prioritize .onion sites. - */ - public boolean getPrioritizeOnions() { - return mPrioritizeOnions.get(); - } - - /** - * Sets whether we should prioritize .onion sites. - * - * @param flag Whether we should prioritize .onion sites. - * @return This GeckoRuntimeSettings instance. - */ - public @NonNull GeckoRuntimeSettings setPrioritizeOnions(final boolean flag) { - mPrioritizeOnions.commit(flag); - return this; - } - public boolean getUseNewBootstrap() { return mUseNewBootstrap.get(); }
===================================== modules/libpref/init/StaticPrefList.yaml ===================================== @@ -13578,11 +13578,6 @@ value: "" mirror: never
-- name: privacy.prioritizeonions.enabled - type: RelaxedAtomicBool - value: false - mirror: always - #--------------------------------------------------------------------------- # Prefs starting with "prompts." #---------------------------------------------------------------------------
===================================== toolkit/modules/TorStrings.sys.mjs ===================================== @@ -439,20 +439,15 @@ const Loader = { */ onionLocation() { const strings = { - alwaysPrioritize: "Always Prioritize Onionsites", - alwaysPrioritizeAccessKey: "a", + learnMore: "Learn more…", + loadOnion: "Visit the .onion", + loadOnionAccessKey: "V", notNow: "Not Now", notNowAccessKey: "n", description: - "Website publishers can protect users by adding a security layer. This prevents eavesdroppers from knowing that you are the one visiting that website.", - tryThis: "Try this: Onionsite", - onionAvailable: "Onionsite available", - learnMore: "Learn more", - always: "Always", - askEverytime: "Ask you every time", - prioritizeOnionsDescription: - "Prioritize onionsites when they are available.", - onionServicesTitle: "Onion Services", + "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.", + tryThis: "Try Onion Services", + onionAvailable: ".onion available", };
const tsb = new TorPropertyStringBundle(
===================================== toolkit/torbutton/chrome/locale/en-US/onionLocation.properties ===================================== @@ -4,10 +4,10 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Onion-Location strings. -onionLocation.alwaysPrioritize=Always Prioritize Onions -# Localization note: this is the access key for "Always Prioritize Onions". +onionLocation.loadOnion=Visit the .onion +# Localization note: this is the access key for "Visit the .onion". # It should be a character that appears in that string. -onionLocation.alwaysPrioritizeAccessKey=a +onionLocation.loadOnionAccessKey=V onionLocation.notNow=Not Now # Localization note: this is the access key for "Not now". # 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 onionLocation.tryThis=Try Onion Services onionLocation.onionAvailable=.onion available onionLocation.learnMore=Learn more… -onionLocation.always=Always -onionLocation.askEverytime=Ask every time -onionLocation.prioritizeOnionsDescription=Prioritize .onion sites when known. -onionLocation.onionServicesTitle=Onion Services
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/2cf77af...
tbb-commits@lists.torproject.org