| 
Commits:
10 changed files:
Changes:
browser/components/onionservices/OnionLocationParent.jsm
 
| ... | ... | @@ -8,8 +8,10 @@ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); |  
| 8 | 8 |  const { TorStrings } = ChromeUtils.import("resource:///modules/TorStrings.jsm");
 |  
| 9 | 9 |  
 |  
| 10 | 10 |  // Prefs
 |  
|  | 11 | +
 |  
|  | 12 | +// We keep the "prioritizeonions" name, even if obsolete, in order to
 |  
|  | 13 | +// prevent the notification from being shown again to upgrading users.
 |  
| 11 | 14 |  const NOTIFICATION_PREF = "privacy.prioritizeonions.showNotification";
 |  
| 12 |  | -const PRIORITIZE_ONIONS_PREF = "privacy.prioritizeonions.enabled";
 |  
| 13 | 15 |  
 |  
| 14 | 16 |  // Element IDs
 |  
| 15 | 17 |  const _ONIONLOCATION_BOX_ID_ = "onion-location-box";
 |  
| ... | ... | @@ -23,9 +25,8 @@ const NOTIFICATION_ANCHOR_ID = "onion-location-box"; |  
| 23 | 25 |  const STRING_ONION_AVAILABLE = TorStrings.onionLocation.onionAvailable;
 |  
| 24 | 26 |  const NOTIFICATION_CANCEL_LABEL = TorStrings.onionLocation.notNow;
 |  
| 25 | 27 |  const NOTIFICATION_CANCEL_ACCESSKEY = TorStrings.onionLocation.notNowAccessKey;
 |  
| 26 |  | -const NOTIFICATION_OK_LABEL = TorStrings.onionLocation.alwaysPrioritize;
 |  
| 27 |  | -const NOTIFICATION_OK_ACCESSKEY =
 |  
| 28 |  | -  TorStrings.onionLocation.alwaysPrioritizeAccessKey;
 |  
|  | 28 | +const NOTIFICATION_OK_LABEL = TorStrings.onionLocation.loadOnion;
 |  
|  | 29 | +const NOTIFICATION_OK_ACCESSKEY = TorStrings.onionLocation.loadOnionAccessKey;
 |  
| 29 | 30 |  const NOTIFICATION_TITLE = TorStrings.onionLocation.tryThis;
 |  
| 30 | 31 |  const NOTIFICATION_DESCRIPTION = TorStrings.onionLocation.description;
 |  
| 31 | 32 |  const NOTIFICATION_LEARN_MORE_URL =
 |  
| ... | ... | @@ -95,9 +96,7 @@ class OnionLocationParent extends JSWindowActorParent { |  
| 95 | 96 |        label: NOTIFICATION_OK_LABEL,
 |  
| 96 | 97 |        accessKey: NOTIFICATION_OK_ACCESSKEY,
 |  
| 97 | 98 |        callback() {
 |  
| 98 |  | -        Services.prefs.setBoolPref(PRIORITIZE_ONIONS_PREF, true);
 |  
| 99 | 99 |          OnionLocationParent.redirect(browser);
 |  
| 100 |  | -        win.openPreferences("privacy-onionservices");
 |  
| 101 | 100 |        },
 |  
| 102 | 101 |      };
 |  
| 103 | 102 |  
 |  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.defineModuleGetter(
 |  
| 6 |  | -  this,
 |  
| 7 |  | -  "TorStrings",
 |  
| 8 |  | -  "resource:///modules/TorStrings.jsm"
 |  
| 9 |  | -);
 |  
| 10 |  | -
 |  
