Pier Angelo Vendrame pushed to branch tor-browser-115.15.0esr-13.5-2 at The Tor Project / Applications / Tor Browser
Commits: 59cbb661 by Pier Angelo Vendrame at 2024-09-25T19:02:36+02:00 fixup! Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
Bug 41835: Remove Twitter, Yahoo, and YouTube.
- - - - - 0247cc00 by Pier Angelo Vendrame at 2024-09-25T19:02:39+02:00 fixup! Bug 41435: Add a Tor Browser migration function
Bug: Review default search engine options.
Migration code for removing Twitter, Yahoo, and YouTube from the local extension database.
- - - - - 0033fc8d by Henry Wilkes at 2024-09-25T19:02:39+02:00 Bug 43125: Extend the 13.5 EOL expiry date for tor-browser.
- - - - - 6b299128 by Henry Wilkes at 2024-09-25T19:02:40+02:00 fixup! Tor Browser strings
Bug 43125: Add an end of life message for tor-browser only.
- - - - -
10 changed files:
- browser/base/content/droppedSupportNotification.js - browser/components/BrowserGlue.sys.mjs - − browser/components/search/extensions/twitter/favicon.ico - − browser/components/search/extensions/twitter/manifest.json - − browser/components/search/extensions/yahoo/favicon.ico - − browser/components/search/extensions/yahoo/manifest.json - − browser/components/search/extensions/youtube/favicon.ico - − browser/components/search/extensions/youtube/manifest.json - toolkit/components/search/SearchService.sys.mjs - toolkit/locales/en-US/toolkit/global/tor-browser.ftl
Changes:
===================================== browser/base/content/droppedSupportNotification.js ===================================== @@ -3,8 +3,8 @@ // Show a prompt that a user's system will no longer be supported. window.addEventListener("load", () => { let labelId; - // Expire date is 2024-10-01 (1st October 2024). - const isExpired = Date.now() > Date.UTC(2024, 9, 1); + // Firefox moved ESR 115 EOL to 1st April 2025. + const isExpired = Date.now() > Date.UTC(2025, 3, 1);
if ( AppConstants.platform === "macosx" && @@ -15,14 +15,14 @@ window.addEventListener("load", () => { ) { labelId = isExpired ? "dropped-support-notification-macos-version-less-than-10-15-expired" - : "dropped-support-notification-macos-version-less-than-10-15"; + : "dropped-support-notification-macos-version-less-than-10-15-extended-13-5"; } else if ( AppConstants.platform === "win" && Services.vc.compare(Services.sysinfo.getProperty("version"), "10.0") < 0 ) { labelId = isExpired ? "dropped-support-notification-win-os-version-less-than-10-expired" - : "dropped-support-notification-win-os-version-less-than-10"; + : "dropped-support-notification-win-os-version-less-than-10-extended-13-5"; }
const dismissedPref = @@ -44,19 +44,63 @@ window.addEventListener("load", () => { return; }
- const buttons = isExpired - ? undefined - : [ - { - "l10n-id": "dropped-support-notification-dismiss-button", - callback: () => { - Services.prefs.setStringPref( - dismissedPref, - AppConstants.BASE_BROWSER_VERSION - ); - }, - }, - ]; + // Locales that have support pages. + // Note, these correspond to their app locale names. + const supportLocales = [ + "en-US", + "ar", + "de", + "es-ES", + "fa", + "fr", + "id", + "it", + "ko", + "pt-BR", + "ro", + "ru", + "sw", + "tr", + "uk", + "vi", + "zh-CN", + "zh-TW", + ]; + // Find the first locale that matches. + let locale = Services.locale.appLocalesAsBCP47.find(l => { + return supportLocales.includes(l); + }); + if (locale === "es-ES") { + // Support page uses "es". All other locales use the same code in Tor + // Browser as the support page. + locale = "es"; + } else if (locale === "en-US") { + // This is the default. + locale = undefined; + } + + const link = `https://support.torproject.org/$%7B + locale ? `${locale}/` : "" + }tbb/tor-browser-and-legacy-os/`; + + const buttons = [ + { + "l10n-id": "notification-learnmore-default-label", + link, + }, + ]; + + if (!isExpired) { + buttons.push({ + "l10n-id": "dropped-support-notification-dismiss-button", + callback: () => { + Services.prefs.setStringPref( + dismissedPref, + AppConstants.BASE_BROWSER_VERSION + ); + }, + }); + }
gNotificationBox.appendNotification( "dropped-support-notification",
===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -4584,7 +4584,9 @@ BrowserGlue.prototype = { // torbutton preferences that are not used anymore. // Version 3: Tor Browser 13.0.7/13.5a3: Remove blockchair // (tor-browser#42283). - const TBB_MIGRATION_VERSION = 3; + // Version 4: Tor Browser 14.0a4 (2024-09-02), 13.5.4: Remove Twitter, Yahoo + // and YouTube search engines (tor-browser#41835). + const TBB_MIGRATION_VERSION = 4; const MIGRATION_PREF = "torbrowser.migration.version";
// If we decide to force updating users to pass through any version @@ -4636,21 +4638,26 @@ BrowserGlue.prototype = { } } } - if (currentVersion < 3) { - (async () => { + const dropAddons = async list => { + for (const id of list) { try { - const engine = await lazy.AddonManager.getAddonByID( - "blockchair@search.mozilla.org" - ); + const engine = await lazy.AddonManager.getAddonByID(id); await engine?.uninstall(); } catch {} - try { - const engine = await lazy.AddonManager.getAddonByID( - "blockchair-onion@search.mozilla.org" - ); - engine?.uninstall(); - } catch {} - })(); + } + }; + if (currentVersion < 3) { + dropAddons([ + "blockchair@search.mozilla.org", + "blockchair-onion@search.mozilla.org", + ]); + } + if (currentVersion < 4) { + dropAddons([ + "twitter@search.mozilla.org", + "yahoo@search.mozilla.org", + "youtube@search.mozilla.org", + ]); }
Services.prefs.setIntPref(MIGRATION_PREF, TBB_MIGRATION_VERSION);
===================================== browser/components/search/extensions/twitter/favicon.ico deleted ===================================== Binary files a/browser/components/search/extensions/twitter/favicon.ico and /dev/null differ
===================================== browser/components/search/extensions/twitter/manifest.json deleted ===================================== @@ -1,26 +0,0 @@ -{ - "name": "Twitter", - "description": "Realtime Twitter Search", - "manifest_version": 2, - "version": "1.0", - "applications": { - "gecko": { - "id": "twitter@search.mozilla.org" - } - }, - "hidden": true, - "icons": { - "16": "favicon.ico" - }, - "web_accessible_resources": [ - "favicon.ico" - ], - "chrome_settings_overrides": { - "search_provider": { - "name": "Twitter", - "search_url": "https://twitter.com/search", - "search_form": "https://twitter.com/search?q=%7BsearchTerms%7D&partner=Firefox&sourc...", - "search_url_get_params": "q={searchTerms}&partner=Firefox&source=desktop-search" - } - } -} \ No newline at end of file
===================================== browser/components/search/extensions/yahoo/favicon.ico deleted ===================================== Binary files a/browser/components/search/extensions/yahoo/favicon.ico and /dev/null differ
===================================== browser/components/search/extensions/yahoo/manifest.json deleted ===================================== @@ -1,28 +0,0 @@ -{ - "name": "Yahoo", - "description": "Yahoo Search", - "manifest_version": 2, - "version": "1.0", - "applications": { - "gecko": { - "id": "yahoo@search.mozilla.org" - } - }, - "hidden": true, - "icons": { - "16": "favicon.ico" - }, - "web_accessible_resources": [ - "favicon.ico" - ], - "chrome_settings_overrides": { - "search_provider": { - "name": "Yahoo", - "search_url": "https://search.yahoo.com/yhs/search", - "search_form": "https://search.yahoo.com/yhs/search?p=%7BsearchTerms%7D&ei=UTF-8&hsp...", - "search_url_get_params": "p={searchTerms}&ei=UTF-8&hspart=mozilla", - "suggest_url": "https://search.yahoo.com/sugg/ff", - "suggest_url_get_params": "output=fxjson&appid=ffd&command={searchTerms}" - } - } -}
===================================== browser/components/search/extensions/youtube/favicon.ico deleted ===================================== Binary files a/browser/components/search/extensions/youtube/favicon.ico and /dev/null differ
===================================== browser/components/search/extensions/youtube/manifest.json deleted ===================================== @@ -1,26 +0,0 @@ -{ - "name": "YouTube", - "description": "YouTube - Videos", - "manifest_version": 2, - "version": "1.0", - "applications": { - "gecko": { - "id": "youtube@search.mozilla.org" - } - }, - "hidden": true, - "icons": { - "16": "favicon.ico" - }, - "web_accessible_resources": [ - "favicon.ico" - ], - "chrome_settings_overrides": { - "search_provider": { - "name": "YouTube", - "search_url": "https://www.youtube.com/results?search_query=%7BsearchTerms%7D&search=Se...", - "search_form": "https://www.youtube.com/index", - "suggest_url": "https://suggestqueries.google.com/complete/search?output=firefox&ds=yt&a..." - } - } -} \ No newline at end of file
===================================== toolkit/components/search/SearchService.sys.mjs ===================================== @@ -2280,14 +2280,10 @@ export class SearchService { async _fetchEngineSelectorEngines() { const engines = [ { webExtension: { id: "ddg@search.mozilla.org" }, orderHint: 100 }, - { webExtension: { id: "youtube@search.mozilla.org" }, orderHint: 90 }, - { webExtension: { id: "google@search.mozilla.org" }, orderHint: 80 }, - { webExtension: { id: "ddg-onion@search.mozilla.org" }, orderHint: 70 }, - { webExtension: { id: "startpage@search.mozilla.org" }, orderHint: 60 }, - { webExtension: { id: "startpage-onion@search.mozilla.org" }, orderHint: 50 }, - { webExtension: { id: "twitter@search.mozilla.org" }, orderHint: 40 }, - { webExtension: { id: "wikipedia@search.mozilla.org" }, orderHint: 30 }, - { webExtension: { id: "yahoo@search.mozilla.org" }, orderHint: 20 }, + { webExtension: { id: "ddg-onion@search.mozilla.org" }, orderHint: 90 }, + { webExtension: { id: "startpage@search.mozilla.org" }, orderHint: 80 }, + { webExtension: { id: "startpage-onion@search.mozilla.org" }, orderHint: 70 }, + { webExtension: { id: "wikipedia@search.mozilla.org" }, orderHint: 60 }, ];
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 # "Circuit" refers to a Tor network circuit. onion-neterror-timed-out-header = Onion site circuit creation timed out onion-neterror-timed-out-description = Failed to connect to the onion site, possibly due to a poor network connection. + +## Notification for dropped operating system support. + +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "13.5" refers to the browser version number. +# "macOS" is a brand name, and 10.15 is the macOS version number. +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 }. + +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "13.5" refers to the browser version number. +# "Windows" is a brand name, and "Windows 10" is the version. +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 }.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/29336f2...