Pier Angelo Vendrame pushed to branch tor-browser-115.15.0esr-13.5-2 at The Tor Project / Applications / Tor Browser

Commits:

10 changed files:

Changes:

  • browser/base/content/droppedSupportNotification.js
    ... ... @@ -3,8 +3,8 @@
    3 3
     // Show a prompt that a user's system will no longer be supported.
    
    4 4
     window.addEventListener("load", () => {
    
    5 5
       let labelId;
    
    6
    -  // Expire date is 2024-10-01 (1st October 2024).
    
    7
    -  const isExpired = Date.now() > Date.UTC(2024, 9, 1);
    
    6
    +  // Firefox moved ESR 115 EOL to 1st April 2025.
    
    7
    +  const isExpired = Date.now() > Date.UTC(2025, 3, 1);
    
    8 8
     
    
    9 9
       if (
    
    10 10
         AppConstants.platform === "macosx" &&
    
    ... ... @@ -15,14 +15,14 @@ window.addEventListener("load", () => {
    15 15
       ) {
    
    16 16
         labelId = isExpired
    
    17 17
           ? "dropped-support-notification-macos-version-less-than-10-15-expired"
    
    18
    -      : "dropped-support-notification-macos-version-less-than-10-15";
    
    18
    +      : "dropped-support-notification-macos-version-less-than-10-15-extended-13-5";
    
    19 19
       } else if (
    
    20 20
         AppConstants.platform === "win" &&
    
    21 21
         Services.vc.compare(Services.sysinfo.getProperty("version"), "10.0") < 0
    
    22 22
       ) {
    
    23 23
         labelId = isExpired
    
    24 24
           ? "dropped-support-notification-win-os-version-less-than-10-expired"
    
    25
    -      : "dropped-support-notification-win-os-version-less-than-10";
    
    25
    +      : "dropped-support-notification-win-os-version-less-than-10-extended-13-5";
    
    26 26
       }
    
    27 27
     
    
    28 28
       const dismissedPref =
    
    ... ... @@ -44,19 +44,63 @@ window.addEventListener("load", () => {
    44 44
         return;
    
    45 45
       }
    
    46 46
     
    
    47
    -  const buttons = isExpired
    
    48
    -    ? undefined
    
    49
    -    : [
    
    50
    -        {
    
    51
    -          "l10n-id": "dropped-support-notification-dismiss-button",
    
    52
    -          callback: () => {
    
    53
    -            Services.prefs.setStringPref(
    
    54
    -              dismissedPref,
    
    55
    -              AppConstants.BASE_BROWSER_VERSION
    
    56
    -            );
    
    57
    -          },
    
    58
    -        },
    
    59
    -      ];
    
    47
    +  // Locales that have support pages.
    
    48
    +  // Note, these correspond to their app locale names.
    
    49
    +  const supportLocales = [
    
    50
    +    "en-US",
    
    51
    +    "ar",
    
    52
    +    "de",
    
    53
    +    "es-ES",
    
    54
    +    "fa",
    
    55
    +    "fr",
    
    56
    +    "id",
    
    57
    +    "it",
    
    58
    +    "ko",
    
    59
    +    "pt-BR",
    
    60
    +    "ro",
    
    61
    +    "ru",
    
    62
    +    "sw",
    
    63
    +    "tr",
    
    64
    +    "uk",
    
    65
    +    "vi",
    
    66
    +    "zh-CN",
    
    67
    +    "zh-TW",
    
    68
    +  ];
    
    69
    +  // Find the first locale that matches.
    
    70
    +  let locale = Services.locale.appLocalesAsBCP47.find(l => {
    
    71
    +    return supportLocales.includes(l);
    
    72
    +  });
    
    73
    +  if (locale === "es-ES") {
    
    74
    +    // Support page uses "es". All other locales use the same code in Tor
    
    75
    +    // Browser as the support page.
    
    76
    +    locale = "es";
    
    77
    +  } else if (locale === "en-US") {
    
    78
    +    // This is the default.
    
    79
    +    locale = undefined;
    
    80
    +  }
    
    81
    +
    
    82
    +  const link = `https://support.torproject.org/${
    
    83
    +    locale ? `${locale}/` : ""
    
    84
    +  }tbb/tor-browser-and-legacy-os/`;
    
    85
    +
    
    86
    +  const buttons = [
    
    87
    +    {
    
    88
    +      "l10n-id": "notification-learnmore-default-label",
    
    89
    +      link,
    
    90
    +    },
    
    91
    +  ];
    
    92
    +
    
    93
    +  if (!isExpired) {
    
    94
    +    buttons.push({
    
    95
    +      "l10n-id": "dropped-support-notification-dismiss-button",
    
    96
    +      callback: () => {
    
    97
    +        Services.prefs.setStringPref(
    
    98
    +          dismissedPref,
    
    99
    +          AppConstants.BASE_BROWSER_VERSION
    
    100
    +        );
    
    101
    +      },
    
    102
    +    });
    
    103
    +  }
    
    60 104
     
    
    61 105
       gNotificationBox.appendNotification(
    
    62 106
         "dropped-support-notification",
    

  • browser/components/BrowserGlue.sys.mjs
    ... ... @@ -4584,7 +4584,9 @@ BrowserGlue.prototype = {
    4584 4584
         //            torbutton preferences that are not used anymore.
    
    4585 4585
         // Version 3: Tor Browser 13.0.7/13.5a3: Remove blockchair
    
    4586 4586
         //            (tor-browser#42283).
    
    4587
    -    const TBB_MIGRATION_VERSION = 3;
    
    4587
    +    // Version 4: Tor Browser 14.0a4 (2024-09-02), 13.5.4: Remove Twitter, Yahoo
    
    4588
    +    //            and YouTube search engines (tor-browser#41835).
    
    4589
    +    const TBB_MIGRATION_VERSION = 4;
    
    4588 4590
         const MIGRATION_PREF = "torbrowser.migration.version";
    
    4589 4591
     
    
    4590 4592
         // If we decide to force updating users to pass through any version
    
    ... ... @@ -4636,21 +4638,26 @@ BrowserGlue.prototype = {
    4636 4638
             }
    
    4637 4639
           }
    
    4638 4640
         }
    
    4639
    -    if (currentVersion < 3) {
    
    4640
    -      (async () => {
    
    4641
    +    const dropAddons = async list => {
    
    4642
    +      for (const id of list) {
    
    4641 4643
             try {
    
    4642
    -          const engine = await lazy.AddonManager.getAddonByID(
    
    4643
    -            "blockchair@search.mozilla.org"
    
    4644
    -          );
    
    4644
    +          const engine = await lazy.AddonManager.getAddonByID(id);
    
    4645 4645
               await engine?.uninstall();
    
    4646 4646
             } catch {}
    
    4647
    -        try {
    
    4648
    -          const engine = await lazy.AddonManager.getAddonByID(
    
    4649
    -            "blockchair-onion@search.mozilla.org"
    
    4650
    -          );
    
    4651
    -          engine?.uninstall();
    
    4652
    -        } catch {}
    
    4653
    -      })();
    
    4647
    +      }
    
    4648
    +    };
    
    4649
    +    if (currentVersion < 3) {
    
    4650
    +      dropAddons([
    
    4651
    +        "blockchair@search.mozilla.org",
    
    4652
    +        "blockchair-onion@search.mozilla.org",
    
    4653
    +      ]);
    
    4654
    +    }
    
    4655
    +    if (currentVersion < 4) {
    
    4656
    +      dropAddons([
    
    4657
    +        "twitter@search.mozilla.org",
    
    4658
    +        "yahoo@search.mozilla.org",
    
    4659
    +        "youtube@search.mozilla.org",
    
    4660
    +      ]);
    
    4654 4661
         }
    
    4655 4662
     
    
    4656 4663
         Services.prefs.setIntPref(MIGRATION_PREF, TBB_MIGRATION_VERSION);
    

  • browser/components/search/extensions/twitter/favicon.ico deleted
    No preview for this file type
  • browser/components/search/extensions/twitter/manifest.json deleted
    1
    -{
    
    2
    -  "name": "Twitter",
    
    3
    -  "description": "Realtime Twitter Search",
    
    4
    -  "manifest_version": 2,
    
    5
    -  "version": "1.0",
    
    6
    -  "applications": {
    
    7
    -    "gecko": {
    
    8
    -      "id": "twitter@search.mozilla.org"
    
    9
    -    }
    
    10
    -  },
    
    11
    -  "hidden": true,
    
    12
    -  "icons": {
    
    13
    -    "16": "favicon.ico"
    
    14
    -  },
    
    15
    -  "web_accessible_resources": [
    
    16
    -    "favicon.ico"
    
    17
    -  ],
    
    18
    -  "chrome_settings_overrides": {
    
    19
    -    "search_provider": {
    
    20
    -      "name": "Twitter",
    
    21
    -      "search_url": "https://twitter.com/search",
    
    22
    -      "search_form": "https://twitter.com/search?q={searchTerms}&partner=Firefox&source=desktop-search",
    
    23
    -      "search_url_get_params": "q={searchTerms}&partner=Firefox&source=desktop-search"
    
    24
    -    }
    
    25
    -  }
    
    26
    -}
    \ No newline at end of file

  • browser/components/search/extensions/yahoo/favicon.ico deleted
    No preview for this file type
  • browser/components/search/extensions/yahoo/manifest.json deleted
    1
    -{
    
    2
    -  "name": "Yahoo",
    
    3
    -  "description": "Yahoo Search",
    
    4
    -  "manifest_version": 2,
    
    5
    -  "version": "1.0",
    
    6
    -  "applications": {
    
    7
    -    "gecko": {
    
    8
    -      "id": "yahoo@search.mozilla.org"
    
    9
    -    }
    
    10
    -  },
    
    11
    -  "hidden": true,
    
    12
    -  "icons": {
    
    13
    -    "16": "favicon.ico"
    
    14
    -  },
    
    15
    -  "web_accessible_resources": [
    
    16
    -    "favicon.ico"
    
    17
    -  ],
    
    18
    -  "chrome_settings_overrides": {
    
    19
    -    "search_provider": {
    
    20
    -      "name": "Yahoo",
    
    21
    -      "search_url": "https://search.yahoo.com/yhs/search",
    
    22
    -      "search_form": "https://search.yahoo.com/yhs/search?p={searchTerms}&ei=UTF-8&hspart=mozilla",
    
    23
    -      "search_url_get_params": "p={searchTerms}&ei=UTF-8&hspart=mozilla",
    
    24
    -      "suggest_url": "https://search.yahoo.com/sugg/ff",
    
    25
    -      "suggest_url_get_params": "output=fxjson&appid=ffd&command={searchTerms}"
    
    26
    -    }
    
    27
    -  }
    
    28
    -}

  • browser/components/search/extensions/youtube/favicon.ico deleted
    No preview for this file type
  • browser/components/search/extensions/youtube/manifest.json deleted
    1
    -{
    
    2
    -  "name": "YouTube",
    
    3
    -  "description": "YouTube - Videos",
    
    4
    -  "manifest_version": 2,
    
    5
    -  "version": "1.0",
    
    6
    -  "applications": {
    
    7
    -    "gecko": {
    
    8
    -      "id": "youtube@search.mozilla.org"
    
    9
    -    }
    
    10
    -  },
    
    11
    -  "hidden": true,
    
    12
    -  "icons": {
    
    13
    -    "16": "favicon.ico"
    
    14
    -  },
    
    15
    -  "web_accessible_resources": [
    
    16
    -    "favicon.ico"
    
    17
    -  ],
    
    18
    -  "chrome_settings_overrides": {
    
    19
    -    "search_provider": {
    
    20
    -      "name": "YouTube",
    
    21
    -      "search_url": "https://www.youtube.com/results?search_query={searchTerms}&search=Search",
    
    22
    -      "search_form": "https://www.youtube.com/index",
    
    23
    -      "suggest_url": "https://suggestqueries.google.com/complete/search?output=firefox&ds=yt&q={searchTerms}"
    
    24
    -    }
    
    25
    -  }
    
    26
    -}
    \ No newline at end of file

  • toolkit/components/search/SearchService.sys.mjs
    ... ... @@ -2280,14 +2280,10 @@ export class SearchService {
    2280 2280
       async _fetchEngineSelectorEngines() {
    
    2281 2281
         const engines = [
    
    2282 2282
           { webExtension: { id: "ddg@search.mozilla.org" }, orderHint: 100 },
    
    2283
    -      { webExtension: { id: "youtube@search.mozilla.org" }, orderHint: 90 },
    
    2284
    -      { webExtension: { id: "google@search.mozilla.org" }, orderHint: 80 },
    
    2285
    -      { webExtension: { id: "ddg-onion@search.mozilla.org" }, orderHint: 70 },
    
    2286
    -      { webExtension: { id: "startpage@search.mozilla.org" }, orderHint: 60 },
    
    2287
    -      { webExtension: { id: "startpage-onion@search.mozilla.org" }, orderHint: 50 },
    
    2288
    -      { webExtension: { id: "twitter@search.mozilla.org" }, orderHint: 40 },
    
    2289
    -      { webExtension: { id: "wikipedia@search.mozilla.org" }, orderHint: 30 },
    
    2290
    -      { webExtension: { id: "yahoo@search.mozilla.org" }, orderHint: 20 },
    
    2283
    +      { webExtension: { id: "ddg-onion@search.mozilla.org" }, orderHint: 90 },
    
    2284
    +      { webExtension: { id: "startpage@search.mozilla.org" }, orderHint: 80 },
    
    2285
    +      { webExtension: { id: "startpage-onion@search.mozilla.org" }, orderHint: 70 },
    
    2286
    +      { webExtension: { id: "wikipedia@search.mozilla.org" }, orderHint: 60 },
    
    2291 2287
         ];
    
    2292 2288
     
    
    2293 2289
         for (let e of engines) {
    

  • toolkit/locales/en-US/toolkit/global/tor-browser.ftl
    ... ... @@ -633,3 +633,15 @@ onion-neterror-invalid-address-description = The provided onion site address is
    633 633
     # "Circuit" refers to a Tor network circuit.
    
    634 634
     onion-neterror-timed-out-header = Onion site circuit creation timed out
    
    635 635
     onion-neterror-timed-out-description = Failed to connect to the onion site, possibly due to a poor network connection.
    
    636
    +
    
    637
    +## Notification for dropped operating system support.
    
    638
    +
    
    639
    +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser".
    
    640
    +# "13.5" refers to the browser version number.
    
    641
    +# "macOS" is a brand name, and 10.15 is the macOS version number.
    
    642
    +dropped-support-notification-macos-version-less-than-10-15-extended-13-5 = { -brand-short-name } 13.5 will only receive security updates for a limited time. Please upgrade to macOS 10.15 or later to receive the latest version of { -brand-short-name }.
    
    643
    +
    
    644
    +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser".
    
    645
    +# "13.5" refers to the browser version number.
    
    646
    +# "Windows" is a brand name, and "Windows 10" is the version.
    
    647
    +dropped-support-notification-win-os-version-less-than-10-extended-13-5 = { -brand-short-name } 13.5 will only receive security updates for a limited time. Please upgrade to Windows 10 or later to receive the latest version of { -brand-short-name }.