ma1 pushed to branch tor-browser-115.8.0esr-13.5-1 at The Tor Project / Applications / Tor Browser

Commits:

12 changed files:

Changes:

  • browser/components/onionservices/OnionLocationParent.sys.mjs
    ... ... @@ -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
     
    

  • browser/components/onionservices/content/onionlocationPreferences.inc.xhtml deleted
    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>

  • browser/components/onionservices/content/onionlocationPreferences.js deleted
    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
    -});

  • browser/components/onionservices/jar.mn
    ... ... @@ -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)

  • browser/components/preferences/privacy.inc.xhtml
    ... ... @@ -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>
    

  • browser/components/preferences/privacy.js
    ... ... @@ -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
     
    

  • dom/base/Document.cpp
    ... ... @@ -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
     }
    

  • mobile/android/geckoview/api.txt
    ... ... @@ -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);
    

  • mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
    ... ... @@ -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
       }
    

  • modules/libpref/init/StaticPrefList.yaml
    ... ... @@ -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
     #---------------------------------------------------------------------------
    

  • toolkit/modules/TorStrings.sys.mjs
    ... ... @@ -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(
    

  • toolkit/torbutton/chrome/locale/en-US/onionLocation.properties
    ... ... @@ -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