| 11 |  | -const OnionLocationPreferences = {
 |  
| 12 |  | -  init() {
 |  
| 13 |  | -    document.getElementById("onionServicesTitle").textContent =
 |  
| 14 |  | -      TorStrings.onionLocation.onionServicesTitle;
 |  
| 15 |  | -    document.getElementById("prioritizeOnionsDesc").textContent =
 |  
| 16 |  | -      TorStrings.onionLocation.prioritizeOnionsDescription;
 |  
| 17 |  | -    const learnMore = document.getElementById("onionServicesLearnMore");
 |  
| 18 |  | -    learnMore.textContent = TorStrings.onionLocation.learnMore;
 |  
| 19 |  | -    learnMore.href = TorStrings.onionLocation.learnMoreURL;
 |  
| 20 |  | -    if (TorStrings.onionLocation.learnMoreURL.startsWith("about:")) {
 |  
| 21 |  | -      learnMore.setAttribute("useoriginprincipal", "true");
 |  
| 22 |  | -    }
 |  
| 23 |  | -    document.getElementById("onionServicesRadioAlways").label =
 |  
| 24 |  | -      TorStrings.onionLocation.always;
 |  
| 25 |  | -    document.getElementById("onionServicesRadioAsk").label =
 |  
| 26 |  | -      TorStrings.onionLocation.askEverytime;
 |  
| 27 |  | -  },
 |  
| 28 |  | -};
 |  
| 29 |  | -
 |  
| 30 |  | -Object.defineProperty(this, "OnionLocationPreferences", {
 |  
| 31 |  | -  value: OnionLocationPreferences,
 |  
| 32 |  | -  enumerable: true,
 |  
| 33 |  | -  writable: false,
 |  
| 34 |  | -}); |  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,14 +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 | 480 |        return this;
 |  
| 489 | 481 |      }
 |  
| 490 | 482 |    }
 |  
| ... | ... | @@ -538,8 +530,6 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { |  
| 538 | 530 |    /* package */ final Pref<Integer> mSpoofEnglish = new Pref<>("privacy.spoof_english", 0);
 |  
| 539 | 531 |    /* package */ final Pref<Integer> mSecurityLevel =
 |  
| 540 | 532 |        new Pref<>("browser.security_level.security_slider", 4);
 |  
| 541 |  | -  /* package */ final Pref<Boolean> mPrioritizeOnions =
 |  
| 542 |  | -      new Pref<>("privacy.prioritizeonions.enabled", false);
 |  
| 543 | 533 |  
 |  
| 544 | 534 |    /* package */ int mPreferredColorScheme = COLOR_SCHEME_SYSTEM;
 |  
| 545 | 535 |  
 |  
| ... | ... | @@ -1332,23 +1322,6 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { |  
| 1332 | 1322 |      return this;
 |  
| 1333 | 1323 |    }
 |  
| 1334 | 1324 |  
 |  
| 1335 |  | -  /**
 |  
| 1336 |  | -   * Gets whether we should prioritize .onion sites.
 |  
| 1337 |  | -   *
 |  
| 1338 |  | -   * @return Whether we should prioritize .onion sites.
 |  
| 1339 |  | -   */
 |  
| 1340 |  | -  public boolean getPrioritizeOnions() {
 |  
| 1341 |  | -    return mPrioritizeOnions.get();
 |  
| 1342 |  | -  }
 |  
| 1343 |  | -
 |  
| 1344 |  | -  /**
 |  
| 1345 |  | -   * Sets whether we should prioritize .onion sites.
 |  
| 1346 |  | -   *
 |  
| 1347 |  | -   * @param flag Whether we should prioritize .onion sites.
 |  
| 1348 |  | -   * @return This GeckoRuntimeSettings instance.
 |  
| 1349 |  | -   */
 |  
| 1350 |  | -  public @NonNull GeckoRuntimeSettings setPrioritizeOnions(final boolean flag) {
 |  
| 1351 |  | -    mPrioritizeOnions.commit(flag);
 |  
| 1352 | 1325 |      return this;
 |  
| 1353 | 1326 |    }
 |  
| 1354 | 1327 |  
 |  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 |  #---------------------------------------------------------------------------
 |  
 |