lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Threads by month
  • ----- 2026 -----
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 20068 discussions
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.11.0esr-13.5-1] 4 commits: fixup! Bug 42397: Change RFP-spoofed TZ to Atlantic/Reykjavik.
by Pier Angelo Vendrame (@pierov) 03 Jun '24

03 Jun '24
Pier Angelo Vendrame pushed to branch mullvad-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser Commits: e84b8691 by Pier Angelo Vendrame at 2024-06-03T10:28:01+02:00 fixup! Bug 42397: Change RFP-spoofed TZ to Atlantic/Reykjavik. Revert &quot;Bug 42397: Change RFP-spoofed TZ to Atlantic/Reykjavik.&quot; This reverts commit 6d9095b1fcfd0a89f9871301e1d9f0f561ff50be. - - - - - abe44d42 by hackademix at 2024-06-03T10:28:03+02:00 Bug 1835987 - Change RFP-spoofed TZ to Atlantic/Reykjavik. r=tjr Atlantic/Reykjavik stays on UTC during all the year, but it is less likely to be blocked than plan UTC. Differential Revision: https://phabricator.services.mozilla.com/D212131 - - - - - 48691732 by Pier Angelo Vendrame at 2024-06-03T10:28:03+02:00 fixup! Bug 41966: Allow removing locales from the locale alternatives list. Revert &quot;Bug 41966: Allow removing locales from the locale alternatives list.&quot; This reverts commit bba294a4b4a78c8b2fa2cb31e4cb4aa0c86d058e. - - - - - dbf278c5 by Henry Wilkes at 2024-06-03T10:28:04+02:00 Bug 1851618 - Allow removing packaged locales from requestedLocales. r=settings-reviewers,eemeli,Gijs We open up the UI to allow the user to remove locales from their requestedLocales list, except for the default locale. Differential Revision: https://phabricator.services.mozilla.com/D209930 - - - - - 4 changed files: - browser/components/preferences/dialogs/browserLanguages.js - browser/components/preferences/tests/browser_browser_languages_subdialog.js - browser/components/resistfingerprinting/test/browser/browser_timezone.js - js/src/vm/DateTime.cpp Changes: ===================================== browser/components/preferences/dialogs/browserLanguages.js ===================================== @@ -327,8 +327,7 @@ class SortedItemSelectList { * @prop {string} id - A unique ID. * @prop {string} label - The localized display name. * @prop {string} value - The BCP 47 locale identifier or the word "search". - * @prop {boolean} canRemove - Locales that are part of the packaged locales cannot be - * removed. + * @prop {boolean} canRemove - The default locale cannot be removed. * @prop {boolean} installed - Whether or not the locale is installed. */ @@ -338,7 +337,6 @@ class SortedItemSelectList { */ async function getLocaleDisplayInfo(localeCodes) { let availableLocales = new Set(await LangPackMatcher.getAvailableLocales()); - let packagedLocales = new Set(Services.locale.packagedLocales); let localeNames = Services.intl.getLocaleDisplayNames( undefined, localeCodes, @@ -349,7 +347,7 @@ async function getLocaleDisplayInfo(localeCodes) { id: "locale-" + code, label: localeNames[i], value: code, - canRemove: code !== Services.locale.defaultLocale, + canRemove: code != Services.locale.defaultLocale, installed: availableLocales.has(code), }; }); ===================================== browser/components/preferences/tests/browser_browser_languages_subdialog.js ===================================== @@ -142,18 +142,23 @@ async function createDictionaryBrowseResults() { return dir; } -function assertLocaleOrder(list, locales) { +function assertLocaleOrder(list, locales, selectedLocale) { is( list.itemCount, locales.split(",").length, - "The right number of locales are selected" + "The right number of locales are in the list" ); is( Array.from(list.children) .map(child => child.value) .join(","), locales, - "The selected locales are in order" + "The listed locales are in order" + ); + is( + list.selectedItem.value, + selectedLocale, + "The selected item locale matches" ); } @@ -219,6 +224,11 @@ async function selectLocale(localeCode, available, selected, dialogDoc) { await added; } +// Select a locale from the list of already added locales. +function selectAddedLocale(localeCode, selected) { + selected.selectedItem = selected.querySelector(`[value="${localeCode}"]`); +} + async function openDialog(doc, search = false) { let dialogLoaded = promiseLoadSubDialog(BROWSER_LANGUAGES_URL); if (search) { @@ -283,7 +293,7 @@ add_task(async function testDisabledBrowserLanguages() { // pl is not selected since it's disabled. is(pl.userDisabled, true, "pl is disabled"); is(pl.version, "1.0", "pl is the old 1.0 version"); - assertLocaleOrder(selected, "en-US,he"); + assertLocaleOrder(selected, "en-US,he", "en-US"); // Wait for the children menu to be populated. await BrowserTestUtils.waitForCondition( @@ -313,7 +323,7 @@ add_task(async function testDisabledBrowserLanguages() { // Add pl. await selectLocale("pl", available, selected, dialogDoc); - assertLocaleOrder(selected, "pl,en-US,he"); + assertLocaleOrder(selected, "pl,en-US,he", "pl"); // Find pl again since it's been upgraded. pl = await AddonManager.getAddonByID(langpackId("pl")); @@ -371,12 +381,12 @@ add_task(async function testReorderingBrowserLanguages() { let firstDialogId = getDialogId(dialogDoc); // The initial order is set by the pref, filtered by available. - assertLocaleOrder(selected, "en-US,pl,he"); + assertLocaleOrder(selected, "en-US,pl,he", "en-US"); // Moving pl down changes the order. - selected.selectedItem = selected.querySelector("[value='pl']"); + selectAddedLocale("pl", selected); dialogDoc.getElementById("down").doCommand(); - assertLocaleOrder(selected, "en-US,he,pl"); + assertLocaleOrder(selected, "en-US,he,pl", "pl"); // Accepting the change shows the confirm message bar. let dialogClosed = BrowserTestUtils.waitForEvent(dialog, "dialogclosing"); @@ -404,13 +414,13 @@ add_task(async function testReorderingBrowserLanguages() { selected = newDialog.selected; // The initial order comes from the previous settings. - assertLocaleOrder(selected, "en-US,he,pl"); + assertLocaleOrder(selected, "en-US,he,pl", "en-US"); // Select pl in the list. - selected.selectedItem = selected.querySelector("[value='pl']"); + selectAddedLocale("pl", selected); // Move pl back up. dialogDoc.getElementById("up").doCommand(); - assertLocaleOrder(selected, "en-US,pl,he"); + assertLocaleOrder(selected, "en-US,pl,he", "pl"); // Accepting the change hides the confirm message bar. dialogClosed = BrowserTestUtils.waitForEvent(dialog, "dialogclosing"); @@ -485,25 +495,42 @@ add_task(async function testAddAndRemoveSelectedLanguages() { } ); // The initial order is set by the pref. - assertLocaleOrder(selected, "en-US"); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "pl", "he"]); + let removeButton = dialogDoc.getElementById("remove"); + // Cannot remove the default locale. + is(removeButton.disabled, true, "Remove en-US should be disabled"); + // Add pl and fr to selected. await selectLocale("pl", available, selected, dialogDoc); await selectLocale("fr", available, selected, dialogDoc); - assertLocaleOrder(selected, "fr,pl,en-US"); + assertLocaleOrder(selected, "fr,pl,en-US", "fr"); assertAvailableLocales(available, ["he"]); + // Can remove the added locale again. + is(removeButton.disabled, false, "Remove fr should be not be disabled"); + + selectAddedLocale("en-US", selected); + // Cannot remove the default locale, even after adding more. + is(removeButton.disabled, true, "Remove en-us should still be disabled"); + // Remove pl and fr from selected. - dialogDoc.getElementById("remove").doCommand(); - dialogDoc.getElementById("remove").doCommand(); - assertLocaleOrder(selected, "en-US"); + selectAddedLocale("fr", selected); + is(removeButton.disabled, false, "Remove fr should be not be disabled"); + removeButton.doCommand(); + // Selection moves to pl. + assertLocaleOrder(selected, "pl,en-US", "pl"); + is(removeButton.disabled, false, "Remove pl should be not be disabled"); + removeButton.doCommand(); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "pl", "he"]); + is(removeButton.disabled, true, "Remove en-us should be disabled at end"); // Add he to selected. await selectLocale("he", available, selected, dialogDoc); - assertLocaleOrder(selected, "he,en-US"); + assertLocaleOrder(selected, "he,en-US", "he"); assertAvailableLocales(available, ["pl", "fr"]); // Accepting the change shows the confirm message bar. @@ -603,7 +630,7 @@ add_task(async function testInstallFromAMO() { } // The initial order is set by the pref. - assertLocaleOrder(selected, "en-US"); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "he", "pl"]); is( Services.locale.availableLocales.join(","), @@ -633,7 +660,7 @@ add_task(async function testInstallFromAMO() { ); // Verify the list is correct. - assertLocaleOrder(selected, "pl,en-US"); + assertLocaleOrder(selected, "pl,en-US", "pl"); assertAvailableLocales(available, ["fr", "he"]); is( Services.locale.availableLocales.sort().join(","), @@ -658,7 +685,7 @@ add_task(async function testInstallFromAMO() { // Move pl down the list, which prevents an error since it isn't valid. dialogDoc.getElementById("down").doCommand(); - assertLocaleOrder(selected, "en-US,pl"); + assertLocaleOrder(selected, "en-US,pl", "pl"); // Test that disabling the langpack removes it from the list. let dialogClosed = BrowserTestUtils.waitForEvent(dialog, "dialogclosing"); @@ -683,7 +710,7 @@ add_task(async function testInstallFromAMO() { target => available.itemCount > 1 ); } - assertLocaleOrder(selected, "en-US"); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "he", "pl"]); // Uninstall the langpack and dictionary. ===================================== browser/components/resistfingerprinting/test/browser/browser_timezone.js ===================================== @@ -18,13 +18,13 @@ async function verifySpoofed() { function test() { let date = new Date(); const TZ_NAME = "Atlantic/Reykjavik"; - const TZ_SUFFIX = "(Greenwich Mean Time)"; + const TZ_SUFFIX = "Greenwich Mean Time"; ok( - date.toString().endsWith(TZ_SUFFIX), + date.toString().endsWith(`(${TZ_SUFFIX})`), `The date toString() is in ${TZ_NAME} timezone.` ); ok( - date.toTimeString().endsWith(TZ_SUFFIX), + date.toTimeString().endsWith(`(${TZ_SUFFIX})`), `The date toTimeString() is in ${TZ_NAME} timezone.` ); let dateTimeFormat = Intl.DateTimeFormat("en-US", { ===================================== js/src/vm/DateTime.cpp ===================================== @@ -484,11 +484,12 @@ bool js::DateTimeInfo::internalTimeZoneDisplayName(char16_t* buf, size_t buflen, mozilla::intl::TimeZone* js::DateTimeInfo::timeZone() { if (!timeZone_) { - // For resist finger printing mode we always use the Atlantic/Reykjavik time zone - // as a "real world" UTC equivalent. + // For resist finger printing mode we always use the Atlantic/Reykjavik time + // zone as a "real world" UTC equivalent. mozilla::Maybe<mozilla::Span<const char16_t>> timeZoneOverride; if (shouldResistFingerprinting_) { - timeZoneOverride = mozilla::Some(mozilla::MakeStringSpan(u"Atlantic/Reykjavik")); + timeZoneOverride = + mozilla::Some(mozilla::MakeStringSpan(u"Atlantic/Reykjavik")); } auto timeZone = mozilla::intl::TimeZone::TryCreate(timeZoneOverride); View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/1b… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/1b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.11.0esr-13.5-1] 4 commits: fixup! Bug 42397: Change RFP-spoofed TZ to Atlantic/Reykjavik.
by Pier Angelo Vendrame (@pierov) 03 Jun '24

03 Jun '24
Pier Angelo Vendrame pushed to branch base-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 97a6b927 by Pier Angelo Vendrame at 2024-06-03T10:27:20+02:00 fixup! Bug 42397: Change RFP-spoofed TZ to Atlantic/Reykjavik. Revert &quot;Bug 42397: Change RFP-spoofed TZ to Atlantic/Reykjavik.&quot; This reverts commit 6d9095b1fcfd0a89f9871301e1d9f0f561ff50be. - - - - - 3d8c9a22 by hackademix at 2024-06-03T10:27:21+02:00 Bug 1835987 - Change RFP-spoofed TZ to Atlantic/Reykjavik. r=tjr Atlantic/Reykjavik stays on UTC during all the year, but it is less likely to be blocked than plan UTC. Differential Revision: https://phabricator.services.mozilla.com/D212131 - - - - - c774f31b by Pier Angelo Vendrame at 2024-06-03T10:27:21+02:00 fixup! Bug 41966: Allow removing locales from the locale alternatives list. Revert &quot;Bug 41966: Allow removing locales from the locale alternatives list.&quot; This reverts commit bba294a4b4a78c8b2fa2cb31e4cb4aa0c86d058e. - - - - - 81861e0c by Henry Wilkes at 2024-06-03T10:27:22+02:00 Bug 1851618 - Allow removing packaged locales from requestedLocales. r=settings-reviewers,eemeli,Gijs We open up the UI to allow the user to remove locales from their requestedLocales list, except for the default locale. Differential Revision: https://phabricator.services.mozilla.com/D209930 - - - - - 4 changed files: - browser/components/preferences/dialogs/browserLanguages.js - browser/components/preferences/tests/browser_browser_languages_subdialog.js - browser/components/resistfingerprinting/test/browser/browser_timezone.js - js/src/vm/DateTime.cpp Changes: ===================================== browser/components/preferences/dialogs/browserLanguages.js ===================================== @@ -327,8 +327,7 @@ class SortedItemSelectList { * @prop {string} id - A unique ID. * @prop {string} label - The localized display name. * @prop {string} value - The BCP 47 locale identifier or the word "search". - * @prop {boolean} canRemove - Locales that are part of the packaged locales cannot be - * removed. + * @prop {boolean} canRemove - The default locale cannot be removed. * @prop {boolean} installed - Whether or not the locale is installed. */ @@ -338,7 +337,6 @@ class SortedItemSelectList { */ async function getLocaleDisplayInfo(localeCodes) { let availableLocales = new Set(await LangPackMatcher.getAvailableLocales()); - let packagedLocales = new Set(Services.locale.packagedLocales); let localeNames = Services.intl.getLocaleDisplayNames( undefined, localeCodes, @@ -349,7 +347,7 @@ async function getLocaleDisplayInfo(localeCodes) { id: "locale-" + code, label: localeNames[i], value: code, - canRemove: code !== Services.locale.defaultLocale, + canRemove: code != Services.locale.defaultLocale, installed: availableLocales.has(code), }; }); ===================================== browser/components/preferences/tests/browser_browser_languages_subdialog.js ===================================== @@ -142,18 +142,23 @@ async function createDictionaryBrowseResults() { return dir; } -function assertLocaleOrder(list, locales) { +function assertLocaleOrder(list, locales, selectedLocale) { is( list.itemCount, locales.split(",").length, - "The right number of locales are selected" + "The right number of locales are in the list" ); is( Array.from(list.children) .map(child => child.value) .join(","), locales, - "The selected locales are in order" + "The listed locales are in order" + ); + is( + list.selectedItem.value, + selectedLocale, + "The selected item locale matches" ); } @@ -219,6 +224,11 @@ async function selectLocale(localeCode, available, selected, dialogDoc) { await added; } +// Select a locale from the list of already added locales. +function selectAddedLocale(localeCode, selected) { + selected.selectedItem = selected.querySelector(`[value="${localeCode}"]`); +} + async function openDialog(doc, search = false) { let dialogLoaded = promiseLoadSubDialog(BROWSER_LANGUAGES_URL); if (search) { @@ -283,7 +293,7 @@ add_task(async function testDisabledBrowserLanguages() { // pl is not selected since it's disabled. is(pl.userDisabled, true, "pl is disabled"); is(pl.version, "1.0", "pl is the old 1.0 version"); - assertLocaleOrder(selected, "en-US,he"); + assertLocaleOrder(selected, "en-US,he", "en-US"); // Wait for the children menu to be populated. await BrowserTestUtils.waitForCondition( @@ -313,7 +323,7 @@ add_task(async function testDisabledBrowserLanguages() { // Add pl. await selectLocale("pl", available, selected, dialogDoc); - assertLocaleOrder(selected, "pl,en-US,he"); + assertLocaleOrder(selected, "pl,en-US,he", "pl"); // Find pl again since it's been upgraded. pl = await AddonManager.getAddonByID(langpackId("pl")); @@ -371,12 +381,12 @@ add_task(async function testReorderingBrowserLanguages() { let firstDialogId = getDialogId(dialogDoc); // The initial order is set by the pref, filtered by available. - assertLocaleOrder(selected, "en-US,pl,he"); + assertLocaleOrder(selected, "en-US,pl,he", "en-US"); // Moving pl down changes the order. - selected.selectedItem = selected.querySelector("[value='pl']"); + selectAddedLocale("pl", selected); dialogDoc.getElementById("down").doCommand(); - assertLocaleOrder(selected, "en-US,he,pl"); + assertLocaleOrder(selected, "en-US,he,pl", "pl"); // Accepting the change shows the confirm message bar. let dialogClosed = BrowserTestUtils.waitForEvent(dialog, "dialogclosing"); @@ -404,13 +414,13 @@ add_task(async function testReorderingBrowserLanguages() { selected = newDialog.selected; // The initial order comes from the previous settings. - assertLocaleOrder(selected, "en-US,he,pl"); + assertLocaleOrder(selected, "en-US,he,pl", "en-US"); // Select pl in the list. - selected.selectedItem = selected.querySelector("[value='pl']"); + selectAddedLocale("pl", selected); // Move pl back up. dialogDoc.getElementById("up").doCommand(); - assertLocaleOrder(selected, "en-US,pl,he"); + assertLocaleOrder(selected, "en-US,pl,he", "pl"); // Accepting the change hides the confirm message bar. dialogClosed = BrowserTestUtils.waitForEvent(dialog, "dialogclosing"); @@ -485,25 +495,42 @@ add_task(async function testAddAndRemoveSelectedLanguages() { } ); // The initial order is set by the pref. - assertLocaleOrder(selected, "en-US"); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "pl", "he"]); + let removeButton = dialogDoc.getElementById("remove"); + // Cannot remove the default locale. + is(removeButton.disabled, true, "Remove en-US should be disabled"); + // Add pl and fr to selected. await selectLocale("pl", available, selected, dialogDoc); await selectLocale("fr", available, selected, dialogDoc); - assertLocaleOrder(selected, "fr,pl,en-US"); + assertLocaleOrder(selected, "fr,pl,en-US", "fr"); assertAvailableLocales(available, ["he"]); + // Can remove the added locale again. + is(removeButton.disabled, false, "Remove fr should be not be disabled"); + + selectAddedLocale("en-US", selected); + // Cannot remove the default locale, even after adding more. + is(removeButton.disabled, true, "Remove en-us should still be disabled"); + // Remove pl and fr from selected. - dialogDoc.getElementById("remove").doCommand(); - dialogDoc.getElementById("remove").doCommand(); - assertLocaleOrder(selected, "en-US"); + selectAddedLocale("fr", selected); + is(removeButton.disabled, false, "Remove fr should be not be disabled"); + removeButton.doCommand(); + // Selection moves to pl. + assertLocaleOrder(selected, "pl,en-US", "pl"); + is(removeButton.disabled, false, "Remove pl should be not be disabled"); + removeButton.doCommand(); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "pl", "he"]); + is(removeButton.disabled, true, "Remove en-us should be disabled at end"); // Add he to selected. await selectLocale("he", available, selected, dialogDoc); - assertLocaleOrder(selected, "he,en-US"); + assertLocaleOrder(selected, "he,en-US", "he"); assertAvailableLocales(available, ["pl", "fr"]); // Accepting the change shows the confirm message bar. @@ -603,7 +630,7 @@ add_task(async function testInstallFromAMO() { } // The initial order is set by the pref. - assertLocaleOrder(selected, "en-US"); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "he", "pl"]); is( Services.locale.availableLocales.join(","), @@ -633,7 +660,7 @@ add_task(async function testInstallFromAMO() { ); // Verify the list is correct. - assertLocaleOrder(selected, "pl,en-US"); + assertLocaleOrder(selected, "pl,en-US", "pl"); assertAvailableLocales(available, ["fr", "he"]); is( Services.locale.availableLocales.sort().join(","), @@ -658,7 +685,7 @@ add_task(async function testInstallFromAMO() { // Move pl down the list, which prevents an error since it isn't valid. dialogDoc.getElementById("down").doCommand(); - assertLocaleOrder(selected, "en-US,pl"); + assertLocaleOrder(selected, "en-US,pl", "pl"); // Test that disabling the langpack removes it from the list. let dialogClosed = BrowserTestUtils.waitForEvent(dialog, "dialogclosing"); @@ -683,7 +710,7 @@ add_task(async function testInstallFromAMO() { target => available.itemCount > 1 ); } - assertLocaleOrder(selected, "en-US"); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "he", "pl"]); // Uninstall the langpack and dictionary. ===================================== browser/components/resistfingerprinting/test/browser/browser_timezone.js ===================================== @@ -18,13 +18,13 @@ async function verifySpoofed() { function test() { let date = new Date(); const TZ_NAME = "Atlantic/Reykjavik"; - const TZ_SUFFIX = "(Greenwich Mean Time)"; + const TZ_SUFFIX = "Greenwich Mean Time"; ok( - date.toString().endsWith(TZ_SUFFIX), + date.toString().endsWith(`(${TZ_SUFFIX})`), `The date toString() is in ${TZ_NAME} timezone.` ); ok( - date.toTimeString().endsWith(TZ_SUFFIX), + date.toTimeString().endsWith(`(${TZ_SUFFIX})`), `The date toTimeString() is in ${TZ_NAME} timezone.` ); let dateTimeFormat = Intl.DateTimeFormat("en-US", { ===================================== js/src/vm/DateTime.cpp ===================================== @@ -484,11 +484,12 @@ bool js::DateTimeInfo::internalTimeZoneDisplayName(char16_t* buf, size_t buflen, mozilla::intl::TimeZone* js::DateTimeInfo::timeZone() { if (!timeZone_) { - // For resist finger printing mode we always use the Atlantic/Reykjavik time zone - // as a "real world" UTC equivalent. + // For resist finger printing mode we always use the Atlantic/Reykjavik time + // zone as a "real world" UTC equivalent. mozilla::Maybe<mozilla::Span<const char16_t>> timeZoneOverride; if (shouldResistFingerprinting_) { - timeZoneOverride = mozilla::Some(mozilla::MakeStringSpan(u"Atlantic/Reykjavik")); + timeZoneOverride = + mozilla::Some(mozilla::MakeStringSpan(u"Atlantic/Reykjavik")); } auto timeZone = mozilla::intl::TimeZone::TryCreate(timeZoneOverride); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/9054cf… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/9054cf… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.11.0esr-13.5-1] 4 commits: fixup! Bug 42397: Change RFP-spoofed TZ to Atlantic/Reykjavik.
by Pier Angelo Vendrame (@pierov) 03 Jun '24

03 Jun '24
Pier Angelo Vendrame pushed to branch tor-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 83e6ff81 by Pier Angelo Vendrame at 2024-06-03T10:06:52+02:00 fixup! Bug 42397: Change RFP-spoofed TZ to Atlantic/Reykjavik. Revert &quot;Bug 42397: Change RFP-spoofed TZ to Atlantic/Reykjavik.&quot; This reverts commit 6d9095b1fcfd0a89f9871301e1d9f0f561ff50be. - - - - - 499e612d by hackademix at 2024-06-03T10:10:13+02:00 Bug 1835987 - Change RFP-spoofed TZ to Atlantic/Reykjavik. r=tjr Atlantic/Reykjavik stays on UTC during all the year, but it is less likely to be blocked than plan UTC. Differential Revision: https://phabricator.services.mozilla.com/D212131 - - - - - 02196ae8 by Pier Angelo Vendrame at 2024-06-03T10:11:43+02:00 fixup! Bug 41966: Allow removing locales from the locale alternatives list. Revert &quot;Bug 41966: Allow removing locales from the locale alternatives list.&quot; This reverts commit bba294a4b4a78c8b2fa2cb31e4cb4aa0c86d058e. - - - - - 385c5834 by Henry Wilkes at 2024-06-03T10:12:13+02:00 Bug 1851618 - Allow removing packaged locales from requestedLocales. r=settings-reviewers,eemeli,Gijs We open up the UI to allow the user to remove locales from their requestedLocales list, except for the default locale. Differential Revision: https://phabricator.services.mozilla.com/D209930 - - - - - 4 changed files: - browser/components/preferences/dialogs/browserLanguages.js - browser/components/preferences/tests/browser_browser_languages_subdialog.js - browser/components/resistfingerprinting/test/browser/browser_timezone.js - js/src/vm/DateTime.cpp Changes: ===================================== browser/components/preferences/dialogs/browserLanguages.js ===================================== @@ -327,8 +327,7 @@ class SortedItemSelectList { * @prop {string} id - A unique ID. * @prop {string} label - The localized display name. * @prop {string} value - The BCP 47 locale identifier or the word "search". - * @prop {boolean} canRemove - Locales that are part of the packaged locales cannot be - * removed. + * @prop {boolean} canRemove - The default locale cannot be removed. * @prop {boolean} installed - Whether or not the locale is installed. */ @@ -338,7 +337,6 @@ class SortedItemSelectList { */ async function getLocaleDisplayInfo(localeCodes) { let availableLocales = new Set(await LangPackMatcher.getAvailableLocales()); - let packagedLocales = new Set(Services.locale.packagedLocales); let localeNames = Services.intl.getLocaleDisplayNames( undefined, localeCodes, @@ -349,7 +347,7 @@ async function getLocaleDisplayInfo(localeCodes) { id: "locale-" + code, label: localeNames[i], value: code, - canRemove: code !== Services.locale.defaultLocale, + canRemove: code != Services.locale.defaultLocale, installed: availableLocales.has(code), }; }); ===================================== browser/components/preferences/tests/browser_browser_languages_subdialog.js ===================================== @@ -142,18 +142,23 @@ async function createDictionaryBrowseResults() { return dir; } -function assertLocaleOrder(list, locales) { +function assertLocaleOrder(list, locales, selectedLocale) { is( list.itemCount, locales.split(",").length, - "The right number of locales are selected" + "The right number of locales are in the list" ); is( Array.from(list.children) .map(child => child.value) .join(","), locales, - "The selected locales are in order" + "The listed locales are in order" + ); + is( + list.selectedItem.value, + selectedLocale, + "The selected item locale matches" ); } @@ -219,6 +224,11 @@ async function selectLocale(localeCode, available, selected, dialogDoc) { await added; } +// Select a locale from the list of already added locales. +function selectAddedLocale(localeCode, selected) { + selected.selectedItem = selected.querySelector(`[value="${localeCode}"]`); +} + async function openDialog(doc, search = false) { let dialogLoaded = promiseLoadSubDialog(BROWSER_LANGUAGES_URL); if (search) { @@ -283,7 +293,7 @@ add_task(async function testDisabledBrowserLanguages() { // pl is not selected since it's disabled. is(pl.userDisabled, true, "pl is disabled"); is(pl.version, "1.0", "pl is the old 1.0 version"); - assertLocaleOrder(selected, "en-US,he"); + assertLocaleOrder(selected, "en-US,he", "en-US"); // Wait for the children menu to be populated. await BrowserTestUtils.waitForCondition( @@ -313,7 +323,7 @@ add_task(async function testDisabledBrowserLanguages() { // Add pl. await selectLocale("pl", available, selected, dialogDoc); - assertLocaleOrder(selected, "pl,en-US,he"); + assertLocaleOrder(selected, "pl,en-US,he", "pl"); // Find pl again since it's been upgraded. pl = await AddonManager.getAddonByID(langpackId("pl")); @@ -371,12 +381,12 @@ add_task(async function testReorderingBrowserLanguages() { let firstDialogId = getDialogId(dialogDoc); // The initial order is set by the pref, filtered by available. - assertLocaleOrder(selected, "en-US,pl,he"); + assertLocaleOrder(selected, "en-US,pl,he", "en-US"); // Moving pl down changes the order. - selected.selectedItem = selected.querySelector("[value='pl']"); + selectAddedLocale("pl", selected); dialogDoc.getElementById("down").doCommand(); - assertLocaleOrder(selected, "en-US,he,pl"); + assertLocaleOrder(selected, "en-US,he,pl", "pl"); // Accepting the change shows the confirm message bar. let dialogClosed = BrowserTestUtils.waitForEvent(dialog, "dialogclosing"); @@ -404,13 +414,13 @@ add_task(async function testReorderingBrowserLanguages() { selected = newDialog.selected; // The initial order comes from the previous settings. - assertLocaleOrder(selected, "en-US,he,pl"); + assertLocaleOrder(selected, "en-US,he,pl", "en-US"); // Select pl in the list. - selected.selectedItem = selected.querySelector("[value='pl']"); + selectAddedLocale("pl", selected); // Move pl back up. dialogDoc.getElementById("up").doCommand(); - assertLocaleOrder(selected, "en-US,pl,he"); + assertLocaleOrder(selected, "en-US,pl,he", "pl"); // Accepting the change hides the confirm message bar. dialogClosed = BrowserTestUtils.waitForEvent(dialog, "dialogclosing"); @@ -485,25 +495,42 @@ add_task(async function testAddAndRemoveSelectedLanguages() { } ); // The initial order is set by the pref. - assertLocaleOrder(selected, "en-US"); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "pl", "he"]); + let removeButton = dialogDoc.getElementById("remove"); + // Cannot remove the default locale. + is(removeButton.disabled, true, "Remove en-US should be disabled"); + // Add pl and fr to selected. await selectLocale("pl", available, selected, dialogDoc); await selectLocale("fr", available, selected, dialogDoc); - assertLocaleOrder(selected, "fr,pl,en-US"); + assertLocaleOrder(selected, "fr,pl,en-US", "fr"); assertAvailableLocales(available, ["he"]); + // Can remove the added locale again. + is(removeButton.disabled, false, "Remove fr should be not be disabled"); + + selectAddedLocale("en-US", selected); + // Cannot remove the default locale, even after adding more. + is(removeButton.disabled, true, "Remove en-us should still be disabled"); + // Remove pl and fr from selected. - dialogDoc.getElementById("remove").doCommand(); - dialogDoc.getElementById("remove").doCommand(); - assertLocaleOrder(selected, "en-US"); + selectAddedLocale("fr", selected); + is(removeButton.disabled, false, "Remove fr should be not be disabled"); + removeButton.doCommand(); + // Selection moves to pl. + assertLocaleOrder(selected, "pl,en-US", "pl"); + is(removeButton.disabled, false, "Remove pl should be not be disabled"); + removeButton.doCommand(); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "pl", "he"]); + is(removeButton.disabled, true, "Remove en-us should be disabled at end"); // Add he to selected. await selectLocale("he", available, selected, dialogDoc); - assertLocaleOrder(selected, "he,en-US"); + assertLocaleOrder(selected, "he,en-US", "he"); assertAvailableLocales(available, ["pl", "fr"]); // Accepting the change shows the confirm message bar. @@ -603,7 +630,7 @@ add_task(async function testInstallFromAMO() { } // The initial order is set by the pref. - assertLocaleOrder(selected, "en-US"); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "he", "pl"]); is( Services.locale.availableLocales.join(","), @@ -633,7 +660,7 @@ add_task(async function testInstallFromAMO() { ); // Verify the list is correct. - assertLocaleOrder(selected, "pl,en-US"); + assertLocaleOrder(selected, "pl,en-US", "pl"); assertAvailableLocales(available, ["fr", "he"]); is( Services.locale.availableLocales.sort().join(","), @@ -658,7 +685,7 @@ add_task(async function testInstallFromAMO() { // Move pl down the list, which prevents an error since it isn't valid. dialogDoc.getElementById("down").doCommand(); - assertLocaleOrder(selected, "en-US,pl"); + assertLocaleOrder(selected, "en-US,pl", "pl"); // Test that disabling the langpack removes it from the list. let dialogClosed = BrowserTestUtils.waitForEvent(dialog, "dialogclosing"); @@ -683,7 +710,7 @@ add_task(async function testInstallFromAMO() { target => available.itemCount > 1 ); } - assertLocaleOrder(selected, "en-US"); + assertLocaleOrder(selected, "en-US", "en-US"); assertAvailableLocales(available, ["fr", "he", "pl"]); // Uninstall the langpack and dictionary. ===================================== browser/components/resistfingerprinting/test/browser/browser_timezone.js ===================================== @@ -18,13 +18,13 @@ async function verifySpoofed() { function test() { let date = new Date(); const TZ_NAME = "Atlantic/Reykjavik"; - const TZ_SUFFIX = "(Greenwich Mean Time)"; + const TZ_SUFFIX = "Greenwich Mean Time"; ok( - date.toString().endsWith(TZ_SUFFIX), + date.toString().endsWith(`(${TZ_SUFFIX})`), `The date toString() is in ${TZ_NAME} timezone.` ); ok( - date.toTimeString().endsWith(TZ_SUFFIX), + date.toTimeString().endsWith(`(${TZ_SUFFIX})`), `The date toTimeString() is in ${TZ_NAME} timezone.` ); let dateTimeFormat = Intl.DateTimeFormat("en-US", { ===================================== js/src/vm/DateTime.cpp ===================================== @@ -484,11 +484,12 @@ bool js::DateTimeInfo::internalTimeZoneDisplayName(char16_t* buf, size_t buflen, mozilla::intl::TimeZone* js::DateTimeInfo::timeZone() { if (!timeZone_) { - // For resist finger printing mode we always use the Atlantic/Reykjavik time zone - // as a "real world" UTC equivalent. + // For resist finger printing mode we always use the Atlantic/Reykjavik time + // zone as a "real world" UTC equivalent. mozilla::Maybe<mozilla::Span<const char16_t>> timeZoneOverride; if (shouldResistFingerprinting_) { - timeZoneOverride = mozilla::Some(mozilla::MakeStringSpan(u"Atlantic/Reykjavik")); + timeZoneOverride = + mozilla::Some(mozilla::MakeStringSpan(u"Atlantic/Reykjavik")); } auto timeZone = mozilla::intl::TimeZone::TryCreate(timeZoneOverride); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/2c4138… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/2c4138… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.11.0esr-13.5-1] fixup! Bug 41916: Letterboxing preferences UI
by ma1 (@ma1) 03 Jun '24

03 Jun '24
ma1 pushed to branch mullvad-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser Commits: 1b8016ae by hackademix at 2024-06-03T10:09:33+02:00 fixup! Bug 41916: Letterboxing preferences UI Import gLetterboxingPrefs for the linter. - - - - - 1 changed file: - browser/components/preferences/main.js Changes: ===================================== browser/components/preferences/main.js ===================================== @@ -3,6 +3,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ /* import-globals-from extensionControlled.js */ +/* import-globals-from letterboxing.js */ /* import-globals-from preferences.js */ /* import-globals-from /toolkit/mozapps/preferences/fontbuilder.js */ /* import-globals-from /browser/base/content/aboutDialog-appUpdater.js */ View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/1b8… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/1b8… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.11.0esr-13.5-1] fixup! Bug 41916: Letterboxing preferences UI
by ma1 (@ma1) 03 Jun '24

03 Jun '24
ma1 pushed to branch base-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 9054cfca by hackademix at 2024-06-03T10:07:55+02:00 fixup! Bug 41916: Letterboxing preferences UI Import gLetterboxingPrefs for the linter. - - - - - 1 changed file: - browser/components/preferences/main.js Changes: ===================================== browser/components/preferences/main.js ===================================== @@ -3,6 +3,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ /* import-globals-from extensionControlled.js */ +/* import-globals-from letterboxing.js */ /* import-globals-from preferences.js */ /* import-globals-from /toolkit/mozapps/preferences/fontbuilder.js */ /* import-globals-from /browser/base/content/aboutDialog-appUpdater.js */ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9054cfc… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9054cfc… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.11.0esr-13.5-1] fixup! Bug 41916: Letterboxing preferences UI
by ma1 (@ma1) 03 Jun '24

03 Jun '24
ma1 pushed to branch tor-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 2c413893 by hackademix at 2024-06-03T10:01:17+02:00 fixup! Bug 41916: Letterboxing preferences UI Import gLetterboxingPrefs for the linter. - - - - - 1 changed file: - browser/components/preferences/main.js Changes: ===================================== browser/components/preferences/main.js ===================================== @@ -3,6 +3,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ /* import-globals-from extensionControlled.js */ +/* import-globals-from letterboxing.js */ /* import-globals-from preferences.js */ /* import-globals-from /toolkit/mozapps/preferences/fontbuilder.js */ /* import-globals-from /browser/base/content/aboutDialog-appUpdater.js */ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2c41389… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2c41389… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41153: Update README for Ubuntu 24.04 unprivileged user namespace changes
by boklm (@boklm) 01 Jun '24

01 Jun '24
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: bd033876 by NoisyCoil at 2024-06-01T10:49:06+02:00 Bug 41153: Update README for Ubuntu 24.04 unprivileged user namespace changes - - - - - 1 changed file: - README Changes: ===================================== README ===================================== @@ -78,12 +78,18 @@ The build system is based on rbm, which is included as a git submodule in the rbm/ directory. You can fetch the rbm git submodule by running 'make submodule-update'. -The build uses user_namespaces(7), which are disabled by default on Debian. -To enable them you can use the following command as root: +The build uses user_namespaces(7), which are disabled by default on Debian +and on Ubuntu v24.04 and later. To enable them on Debian you can use the +following command as root: # sysctl -w kernel.unprivileged_userns_clone=1 -You can enable them permanently by adding the setting to /etc/sysctl.d/ +To enable them on Ubuntu v24.04 and later, you can use the following command +as root: + + # sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 + +You can enable them permanently by adding the settings to /etc/sysctl.d/ The user you use to build needs to have a range of subordinate uids and gids in /etc/subuid and /etc/subgid. Most of the time they are added by View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.11.0esr-13.5-1] fixup! Bug 41600: Add a tor circuit display panel.
by richard (@richard) 30 May '24

30 May '24
richard pushed to branch tor-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: c3e505ef by Henry Wilkes at 2024-05-30T16:38:58+01:00 fixup! Bug 41600: Add a tor circuit display panel. Bug 41859: Increase ip address font size to make them more legible on windows OS. - - - - - 1 changed file: - browser/components/torcircuit/content/torCircuitPanel.css Changes: ===================================== browser/components/torcircuit/content/torCircuitPanel.css ===================================== @@ -165,11 +165,16 @@ } .tor-circuit-addresses { - font-size: smaller; + font-size: 0.9em; font-family: monospace; margin-inline-start: 0.75em; } +.tor-circuit-ip-address { + /* Override the rule for <code>, which is -moz-fixed. */ + font-family: inherit; +} + /* Footer buttons */ .tor-circuit-button label { margin: 0; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c3e505e… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c3e505e… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.11.0esr-13.5-1] Bug 290: Add default bookmarks in alpha channel for testing
by richard (@richard) 30 May '24

30 May '24
richard pushed to branch mullvad-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser Commits: 80396457 by Dan Ballard at 2024-05-30T12:28:35+00:00 Bug 290: Add default bookmarks in alpha channel for testing - - - - - 1 changed file: - browser/base/content/default-bookmarks.html Changes: ===================================== browser/base/content/default-bookmarks.html ===================================== @@ -15,7 +15,18 @@ <h1>Bookmarks</h1> <dl><p> - <dt><a href="https://mullvad.net/" icon="@mullvad_icon@">Mullvad VPN</a></dt> + <dt><a href="https://mullvad.net/" icon="@mullvad_icon@">Mullvad VPN</a></dt> +#if MOZ_UPDATE_CHANNEL != release + <dt><h3>QA</h3></dt> + <dl><p> + <dt><a href="https://mullvad.net/check">connection check</a></dt> + <dt><a href="https://webrtc.github.io/samples/src/content/getusermedia/gum/">webcam | webRTC</a></dt> + <dt><a href="https://webrtc.github.io/samples/src/content/getusermedia/audio/">audio | webRTC</a></dt> + <dt><a href="https://webrtc.github.io/samples/src/content/getusermedia/getdisplaymedia/">screenshare | webRTC</a></dt> + <dt><a href="https://youtube.com/">youtube</a></dt> + <dt><a href="https://theguardian.com/">the guardian</a></dt> + </dl><p> +#endif </dl><p> </body> </html> View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/803… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/803… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.11.0esr-13.5-1] 5 commits: fixup! Bug 40175: Add origin attributes to about:reader top-level requests
by richard (@richard) 30 May '24

30 May '24
richard pushed to branch mullvad-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser Commits: f34bff1e by Pier Angelo Vendrame at 2024-05-30T11:44:22+00:00 fixup! Bug 40175: Add origin attributes to about:reader top-level requests Revert &quot;Bug 40175: Add origin attributes to about:reader top-level requests&quot; This reverts commit 2718a926fd331a0df2ad8cc90c6c9633f3630243. - - - - - 7684ec07 by Pier Angelo Vendrame at 2024-05-30T11:44:22+00:00 fixup! Bug 41116: Normalize system fonts. Revert &quot;fixup! Bug 41116: Normalize system fonts.&quot; This reverts commit 2c1a8f5261873f3c2435b9de1f83c07d5933748e. - - - - - aff5ec0f by Pier Angelo Vendrame at 2024-05-30T11:44:22+00:00 fixup! Bug 41116: Normalize system fonts. Revert &quot;Bug 41116: Normalize system fonts.&quot; This reverts commit df3f350e810ebe79c0823a124e6a555baf812f55. - - - - - 6ebf41c3 by Pier Angelo Vendrame at 2024-05-30T11:44:23+00:00 Bug 1787790: Normalize system fonts with RFP on. r=emilio System fonts can leak any user customization of system fonts, or user&#39;s locale (e.g., en-US and ja Windows have different system fonts). Also, Linux distributions/desktop environments set default fonts in different ways. Customization can be detected either with font metrics, the font allowed list is not enabled or the font is included in it, or with getComputedStyle, that leaks the name of the font that Firefox tries to apply. This patch try to prevent these leaks by using a generic &quot;sans-serif&quot; for all system fonts, except on macOS, where it uses &quot;-apple-system&quot;, and on Android, where these fonts always use Roboto. Differential Revision: https://phabricator.services.mozilla.com/D163576 - - - - - 1b026291 by cypherpunks1 at 2024-05-30T11:44:23+00:00 Bug 1892046 - Add origin attributes to about:reader requests. r=reader-mode-reviewers,cmkm Differential Revision: https://phabricator.services.mozilla.com/D207759 - - - - - 5 changed files: - gfx/thebes/gfxPlatformFontList.cpp - layout/base/nsLayoutUtils.cpp - layout/reftests/font-matching/reftest.list - + layout/reftests/font-matching/system-font-rfp-ref.html - + layout/reftests/font-matching/system-font-rfp.html Changes: ===================================== gfx/thebes/gfxPlatformFontList.cpp ===================================== @@ -1973,19 +1973,17 @@ static void GetSystemUIFontFamilies(const nsPresContext* aPresContext, nsFont systemFont; gfxFontStyle fontStyle; nsAutoString systemFontName; - if (aPresContext && aPresContext->Document() - ? aPresContext->Document()->ShouldResistFingerprinting( - RFPTarget::Unknown) - : nsContentUtils::ShouldResistFingerprinting( - "aPresContext not available", RFPTarget::Unknown)) { -#ifdef XP_MACOSX + if (aPresContext ? aPresContext->Document()->ShouldResistFingerprinting( + RFPTarget::Unknown) + : nsContentUtils::ShouldResistFingerprinting( + "aPresContext not available", RFPTarget::Unknown)) { +#if defined(XP_MACOSX) || defined(MOZ_WIDGET_UIKIT) *aFamilies.AppendElement() = "-apple-system"_ns; return; #elif !defined(MOZ_WIDGET_ANDROID) *aFamilies.AppendElement() = "sans-serif"_ns; return; #endif - // Android uses already fixed fonts. } if (!LookAndFeel::GetFont(StyleSystemFont::Menu, systemFontName, fontStyle)) { return; ===================================== layout/base/nsLayoutUtils.cpp ===================================== @@ -9680,7 +9680,7 @@ already_AddRefed<nsFontMetrics> nsLayoutUtils::GetMetricsFor( static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, gfxFontStyle& aStyle, nsAString& aName) { -#if defined(XP_MACOSX) +#if defined(XP_MACOSX) || defined(MOZ_WIDGET_UIKIT) aName = u"-apple-system"_ns; // Values taken from a macOS 10.15 system. switch (aFontID) { @@ -9690,7 +9690,8 @@ static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, break; case LookAndFeel::FontID::SmallCaption: aStyle.weight = gfxFontStyle::FontWeight::BOLD; - // fall-through + // fall-through for font-size + [[fallthrough]]; case LookAndFeel::FontID::MessageBox: case LookAndFeel::FontID::StatusBar: aStyle.size = 11; @@ -9704,14 +9705,13 @@ static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, // languages, so we fallback to sans-serif to fall back to the user's // default sans-serif. Size is 12px for all system fonts (tried in an en-US // system). - // Several Android systems reported Roboto 12px, so similar to what Windows - // does. aName = u"sans-serif"_ns; aStyle.size = 12; #elif defined(MOZ_WIDGET_ANDROID) + // Keep consistency with nsLookAndFeel::NativeGetFont. aName = u"Roboto"_ns; aStyle.size = 12; -#else +#elif defined(MOZ_WIDGET_GTK) // On Linux, there is not a default. For example, GNOME on Debian uses // Cantarell, 14.667px. Ubuntu Mate uses the Ubuntu font, but also 14.667px. // Fedora with KDE uses Noto Sans, 13.3333px, but it uses Noto Sans on @@ -9721,6 +9721,8 @@ static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, // UI font-size. aName = u"sans-serif"_ns; aStyle.size = 15; +#else +# error "Unknown platform" #endif } ===================================== layout/reftests/font-matching/reftest.list ===================================== @@ -195,3 +195,6 @@ pref(ui.font.menu,"serif") test-pref(ui.font.menu.weight,"800") != system-font-p # Reset default prefs. defaults + +# Bug 1787790 - Normalize system fonts when using RFP +test-pref(privacy.resistFingerprinting,true) == system-font-rfp.html system-font-rfp-ref.html ===================================== layout/reftests/font-matching/system-font-rfp-ref.html ===================================== @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<style> +body { + font-family: -apple-system, sans-serif; + font-size: 12px; +} + +.android { + font-family: Roboto; +} + +.linux { + font-size: 15px; +} + +.mac { + .caption, .menu { + font-size: 13px; + } + .message-box, .status-bar { + font-size: 11px; + } + .small-caption { + font-size: 11px; + font-weight: 700; + } +} +</style> +<div class="caption">Caption</div> +<div class="icon">Icon</div> +<div class="menu">Menu</div> +<div class="message-box">Message box</div> +<div class="small-caption">Small caption</div> +<div class="status-bar">Status bar</div> +<script> +if (navigator.platform.startsWith("Mac")) { + document.querySelector("body").className = "mac"; +} else if (navigator.userAgent.includes("Android")) { + document.querySelector("body").className = "android"; +} else if (navigator.platform.startsWith("Linux")) { + document.querySelector("body").className = "linux"; +} +</script> ===================================== layout/reftests/font-matching/system-font-rfp.html ===================================== @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<div style="font: caption">Caption</div> +<div style="font: icon">Icon</div> +<div style="font: menu">Menu</div> +<div style="font: message-box">Message box</div> +<div style="font: small-caption">Small caption</div> +<div style="font: status-bar">Status bar</div> View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/2c… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/2c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.11.0esr-13.5-1] 5 commits: fixup! Bug 40175: Add origin attributes to about:reader top-level requests
by richard (@richard) 30 May '24

30 May '24
richard pushed to branch base-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 62fcc276 by Pier Angelo Vendrame at 2024-05-30T11:43:20+00:00 fixup! Bug 40175: Add origin attributes to about:reader top-level requests Revert &quot;Bug 40175: Add origin attributes to about:reader top-level requests&quot; This reverts commit 2718a926fd331a0df2ad8cc90c6c9633f3630243. - - - - - 2058592a by Pier Angelo Vendrame at 2024-05-30T11:43:21+00:00 fixup! Bug 41116: Normalize system fonts. Revert &quot;fixup! Bug 41116: Normalize system fonts.&quot; This reverts commit 2c1a8f5261873f3c2435b9de1f83c07d5933748e. - - - - - d7d0c5a8 by Pier Angelo Vendrame at 2024-05-30T11:43:21+00:00 fixup! Bug 41116: Normalize system fonts. Revert &quot;Bug 41116: Normalize system fonts.&quot; This reverts commit df3f350e810ebe79c0823a124e6a555baf812f55. - - - - - f6b799f0 by Pier Angelo Vendrame at 2024-05-30T11:43:21+00:00 Bug 1787790: Normalize system fonts with RFP on. r=emilio System fonts can leak any user customization of system fonts, or user&#39;s locale (e.g., en-US and ja Windows have different system fonts). Also, Linux distributions/desktop environments set default fonts in different ways. Customization can be detected either with font metrics, the font allowed list is not enabled or the font is included in it, or with getComputedStyle, that leaks the name of the font that Firefox tries to apply. This patch try to prevent these leaks by using a generic &quot;sans-serif&quot; for all system fonts, except on macOS, where it uses &quot;-apple-system&quot;, and on Android, where these fonts always use Roboto. Differential Revision: https://phabricator.services.mozilla.com/D163576 - - - - - 5658183f by cypherpunks1 at 2024-05-30T11:43:22+00:00 Bug 1892046 - Add origin attributes to about:reader requests. r=reader-mode-reviewers,cmkm Differential Revision: https://phabricator.services.mozilla.com/D207759 - - - - - 5 changed files: - gfx/thebes/gfxPlatformFontList.cpp - layout/base/nsLayoutUtils.cpp - layout/reftests/font-matching/reftest.list - + layout/reftests/font-matching/system-font-rfp-ref.html - + layout/reftests/font-matching/system-font-rfp.html Changes: ===================================== gfx/thebes/gfxPlatformFontList.cpp ===================================== @@ -1973,19 +1973,17 @@ static void GetSystemUIFontFamilies(const nsPresContext* aPresContext, nsFont systemFont; gfxFontStyle fontStyle; nsAutoString systemFontName; - if (aPresContext && aPresContext->Document() - ? aPresContext->Document()->ShouldResistFingerprinting( - RFPTarget::Unknown) - : nsContentUtils::ShouldResistFingerprinting( - "aPresContext not available", RFPTarget::Unknown)) { -#ifdef XP_MACOSX + if (aPresContext ? aPresContext->Document()->ShouldResistFingerprinting( + RFPTarget::Unknown) + : nsContentUtils::ShouldResistFingerprinting( + "aPresContext not available", RFPTarget::Unknown)) { +#if defined(XP_MACOSX) || defined(MOZ_WIDGET_UIKIT) *aFamilies.AppendElement() = "-apple-system"_ns; return; #elif !defined(MOZ_WIDGET_ANDROID) *aFamilies.AppendElement() = "sans-serif"_ns; return; #endif - // Android uses already fixed fonts. } if (!LookAndFeel::GetFont(StyleSystemFont::Menu, systemFontName, fontStyle)) { return; ===================================== layout/base/nsLayoutUtils.cpp ===================================== @@ -9680,7 +9680,7 @@ already_AddRefed<nsFontMetrics> nsLayoutUtils::GetMetricsFor( static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, gfxFontStyle& aStyle, nsAString& aName) { -#if defined(XP_MACOSX) +#if defined(XP_MACOSX) || defined(MOZ_WIDGET_UIKIT) aName = u"-apple-system"_ns; // Values taken from a macOS 10.15 system. switch (aFontID) { @@ -9690,7 +9690,8 @@ static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, break; case LookAndFeel::FontID::SmallCaption: aStyle.weight = gfxFontStyle::FontWeight::BOLD; - // fall-through + // fall-through for font-size + [[fallthrough]]; case LookAndFeel::FontID::MessageBox: case LookAndFeel::FontID::StatusBar: aStyle.size = 11; @@ -9704,14 +9705,13 @@ static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, // languages, so we fallback to sans-serif to fall back to the user's // default sans-serif. Size is 12px for all system fonts (tried in an en-US // system). - // Several Android systems reported Roboto 12px, so similar to what Windows - // does. aName = u"sans-serif"_ns; aStyle.size = 12; #elif defined(MOZ_WIDGET_ANDROID) + // Keep consistency with nsLookAndFeel::NativeGetFont. aName = u"Roboto"_ns; aStyle.size = 12; -#else +#elif defined(MOZ_WIDGET_GTK) // On Linux, there is not a default. For example, GNOME on Debian uses // Cantarell, 14.667px. Ubuntu Mate uses the Ubuntu font, but also 14.667px. // Fedora with KDE uses Noto Sans, 13.3333px, but it uses Noto Sans on @@ -9721,6 +9721,8 @@ static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, // UI font-size. aName = u"sans-serif"_ns; aStyle.size = 15; +#else +# error "Unknown platform" #endif } ===================================== layout/reftests/font-matching/reftest.list ===================================== @@ -195,3 +195,6 @@ pref(ui.font.menu,"serif") test-pref(ui.font.menu.weight,"800") != system-font-p # Reset default prefs. defaults + +# Bug 1787790 - Normalize system fonts when using RFP +test-pref(privacy.resistFingerprinting,true) == system-font-rfp.html system-font-rfp-ref.html ===================================== layout/reftests/font-matching/system-font-rfp-ref.html ===================================== @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<style> +body { + font-family: -apple-system, sans-serif; + font-size: 12px; +} + +.android { + font-family: Roboto; +} + +.linux { + font-size: 15px; +} + +.mac { + .caption, .menu { + font-size: 13px; + } + .message-box, .status-bar { + font-size: 11px; + } + .small-caption { + font-size: 11px; + font-weight: 700; + } +} +</style> +<div class="caption">Caption</div> +<div class="icon">Icon</div> +<div class="menu">Menu</div> +<div class="message-box">Message box</div> +<div class="small-caption">Small caption</div> +<div class="status-bar">Status bar</div> +<script> +if (navigator.platform.startsWith("Mac")) { + document.querySelector("body").className = "mac"; +} else if (navigator.userAgent.includes("Android")) { + document.querySelector("body").className = "android"; +} else if (navigator.platform.startsWith("Linux")) { + document.querySelector("body").className = "linux"; +} +</script> ===================================== layout/reftests/font-matching/system-font-rfp.html ===================================== @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<div style="font: caption">Caption</div> +<div style="font: icon">Icon</div> +<div style="font: menu">Menu</div> +<div style="font: message-box">Message box</div> +<div style="font: small-caption">Small caption</div> +<div style="font: status-bar">Status bar</div> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d4e035… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d4e035… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.11.0esr-13.5-1] 5 commits: fixup! Bug 40175: Add origin attributes to about:reader top-level requests
by richard (@richard) 30 May '24

30 May '24
richard pushed to branch tor-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: b4fbb624 by Pier Angelo Vendrame at 2024-05-30T08:49:54+02:00 fixup! Bug 40175: Add origin attributes to about:reader top-level requests Revert &quot;Bug 40175: Add origin attributes to about:reader top-level requests&quot; This reverts commit 2718a926fd331a0df2ad8cc90c6c9633f3630243. - - - - - 73f0f817 by Pier Angelo Vendrame at 2024-05-30T08:50:18+02:00 fixup! Bug 41116: Normalize system fonts. Revert &quot;fixup! Bug 41116: Normalize system fonts.&quot; This reverts commit 2c1a8f5261873f3c2435b9de1f83c07d5933748e. - - - - - 3841a1fd by Pier Angelo Vendrame at 2024-05-30T08:50:37+02:00 fixup! Bug 41116: Normalize system fonts. Revert &quot;Bug 41116: Normalize system fonts.&quot; This reverts commit df3f350e810ebe79c0823a124e6a555baf812f55. - - - - - 09bd48db by Pier Angelo Vendrame at 2024-05-30T08:56:02+02:00 Bug 1787790: Normalize system fonts with RFP on. r=emilio System fonts can leak any user customization of system fonts, or user&#39;s locale (e.g., en-US and ja Windows have different system fonts). Also, Linux distributions/desktop environments set default fonts in different ways. Customization can be detected either with font metrics, the font allowed list is not enabled or the font is included in it, or with getComputedStyle, that leaks the name of the font that Firefox tries to apply. This patch try to prevent these leaks by using a generic &quot;sans-serif&quot; for all system fonts, except on macOS, where it uses &quot;-apple-system&quot;, and on Android, where these fonts always use Roboto. Differential Revision: https://phabricator.services.mozilla.com/D163576 - - - - - fa069b8b by cypherpunks1 at 2024-05-30T08:56:03+02:00 Bug 1892046 - Add origin attributes to about:reader requests. r=reader-mode-reviewers,cmkm Differential Revision: https://phabricator.services.mozilla.com/D207759 - - - - - 5 changed files: - gfx/thebes/gfxPlatformFontList.cpp - layout/base/nsLayoutUtils.cpp - layout/reftests/font-matching/reftest.list - + layout/reftests/font-matching/system-font-rfp-ref.html - + layout/reftests/font-matching/system-font-rfp.html Changes: ===================================== gfx/thebes/gfxPlatformFontList.cpp ===================================== @@ -1973,19 +1973,17 @@ static void GetSystemUIFontFamilies(const nsPresContext* aPresContext, nsFont systemFont; gfxFontStyle fontStyle; nsAutoString systemFontName; - if (aPresContext && aPresContext->Document() - ? aPresContext->Document()->ShouldResistFingerprinting( - RFPTarget::Unknown) - : nsContentUtils::ShouldResistFingerprinting( - "aPresContext not available", RFPTarget::Unknown)) { -#ifdef XP_MACOSX + if (aPresContext ? aPresContext->Document()->ShouldResistFingerprinting( + RFPTarget::Unknown) + : nsContentUtils::ShouldResistFingerprinting( + "aPresContext not available", RFPTarget::Unknown)) { +#if defined(XP_MACOSX) || defined(MOZ_WIDGET_UIKIT) *aFamilies.AppendElement() = "-apple-system"_ns; return; #elif !defined(MOZ_WIDGET_ANDROID) *aFamilies.AppendElement() = "sans-serif"_ns; return; #endif - // Android uses already fixed fonts. } if (!LookAndFeel::GetFont(StyleSystemFont::Menu, systemFontName, fontStyle)) { return; ===================================== layout/base/nsLayoutUtils.cpp ===================================== @@ -9680,7 +9680,7 @@ already_AddRefed<nsFontMetrics> nsLayoutUtils::GetMetricsFor( static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, gfxFontStyle& aStyle, nsAString& aName) { -#if defined(XP_MACOSX) +#if defined(XP_MACOSX) || defined(MOZ_WIDGET_UIKIT) aName = u"-apple-system"_ns; // Values taken from a macOS 10.15 system. switch (aFontID) { @@ -9690,7 +9690,8 @@ static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, break; case LookAndFeel::FontID::SmallCaption: aStyle.weight = gfxFontStyle::FontWeight::BOLD; - // fall-through + // fall-through for font-size + [[fallthrough]]; case LookAndFeel::FontID::MessageBox: case LookAndFeel::FontID::StatusBar: aStyle.size = 11; @@ -9704,14 +9705,13 @@ static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, // languages, so we fallback to sans-serif to fall back to the user's // default sans-serif. Size is 12px for all system fonts (tried in an en-US // system). - // Several Android systems reported Roboto 12px, so similar to what Windows - // does. aName = u"sans-serif"_ns; aStyle.size = 12; #elif defined(MOZ_WIDGET_ANDROID) + // Keep consistency with nsLookAndFeel::NativeGetFont. aName = u"Roboto"_ns; aStyle.size = 12; -#else +#elif defined(MOZ_WIDGET_GTK) // On Linux, there is not a default. For example, GNOME on Debian uses // Cantarell, 14.667px. Ubuntu Mate uses the Ubuntu font, but also 14.667px. // Fedora with KDE uses Noto Sans, 13.3333px, but it uses Noto Sans on @@ -9721,6 +9721,8 @@ static void GetSpoofedSystemFontForRFP(LookAndFeel::FontID aFontID, // UI font-size. aName = u"sans-serif"_ns; aStyle.size = 15; +#else +# error "Unknown platform" #endif } ===================================== layout/reftests/font-matching/reftest.list ===================================== @@ -195,3 +195,6 @@ pref(ui.font.menu,"serif") test-pref(ui.font.menu.weight,"800") != system-font-p # Reset default prefs. defaults + +# Bug 1787790 - Normalize system fonts when using RFP +test-pref(privacy.resistFingerprinting,true) == system-font-rfp.html system-font-rfp-ref.html ===================================== layout/reftests/font-matching/system-font-rfp-ref.html ===================================== @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<style> +body { + font-family: -apple-system, sans-serif; + font-size: 12px; +} + +.android { + font-family: Roboto; +} + +.linux { + font-size: 15px; +} + +.mac { + .caption, .menu { + font-size: 13px; + } + .message-box, .status-bar { + font-size: 11px; + } + .small-caption { + font-size: 11px; + font-weight: 700; + } +} +</style> +<div class="caption">Caption</div> +<div class="icon">Icon</div> +<div class="menu">Menu</div> +<div class="message-box">Message box</div> +<div class="small-caption">Small caption</div> +<div class="status-bar">Status bar</div> +<script> +if (navigator.platform.startsWith("Mac")) { + document.querySelector("body").className = "mac"; +} else if (navigator.userAgent.includes("Android")) { + document.querySelector("body").className = "android"; +} else if (navigator.platform.startsWith("Linux")) { + document.querySelector("body").className = "linux"; +} +</script> ===================================== layout/reftests/font-matching/system-font-rfp.html ===================================== @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<div style="font: caption">Caption</div> +<div style="font: icon">Icon</div> +<div style="font: menu">Menu</div> +<div style="font: message-box">Message box</div> +<div style="font: small-caption">Small caption</div> +<div style="font: status-bar">Status bar</div> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/46c671… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/46c671… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.11.0esr-13.5-1] 2 commits: fixup! Bug 40933: Add tor-launcher functionality
by Pier Angelo Vendrame (@pierov) 29 May '24

29 May '24
Pier Angelo Vendrame pushed to branch tor-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 77793754 by Pier Angelo Vendrame at 2024-05-29T20:31:38+02:00 fixup! Bug 40933: Add tor-launcher functionality Bug 42604: Log the circuit nodes when we see the CIRC BUILT event (with debug level). - - - - - 46c67143 by Pier Angelo Vendrame at 2024-05-29T20:31:43+02:00 fixup! Bug 3455: Add DomainIsolator, for isolating circuit by domain. Bug 42604: Log a message when we update the data about a certain circuit. - - - - - 2 changed files: - toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs - toolkit/components/tor-launcher/TorProvider.sys.mjs Changes: ===================================== toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs ===================================== @@ -588,6 +588,7 @@ class TorDomainIsolatorImpl { data = await Promise.all( circuit.map(fingerprint => provider.getNodeInfo(fingerprint)) ); + logger.debug(`Updating circuit ${id}`, data); this.#knownCircuits.set(id, data); // We know that something changed, but we cannot know if anyone is // interested in this change. So, we have to notify all the possible ===================================== toolkit/components/tor-launcher/TorProvider.sys.mjs ===================================== @@ -1035,6 +1035,7 @@ export class TorProvider { */ async onCircuitBuilt(id, nodes) { this.#circuits.set(id, nodes); + logger.debug(`Built tor circuit ${id}`, nodes); // Ignore circuits of length 1, that are used, for example, to probe // bridges. So, only store them, since we might see streams that use them, // but then early-return. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/5826b2… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/5826b2… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41151: Explicitly initialize the plugin directory on the Windows installer.
by richard (@richard) 29 May '24

29 May '24
richard pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 87212fc3 by Pier Angelo Vendrame at 2024-05-29T18:46:39+02:00 Bug 41151: Explicitly initialize the plugin directory on the Windows installer. Otherwise, the Windows installer might show an error when opening. - - - - - 1 changed file: - projects/browser/windows-installer/browser-install.nsi Changes: ===================================== projects/browser/windows-installer/browser-install.nsi ===================================== @@ -64,6 +64,7 @@ Function .onInit ; Skip NSIS's language selection prompt and try to use the OS language without ; further confirmations. + InitPluginsDir File /oname=$PLUGINSDIR\${WELCOME_IMAGE} "${WELCOME_IMAGE}" ReadRegStr $existingInstall HKCU "${UNINST_KEY}" "InstallLocation" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41129: Make an rpm package for Mullvad Browser
by boklm (@boklm) 29 May '24

29 May '24
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 0d395222 by Nicolas Vigier at 2024-05-29T12:04:09+02:00 Bug 41129: Make an rpm package for Mullvad Browser - - - - - 10 changed files: - projects/linux-packages/Makefile.in - projects/linux-packages/debian/browser.desktop.in → projects/linux-packages/browser.desktop.in - projects/linux-packages/build - projects/linux-packages/config - − projects/linux-packages/debian/install.in - − projects/linux-packages/debian/links.in - + projects/linux-packages/rpm-package.spec - projects/release/build - projects/release/config - tools/signing/linux-signer-gpg-sign Changes: ===================================== projects/linux-packages/Makefile.in ===================================== @@ -3,5 +3,25 @@ build: echo 'This is a packaged app.' > "${DEB_TARGET_ARCH}/Browser/is-packaged-app" [% c("touch") %] "${DEB_TARGET_ARCH}/Browser/is-packaged-app" +install: + mkdir -p "${DESTDIR}/[% c('var/system_pkg/install_path') %]" + cp -a "${DEB_TARGET_ARCH}/Browser"/* "${DESTDIR}/[% c('var/system_pkg/install_path') %]" + chmod -R go+rX "${DESTDIR}/[% c('var/system_pkg/install_path') %]" + mkdir -p "${DESTDIR}/usr/share/applications" + cp -a [% c("var/system_pkg/pkg_name") %].desktop "${DESTDIR}/usr/share/applications" + mkdir -p "${DESTDIR}/usr/bin" + ln -s "/[% c('var/system_pkg/install_path') %]/start-[% c('var/project-name') %]" \ + "${DESTDIR}/usr/bin/[% c('var/system_pkg/pkg_name') %]" + for res in 16 32 48 64 128 ;\ + do \ + resdir="${DESTDIR}/usr/share/icons/hicolor/$${res}x$${res}/apps"; \ + mkdir -p "$$resdir"; \ + ln -s "/[% c('var/system_pkg/install_path') %]/browser/chrome/icons/default/default$${res}.png" \ + "$${resdir}/[% c('var/system_pkg/pkg_name') %].png"; \ + done + mkdir -p "${DESTDIR}/usr/share/icons/hicolor/scalable/apps" + ln -s "/[% c('var/system_pkg/install_path') %]/browser/chrome/icons/default/about-logo.svg" \ + "${DESTDIR}/usr/share/icons/hicolor/scalable/apps/[% c('var/system_pkg/pkg_name') %].svg" + clean: rm -f "${DEB_TARGET_ARCH}/Browser/is-packaged-app" ===================================== projects/linux-packages/debian/browser.desktop.in → projects/linux-packages/browser.desktop.in ===================================== ===================================== projects/linux-packages/build ===================================== @@ -7,12 +7,13 @@ mkdir -p $OUTDIR mkdir -p "$distdir" export SOURCE_DATE_EPOCH='[% c("timestamp") %]' +umask 0022 [% IF c("var/build_deb_pkg") -%] cd $distdir project_dir=[% c("var/system_pkg/pkg_name") %]-[% c("var/system_pkg/pkg_version") %] mkdir "$project_dir" - mv $rootdir/Makefile "$project_dir" + cp -a $rootdir/Makefile $rootdir/[% c("var/system_pkg/pkg_name") %].desktop "$project_dir" [% c('tar', { tar_src => [ '$project_dir' ], tar_args => '-cJf ' _ c("var/system_pkg/pkg_name") _ '_' _ c("var/system_pkg/pkg_version") _ '.orig.tar.xz', @@ -20,7 +21,7 @@ export SOURCE_DATE_EPOCH='[% c("timestamp") %]' cd "$project_dir" mv $rootdir/debian . - chmod +x debian/install debian/docs debian/rules + chmod +x debian/docs debian/rules mkdir debian/source echo -n '3.0 (quilt)' > debian/source/format @@ -30,7 +31,7 @@ export SOURCE_DATE_EPOCH='[% c("timestamp") %]' deb_arch="$2" mkdir $deb_arch tar -C $deb_arch --strip-components=1 -xf "$src_tar" - mv "$src_tar" \ + cp "$src_tar" \ ../[% c("var/system_pkg/pkg_name") %]_[% c("var/system_pkg/pkg_version") %].orig-$deb_arch.tar.xz } [% IF c("var/browser-linux-x86_64") -%] @@ -52,4 +53,34 @@ export SOURCE_DATE_EPOCH='[% c("timestamp") %]' mv -f "$deb_file_name" *.dsc *.orig.tar.xz *.debian.tar.xz "$OUTDIR/" popd [% END -%] + + cd .. +[% END %] + +[% IF c("var/build_rpm_pkg") -%] + + cat > ~/.rpmmacros << EOF + %clamp_mtime_to_source_date_epoch 1 + %use_source_date_epoch_as_buildtime 1 + %build_mtime_policy clamp_to_source_date_epoch + %_buildhost localhost +EOF + + mkdir rpm + cd rpm + mkdir SPECS SOURCES + cp -a $rootdir/[% c("var/system_pkg/pkg_name") %].spec SPECS + cp -a $rootdir/Makefile $rootdir/[% c("var/system_pkg/pkg_name") %].desktop SOURCES/ + [% IF c("var/browser-linux-x86_64") -%] + cp -a $rootdir/[% c('input_files_by_name/linux-x86_64') %]/[% c("var/project-name") %]-linux-x86_64-[% c("version") %].tar.xz \ + SOURCES/[% c("var/system_pkg/pkg_name") %]-linux-x86_64-[% c("var/system_pkg/pkg_version") %].tar.xz + [% END -%] + [% IF c("var/browser-linux-i686") -%] + cp -a $rootdir/[% c('input_files_by_name/linux-i686') %]/[% c("var/project-name") %]-linux-i686-[% c("version") %].tar.xz \ + SOURCES/[% c("var/system_pkg/pkg_name") %]-linux-i686-[% c("var/system_pkg/pkg_version") %].tar.xz + [% END -%] + rpmdir=$(pwd) + rpmbuild --define "_topdir $rpmdir" -v -bb SPECS/[% c("var/system_pkg/pkg_name") %].spec + mv RPMS/*/*.rpm "$OUTDIR/" + [% END %] ===================================== projects/linux-packages/config ===================================== @@ -6,11 +6,10 @@ container: use_container: 1 var: - build_deb_pkg: '[% c("var/mullvad-browser") %]' system_pkg: install_path: 'usr/lib/[% c("var/system_pkg/pkg_name") %]' pkg_name: '[% c("var/project-name") %]-[% c("var/channel") %]' - pkg_version: '[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]' + pkg_version: '[% c("var/torbrowser_version") %]' pkg_revision: '1' pkg_description: '[% c("var/display_name") %]' deb_release_date: '[% USE date; date.format(c("timestamp"), format = "%a, %d %b %Y 01:02:03 +0000", locale = "en_US") %]' @@ -19,25 +18,42 @@ var: - '[% IF c("var/browser-linux-x86_64") %]amd64[% END %]' - '[% IF c("var/browser-linux-i686") %]i386[% END %]' - arch_deps: - # Packages needed to build the deb package - - dpkg-dev - - debhelper - - dh-exec - # Packages needed to generate dependencies for the deb package - - linux-libc-dev - - libasound2-dev - - libfontconfig1-dev - - libfreetype6-dev - - libgconf2-dev - - libgtk-3-dev - - libpango1.0-dev - - libpulse-dev - - libx11-xcb-dev - - libxt-dev targets: + deb: + var: + build_deb_pkg: '[% c("var/mullvad-browser") %]' + arch_deps: + # Packages needed to build the deb package + - dpkg-dev + - debhelper + - dh-exec + # Packages needed to generate dependencies for the deb package + - linux-libc-dev + - libasound2-dev + - libfontconfig1-dev + - libfreetype6-dev + - libgconf2-dev + - libgtk-3-dev + - libpango1.0-dev + - libpulse-dev + - libx11-xcb-dev + - libxt-dev + + rpm: + var: + build_rpm_pkg: '[% c("var/mullvad-browser") %]' + + arch_deps: + # Packages needed to build the rpm package + - rpm + + # Use bookworm since rpm version from stretch does not produce + # reproducible rpm files + container: + suite: bookworm + browser-all: - browser-linux-x86_64 - browser-linux-i686 @@ -54,6 +70,8 @@ targets: torbrowser: var: browser_type: torbrowser + system_pkg: + pkg_url: 'https://torproject.org/' basebrowser: var: browser_type: basebrowser @@ -62,6 +80,7 @@ targets: browser_type: mullvadbrowser system_pkg: pkg_description: 'Mullvad Browser is a privacy-focused web browser designed to minimize tracking and fingerprinting.' + pkg_url: 'https://mullvad.net/browser' release: var: @@ -105,6 +124,11 @@ input_files: content: "[% INCLUDE 'Makefile.in' %]" refresh_input: 1 + - filename: '[% c("var/system_pkg/pkg_name") %].desktop' + content: "[% INCLUDE 'browser.desktop.in' %]" + refresh_input: 1 + enable: '[% c("var/build_deb_pkg") || c("var/build_rpm_pkg") %]' + # Debian Package - filename: debian/changelog content: "[% INCLUDE 'debian/changelog.in' %]" @@ -120,25 +144,19 @@ input_files: content: "[% INCLUDE 'debian/copyright.in' %]" refresh_input: 1 enable: '[% c("var/build_deb_pkg") %]' - - filename: debian/install - content: "[% INCLUDE 'debian/install.in' %]" - refresh_input: 1 - enable: '[% c("var/build_deb_pkg") %]' - filename: debian/docs content: "[% INCLUDE 'debian/docs.in' %]" refresh_input: 1 enable: '[% c("var/build_deb_pkg") %]' - - filename: 'debian/[% c("var/system_pkg/pkg_name") %].desktop' - content: "[% INCLUDE 'debian/browser.desktop.in' %]" - refresh_input: 1 - enable: '[% c("var/build_deb_pkg") %]' - - filename: debian/links - content: "[% INCLUDE 'debian/links.in' %]" - refresh_input: 1 - enable: '[% c("var/build_deb_pkg") %]' - filename: debian/rules enable: '[% c("var/build_deb_pkg") %]' + # rpm package + - filename: '[% c("var/system_pkg/pkg_name") %].spec' + content: "[% INCLUDE 'rpm-package.spec' %]" + refresh_input: 1 + enable: '[% c("var/build_rpm_pkg") %]' + --- | # This part of the file contains options written in perl ( ===================================== projects/linux-packages/debian/install.in deleted ===================================== @@ -1,3 +0,0 @@ -#! /usr/bin/dh-exec -${DEB_HOST_ARCH}/Browser/* [% c("var/system_pkg/install_path") %] -debian/[% c("var/system_pkg/pkg_name") %].desktop usr/share/applications ===================================== projects/linux-packages/debian/links.in deleted ===================================== @@ -1,7 +0,0 @@ -[% c("var/system_pkg/install_path") %]/start-[% c("var/project-name") %] usr/bin/[% c("var/system_pkg/pkg_name") %] -[% c("var/system_pkg/install_path") %]/browser/chrome/icons/default/default16.png usr/share/icons/hicolor/16x16/apps/[% c("var/system_pkg/pkg_name") %].png -[% c("var/system_pkg/install_path") %]/browser/chrome/icons/default/default32.png usr/share/icons/hicolor/32x32/apps/[% c("var/system_pkg/pkg_name") %].png -[% c("var/system_pkg/install_path") %]/browser/chrome/icons/default/default48.png usr/share/icons/hicolor/48x48/apps/[% c("var/system_pkg/pkg_name") %].png -[% c("var/system_pkg/install_path") %]/browser/chrome/icons/default/default64.png usr/share/icons/hicolor/64x64/apps/[% c("var/system_pkg/pkg_name") %].png -[% c("var/system_pkg/install_path") %]/browser/chrome/icons/default/default128.png usr/share/icons/hicolor/128x128/apps/[% c("var/system_pkg/pkg_name") %].png -[% c("var/system_pkg/install_path") %]/browser/chrome/icons/default/about-logo.svg usr/share/icons/hicolor/scalable/apps/[% c("var/system_pkg/pkg_name") %].svg ===================================== projects/linux-packages/rpm-package.spec ===================================== @@ -0,0 +1,69 @@ +# Avoid provides/requires from private libraries +%global privlibs libfreeblpriv3 +%global privlibs %{privlibs}|libipcclientcerts +%global privlibs %{privlibs}|liblgpllibs +%global privlibs %{privlibs}|libmozavcodec +%global privlibs %{privlibs}|libmozavutil +%global privlibs %{privlibs}|libmozgtk +%global privlibs %{privlibs}|libmozsandbox +%global privlibs %{privlibs}|libmozsqlite3 +%global privlibs %{privlibs}|libmozwayland +%global privlibs %{privlibs}|libnspr4 +%global privlibs %{privlibs}|libnss3 +%global privlibs %{privlibs}|libnssckbi +%global privlibs %{privlibs}|libnssutil3 +%global privlibs %{privlibs}|libplc4 +%global privlibs %{privlibs}|libplds4 +%global privlibs %{privlibs}|libsmime3 +%global privlibs %{privlibs}|libsoftokn3 +%global privlibs %{privlibs}|libssl3 +%global privlibs %{privlibs}|libstdc\\+\\+ +%global privlibs %{privlibs}|libxul +%global __provides_exclude ^(%{privlibs})\\.so +%global __requires_exclude ^(%{privlibs})\\.so + +Summary: [% c("var/display_name") %] +Name: [% c("var/system_pkg/pkg_name") %] +Version: [% c("var/system_pkg/pkg_version") %] +Release: [% c("var/system_pkg/pkg_revision") %] +URL: [% c("var/system_pkg/pkg_url") %] +License: MPL-2.0 AND GPL-3.0-or-later AND OFL-1.1 AND Apache-2.0[% IF c("var/tor-browser") %] AND BSD-3-Clause AND CC0-1.0 AND MIT[% END %] +Source0: Makefile +Source1: [% c("var/system_pkg/pkg_name") %].desktop +[% IF c("var/browser-linux-x86_64") -%] +Source2: %{name}-linux-x86_64-%{version}.tar.xz +[% END -%] +[% IF c("var/browser-linux-i686") -%] +Source3: %{name}-linux-i686-%{version}.tar.xz +[% END -%] + +%description +[% c("var/system_pkg/pkg_description") %] + +%prep +mkdir -p "%name-%version" +cd "%name-%version" +cp %{_sourcedir}/Makefile . +cp %{_sourcedir}/[% c("var/system_pkg/pkg_name") %].desktop . +mkdir %{_arch} +tar -C %{_arch} --strip-components=1 -xf %{_sourcedir}/%{name}-linux-%{_arch}-%{version}.tar.xz + +%build +cd "%name-%version" +DEB_TARGET_ARCH=%{_arch} make build + +%install +cd "%name-%version" +DEB_TARGET_ARCH=%{_arch} make install DESTDIR="$RPM_BUILD_ROOT" + +%files +%defattr(-,root,root) +/[% c('var/system_pkg/install_path') %] +/usr/bin/[% c('var/system_pkg/pkg_name') %] +/usr/share/applications/[% c("var/system_pkg/pkg_name") %].desktop +/usr/share/icons/hicolor/16x16/apps/[% c("var/system_pkg/pkg_name") %].png +/usr/share/icons/hicolor/32x32/apps/[% c("var/system_pkg/pkg_name") %].png +/usr/share/icons/hicolor/48x48/apps/[% c("var/system_pkg/pkg_name") %].png +/usr/share/icons/hicolor/64x64/apps/[% c("var/system_pkg/pkg_name") %].png +/usr/share/icons/hicolor/128x128/apps/[% c("var/system_pkg/pkg_name") %].png +/usr/share/icons/hicolor/scalable/apps/[% c("var/system_pkg/pkg_name") %].svg ===================================== projects/release/build ===================================== @@ -38,7 +38,8 @@ mkdir -p "$destdir" mv [% c('input_files_by_name/linux-x86_64') %]/* "$destdir"/ [% END -%] [% IF c("var/linux-packages") -%] - mv [% c('input_files_by_name/linux-packages') %]/* "$destdir"/ + mv [% c('input_files_by_name/deb-packages') %]/* "$destdir"/ + mv [% c('input_files_by_name/rpm-packages') %]/* "$destdir"/ [% END -%] [% IF c("var/browser-src") -%] mv [% c('input_files_by_name/src-firefox') %] \ @@ -62,7 +63,7 @@ EOF # empty any existing sh256sums file echo -n > sha256sums-unsigned-build.txt # concat sha256sum entry for each file in set -for i in $(ls -1 *.exe *.tar.xz *.dmg *.mar *.zip *.tar.gz *.apk *.bspatch *.json *.deb | grep -v '\.incremental\.mar$' | sort) +for i in $(ls -1 *.exe *.tar.xz *.dmg *.mar *.zip *.tar.gz *.apk *.bspatch *.json *.deb *.rpm | grep -v '\.incremental\.mar$' | sort) do sha256sum $i >> sha256sums-unsigned-build.txt done ===================================== projects/release/config ===================================== @@ -188,11 +188,21 @@ input_files: - '[% c("var/build_target") %]' - '[% c("var/browser_type") %]-linux-i686' - - name: linux-packages + - name: deb-packages project: linux-packages enable: '[% c("var/linux-packages") %]' # Add linux-x86_64 targets for container config target_prepend: + - deb + - linux-x86_64 + - linux + + - name: rpm-packages + project: linux-packages + enable: '[% c("var/linux-packages") %]' + # Add linux-x86_64 targets for container config + target_prepend: + - rpm - linux-x86_64 - linux ===================================== tools/signing/linux-signer-gpg-sign ===================================== @@ -10,7 +10,7 @@ test -n "$GPG_PASS" || read -sp "Enter gpg passphrase: " GPG_PASS currentdir=$(pwd) for i in `find . -name "*.dmg" -o -name "*.exe" -o -name "*.tar.xz" \ -o -name "*.txt" -o -name "*.zip" -o -name "*.tar.gz" -o -name "*.apk" \ - -o -name "*.deb" | sort` + -o -name "*.deb" -o -name "*.rpm" | sort` do if test -f "$i.asc" then View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.11.0esr-13.5-1] Bug 1858056 - Favor RawConfigParser.read_file instead of deprecated readfp r=saschanaz
by richard (@richard) 29 May '24

29 May '24
richard pushed to branch mullvad-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser Commits: 2cfc1d0d by Henry Wilkes at 2024-05-29T10:27:26+00:00 Bug 1858056 - Favor RawConfigParser.read_file instead of deprecated readfp r=saschanaz readfp is deprecated since Python 3.2 Differential Revision: https://phabricator.services.mozilla.com/D190532 - - - - - 2 changed files: - python/mach/mach/config.py - testing/web-platform/unittestrunner.py Changes: ===================================== python/mach/mach/config.py ===================================== @@ -309,7 +309,7 @@ class ConfigSettings(collections.abc.Mapping): """Load config data by reading file objects.""" for fp in fps: - self._config.readfp(fp) + self._config.read_file(fp) def write(self, fh): """Write the config to a file object.""" ===================================== testing/web-platform/unittestrunner.py ===================================== @@ -49,7 +49,7 @@ class ReplaceRequirements(object): parser = configparser.ConfigParser() path = os.path.join(self.tox_path, "tox.ini") with open(path) as f: - parser.readfp(f) + parser.read_file(f) deps = parser.get("testenv", "deps") dep_re = re.compile("(?:.*:\s*)?-r(.*)") View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/2cf… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/2cf… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.11.0esr-13.5-1] Bug 1858056 - Favor RawConfigParser.read_file instead of deprecated readfp r=saschanaz
by richard (@richard) 29 May '24

29 May '24
richard pushed to branch base-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: d4e0350b by Henry Wilkes at 2024-05-29T10:20:41+00:00 Bug 1858056 - Favor RawConfigParser.read_file instead of deprecated readfp r=saschanaz readfp is deprecated since Python 3.2 Differential Revision: https://phabricator.services.mozilla.com/D190532 - - - - - 2 changed files: - python/mach/mach/config.py - testing/web-platform/unittestrunner.py Changes: ===================================== python/mach/mach/config.py ===================================== @@ -309,7 +309,7 @@ class ConfigSettings(collections.abc.Mapping): """Load config data by reading file objects.""" for fp in fps: - self._config.readfp(fp) + self._config.read_file(fp) def write(self, fh): """Write the config to a file object.""" ===================================== testing/web-platform/unittestrunner.py ===================================== @@ -49,7 +49,7 @@ class ReplaceRequirements(object): parser = configparser.ConfigParser() path = os.path.join(self.tox_path, "tox.ini") with open(path) as f: - parser.readfp(f) + parser.read_file(f) deps = parser.get("testenv", "deps") dep_re = re.compile("(?:.*:\s*)?-r(.*)") View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d4e0350… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d4e0350… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.11.0esr-13.5-1] Bug 1858056 - Favor RawConfigParser.read_file instead of deprecated readfp r=saschanaz
by richard (@richard) 29 May '24

29 May '24
richard pushed to branch tor-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 5826b22f by Henry Wilkes at 2024-05-21T10:10:27+01:00 Bug 1858056 - Favor RawConfigParser.read_file instead of deprecated readfp r=saschanaz readfp is deprecated since Python 3.2 Differential Revision: https://phabricator.services.mozilla.com/D190532 - - - - - 2 changed files: - python/mach/mach/config.py - testing/web-platform/unittestrunner.py Changes: ===================================== python/mach/mach/config.py ===================================== @@ -309,7 +309,7 @@ class ConfigSettings(collections.abc.Mapping): """Load config data by reading file objects.""" for fp in fps: - self._config.readfp(fp) + self._config.read_file(fp) def write(self, fh): """Write the config to a file object.""" ===================================== testing/web-platform/unittestrunner.py ===================================== @@ -49,7 +49,7 @@ class ReplaceRequirements(object): parser = configparser.ConfigParser() path = os.path.join(self.tox_path, "tox.ini") with open(path) as f: - parser.readfp(f) + parser.read_file(f) deps = parser.get("testenv", "deps") dep_re = re.compile("(?:.*:\s*)?-r(.*)") View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/5826b22… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/5826b22… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/firefox-android][firefox-android-115.2.1-13.5-1] fixup! Modify build system
by Dan Ballard (@dan) 28 May '24

28 May '24
Dan Ballard pushed to branch firefox-android-115.2.1-13.5-1 at The Tor Project / Applications / firefox-android Commits: 06b84467 by Pier Angelo Vendrame at 2024-05-28T15:01:21+00:00 fixup! Modify build system Bug 42581: Check if a file exists before trying to sign it. - - - - - 1 changed file: - fenix/tools/tba-sign-devbuilds.sh Changes: ===================================== fenix/tools/tba-sign-devbuilds.sh ===================================== @@ -29,6 +29,9 @@ fi sign () { apk="$(realpath $1)" out="$apk" + if [ ! -f "$apk" ]; then + return + fi out="${out/unsigned/signed}" aligned="$apk" aligned="${aligned/unsigned/aligned}" View it on GitLab: https://gitlab.torproject.org/tpo/applications/firefox-android/-/commit/06b… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/firefox-android/-/commit/06b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41150: Do not check for SSE2 in the Windows installer anymore.
by Pier Angelo Vendrame (@pierov) 28 May '24

28 May '24
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: c37f7e92 by Pier Angelo Vendrame at 2024-05-28T16:45:15+02:00 Bug 41150: Do not check for SSE2 in the Windows installer anymore. Tor Browser requires SSE2, so a long time ago we added a check on the Windows installer to warn users in case their machine did not support this instruction set. However, Windows 7 is the minimum OS we support, and from 2018 it also requires SSE2. Moreover, 14.0 will require Windows 10. We are going to add translations for the installer, and at this point it makes more sense to remove this check, rather than asking translators to translate a messages nobody will see in a few months from now. - - - - - 1 changed file: - projects/browser/windows-installer/common.nsh Changes: ===================================== projects/browser/windows-installer/common.nsh ===================================== @@ -66,15 +66,6 @@ Function CheckRequirements SetErrorLevel 1 Quit ${EndIf} - - ; Don't install on systems that don't support SSE2. The parameter value of - ; 10 is for PF_XMMI64_INSTRUCTIONS_AVAILABLE which will check whether the - ; SSE2 instruction set is available. - System::Call "kernel32::IsProcessorFeaturePresent(i 10)i .R7" - ${If} "$R7" == "0" - MessageBox MB_OK|MB_ICONSTOP "${PROJECT_NAME} requires a processor with SSE2 support." - Quit - ${EndIf} FunctionEnd Function CheckIfTargetDirectoryExists View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41149: Add be, bg, and pt-PT to nightlies.
by Pier Angelo Vendrame (@pierov) 28 May '24

28 May '24
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 80452869 by Pier Angelo Vendrame at 2024-05-28T16:41:13+02:00 Bug 41149: Add be, bg, and pt-PT to nightlies. Also, add support for skipping languages when they are evaluated as empty strings after being processed as templates. We already process them for Japanese, but with this change we will be able to enable/disable languages for specific channels. Also, fix a typo in the &quot;id&quot; language code in the map we use to associate language names to codes for NSIS. - - - - - 3 changed files: - projects/browser/windows-installer/language-map.sh - projects/firefox-l10n/config - rbm.conf Changes: ===================================== projects/browser/windows-installer/language-map.sh ===================================== @@ -1,4 +1,9 @@ #!/bin/bash + +# Usually NSIS uses English name with capital first letter. +# You can check the exact language names on NSIS's archive or here: +# https://sourceforge.net/p/nsis/code/HEAD/tree/NSIS/trunk/Contrib/Language%2… + declare -A nsis_languages nsis_languages[ar]="Arabic" nsis_languages[ca]="Catalan" @@ -13,7 +18,7 @@ nsis_languages[fr]="French" nsis_languages[ga-IE]="ScotsGaelic" nsis_languages[he]="Hebrew" nsis_languages[hu]="Hungarian" -nsis_languages[d]="Indonesian" +nsis_languages[id]="Indonesian" nsis_languages[is]="Icelandic" nsis_languages[it]="Italian" nsis_languages[ja]="Japanese" @@ -37,3 +42,8 @@ nsis_languages[uk]="Ukrainian" nsis_languages[vi]="Vietnamese" nsis_languages[zh-CN]="SimpChinese" nsis_languages[zh-TW]="TradChinese" + +# Currently nightly only +nsis_languages[be]="Belarusian" +nsis_languages[bg]="Bulgarian" +nsis_languages[pt-PT]="Portuguese" ===================================== projects/firefox-l10n/config ===================================== @@ -29,6 +29,7 @@ steps: my $locales = project_config($project, $locales_key, $options); foreach my $loc (@$locales) { my $locale = process_template($project, $loc, '.'); + next unless $locale; $locale =~ s/-r/-/; $locale = "id" if ($is_android && $locale eq "in"); $locale = "he" if ($is_android && $locale eq "iw"); ===================================== rbm.conf ===================================== @@ -149,6 +149,9 @@ var: - vi - zh-CN - zh-TW + - '[% IF c("var/nightly") %]be[% END %]' + - '[% IF c("var/nightly") %]bg[% END %]' + - '[% IF c("var/nightly") %]pt-PT[% END %]' locales_mobile: - ar - ca View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.11.0esr-13.5-1] 4 commits: fixup! Bug 42562: Normalized the Accepted Languages on Android.
by Pier Angelo Vendrame (@pierov) 27 May '24

27 May '24
Pier Angelo Vendrame pushed to branch mullvad-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser Commits: bc36a149 by Pier Angelo Vendrame at 2024-05-27T10:27:12+02:00 fixup! Bug 42562: Normalized the Accepted Languages on Android. Bug 42582: Use toLanguageTag() instead of toString() - - - - - 37ecad70 by Henry Wilkes at 2024-05-27T10:27:14+02:00 fixup! Base Browser strings Bug 42347: Add a notification for dropped OS version support. - - - - - 8649b2b1 by Henry Wilkes at 2024-05-27T10:27:14+02:00 Bug 42347: Add a notification for dropped OS version support. - - - - - 6e6cdac6 by Henry Wilkes at 2024-05-27T10:27:14+02:00 fixup! Bug 41369: Improve Firefox language settings for multi-lingual packages Bug 42573: Avoid async l10n.formatValue. - - - - - 6 changed files: - browser/base/content/browser.xhtml - + browser/base/content/droppedSupportNotification.js - browser/base/content/languageNotification.js - browser/base/jar.mn - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java - toolkit/locales/en-US/toolkit/global/base-browser.ftl Changes: ===================================== browser/base/content/browser.xhtml ===================================== @@ -123,6 +123,7 @@ Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/languageNotification.js", this); + Services.scriptloader.loadSubScript("chrome://browser/content/droppedSupportNotification.js", this); window.onload = gBrowserInit.onLoad.bind(gBrowserInit); window.onunload = gBrowserInit.onUnload.bind(gBrowserInit); ===================================== browser/base/content/droppedSupportNotification.js ===================================== @@ -0,0 +1,69 @@ +"use strict"; + +// 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); + + if ( + AppConstants.platform === "macosx" && + Services.vc.compare( + Services.sysinfo.getProperty("version"), + "19.0" // MacOS 10.15 begins with Darwin 19.0 + ) < 0 + ) { + labelId = isExpired + ? "dropped-support-notification-macos-version-less-than-10-15-expired" + : "dropped-support-notification-macos-version-less-than-10-15"; + } 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"; + } + + const dismissedPref = + "browser.dropped_support_notification_v14.dismiss_version"; + + if (!labelId) { + // Avoid setting any preferences for supported versions, and clean up any + // old values if the user ported their profile. + Services.prefs.clearUserPref(dismissedPref); + return; + } + + if ( + !isExpired && + Services.prefs.getStringPref(dismissedPref, "") === + AppConstants.BASE_BROWSER_VERSION + ) { + // Already dismissed since the last update. + return; + } + + const buttons = isExpired + ? undefined + : [ + { + "l10n-id": "dropped-support-notification-dismiss-button", + callback: () => { + Services.prefs.setStringPref( + dismissedPref, + AppConstants.BASE_BROWSER_VERSION + ); + }, + }, + ]; + + gNotificationBox.appendNotification( + "dropped-support-notification", + { + label: { "l10n-id": labelId }, + priority: gNotificationBox.PRIORITY_WARNING_HIGH, + }, + buttons + ); +}); ===================================== browser/base/content/languageNotification.js ===================================== @@ -2,7 +2,7 @@ // Show a prompt to suggest to the user that they can change the UI language. // Show it only the first time, and then do not show it anymore -window.addEventListener("load", async () => { +window.addEventListener("load", () => { const PREF_NAME = "intl.language_notification.shown"; if (Services.prefs.getBoolPref(PREF_NAME, false)) { @@ -35,12 +35,12 @@ window.addEventListener("load", async () => { Services.locale.requestedLocales, Services.locale.availableLocales ).length; - const label = await document.l10n.formatValue( - matchingSystem + const label = { + "l10n-id": matchingSystem ? "language-notification-label-system" : "language-notification-label", - { language } - ); + "l10n-args": { language }, + }; const buttons = [ { ===================================== browser/base/jar.mn ===================================== @@ -105,4 +105,5 @@ browser.jar: content/browser/spotlight.js (content/spotlight.js) * content/browser/default-bookmarks.html (content/default-bookmarks.html) + content/browser/droppedSupportNotification.js (content/droppedSupportNotification.js) content/browser/languageNotification.js (content/languageNotification.js) ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java ===================================== @@ -843,7 +843,7 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { } } } - String acceptLanguages = locale != null ? locale.toString().replace('_', '-') : "en-US"; + String acceptLanguages = locale != null ? locale.toLanguageTag().replace('_', '-') : "en-US"; if (acceptLanguages.equals("en-US")) { // For consistency with spoof English. acceptLanguages += ", en"; ===================================== toolkit/locales/en-US/toolkit/global/base-browser.ftl ===================================== @@ -166,3 +166,21 @@ security-level-summary-custom = Your custom browser preferences have resulted in # Button to undo custom changes to the security level and place the user in one of the standard security levels. # Shown in the security level panel and settings. security-level-restore-defaults-button = Restore defaults + +## Notification for dropped operating system support. + +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "14.0" refers to the browser versions number: Tor Browser 14.0. +# "macOS" is a brand name, and 10.15 is the macOS version number. +dropped-support-notification-macos-version-less-than-10-15 = The next major version of { -brand-short-name } (14.0) will no longer support this version of macOS. Please upgrade to macOS 10.15 or later by October 1st 2024 to continue receiving important security updates. +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "macOS" is a brand name, and 10.15 is the macOS version number. +dropped-support-notification-macos-version-less-than-10-15-expired = { -brand-short-name } no longer supports this version of macOS. Please upgrade to macOS 10.15 or later to continue receiving important security updates. +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "14.0" refers to the browser versions number: Tor Browser 14.0. +# "Windows" is a brand name, and "Windows 10" is the version. +dropped-support-notification-win-os-version-less-than-10 = The next major version of { -brand-short-name } (14.0) will no longer support this version of Windows. Please upgrade to Windows 10 or later by October 1st 2024 to continue receiving important security updates. +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "Windows" is a brand name, and "Windows 10" is the version. +dropped-support-notification-win-os-version-less-than-10-expired = { -brand-short-name } no longer supports this version of Windows. Please upgrade to Windows 10 or later to continue receiving important security updates. +dropped-support-notification-dismiss-button = Got it View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/ad… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/ad… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.11.0esr-13.5-1] fixup! Bug 41369: Improve Firefox language settings for multi-lingual packages
by Pier Angelo Vendrame (@pierov) 27 May '24

27 May '24
Pier Angelo Vendrame pushed to branch base-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 1f9f11ca by Henry Wilkes at 2024-05-27T10:15:09+02:00 fixup! Bug 41369: Improve Firefox language settings for multi-lingual packages Bug 42573: Avoid async l10n.formatValue. - - - - - 1 changed file: - browser/base/content/languageNotification.js Changes: ===================================== browser/base/content/languageNotification.js ===================================== @@ -2,7 +2,7 @@ // Show a prompt to suggest to the user that they can change the UI language. // Show it only the first time, and then do not show it anymore -window.addEventListener("load", async () => { +window.addEventListener("load", () => { const PREF_NAME = "intl.language_notification.shown"; if (Services.prefs.getBoolPref(PREF_NAME, false)) { @@ -35,12 +35,12 @@ window.addEventListener("load", async () => { Services.locale.requestedLocales, Services.locale.availableLocales ).length; - const label = await document.l10n.formatValue( - matchingSystem + const label = { + "l10n-id": matchingSystem ? "language-notification-label-system" : "language-notification-label", - { language } - ); + "l10n-args": { language }, + }; const buttons = [ { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1f9f11c… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1f9f11c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.11.0esr-13.5-1] 3 commits: fixup! Bug 42562: Normalized the Accepted Languages on Android.
by Pier Angelo Vendrame (@pierov) 27 May '24

27 May '24
Pier Angelo Vendrame pushed to branch base-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 00a60291 by Pier Angelo Vendrame at 2024-05-27T10:08:37+02:00 fixup! Bug 42562: Normalized the Accepted Languages on Android. Bug 42582: Use toLanguageTag() instead of toString() - - - - - 623ab54b by Henry Wilkes at 2024-05-27T10:08:39+02:00 fixup! Base Browser strings Bug 42347: Add a notification for dropped OS version support. - - - - - 68c9e866 by Henry Wilkes at 2024-05-27T10:08:39+02:00 Bug 42347: Add a notification for dropped OS version support. - - - - - 5 changed files: - browser/base/content/browser.xhtml - + browser/base/content/droppedSupportNotification.js - browser/base/jar.mn - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java - toolkit/locales/en-US/toolkit/global/base-browser.ftl Changes: ===================================== browser/base/content/browser.xhtml ===================================== @@ -123,6 +123,7 @@ Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/languageNotification.js", this); + Services.scriptloader.loadSubScript("chrome://browser/content/droppedSupportNotification.js", this); window.onload = gBrowserInit.onLoad.bind(gBrowserInit); window.onunload = gBrowserInit.onUnload.bind(gBrowserInit); ===================================== browser/base/content/droppedSupportNotification.js ===================================== @@ -0,0 +1,69 @@ +"use strict"; + +// 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); + + if ( + AppConstants.platform === "macosx" && + Services.vc.compare( + Services.sysinfo.getProperty("version"), + "19.0" // MacOS 10.15 begins with Darwin 19.0 + ) < 0 + ) { + labelId = isExpired + ? "dropped-support-notification-macos-version-less-than-10-15-expired" + : "dropped-support-notification-macos-version-less-than-10-15"; + } 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"; + } + + const dismissedPref = + "browser.dropped_support_notification_v14.dismiss_version"; + + if (!labelId) { + // Avoid setting any preferences for supported versions, and clean up any + // old values if the user ported their profile. + Services.prefs.clearUserPref(dismissedPref); + return; + } + + if ( + !isExpired && + Services.prefs.getStringPref(dismissedPref, "") === + AppConstants.BASE_BROWSER_VERSION + ) { + // Already dismissed since the last update. + return; + } + + const buttons = isExpired + ? undefined + : [ + { + "l10n-id": "dropped-support-notification-dismiss-button", + callback: () => { + Services.prefs.setStringPref( + dismissedPref, + AppConstants.BASE_BROWSER_VERSION + ); + }, + }, + ]; + + gNotificationBox.appendNotification( + "dropped-support-notification", + { + label: { "l10n-id": labelId }, + priority: gNotificationBox.PRIORITY_WARNING_HIGH, + }, + buttons + ); +}); ===================================== browser/base/jar.mn ===================================== @@ -105,4 +105,5 @@ browser.jar: content/browser/spotlight.js (content/spotlight.js) * content/browser/default-bookmarks.html (content/default-bookmarks.html) + content/browser/droppedSupportNotification.js (content/droppedSupportNotification.js) content/browser/languageNotification.js (content/languageNotification.js) ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java ===================================== @@ -843,7 +843,7 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { } } } - String acceptLanguages = locale != null ? locale.toString().replace('_', '-') : "en-US"; + String acceptLanguages = locale != null ? locale.toLanguageTag().replace('_', '-') : "en-US"; if (acceptLanguages.equals("en-US")) { // For consistency with spoof English. acceptLanguages += ", en"; ===================================== toolkit/locales/en-US/toolkit/global/base-browser.ftl ===================================== @@ -166,3 +166,21 @@ security-level-summary-custom = Your custom browser preferences have resulted in # Button to undo custom changes to the security level and place the user in one of the standard security levels. # Shown in the security level panel and settings. security-level-restore-defaults-button = Restore defaults + +## Notification for dropped operating system support. + +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "14.0" refers to the browser versions number: Tor Browser 14.0. +# "macOS" is a brand name, and 10.15 is the macOS version number. +dropped-support-notification-macos-version-less-than-10-15 = The next major version of { -brand-short-name } (14.0) will no longer support this version of macOS. Please upgrade to macOS 10.15 or later by October 1st 2024 to continue receiving important security updates. +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "macOS" is a brand name, and 10.15 is the macOS version number. +dropped-support-notification-macos-version-less-than-10-15-expired = { -brand-short-name } no longer supports this version of macOS. Please upgrade to macOS 10.15 or later to continue receiving important security updates. +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "14.0" refers to the browser versions number: Tor Browser 14.0. +# "Windows" is a brand name, and "Windows 10" is the version. +dropped-support-notification-win-os-version-less-than-10 = The next major version of { -brand-short-name } (14.0) will no longer support this version of Windows. Please upgrade to Windows 10 or later by October 1st 2024 to continue receiving important security updates. +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +# "Windows" is a brand name, and "Windows 10" is the version. +dropped-support-notification-win-os-version-less-than-10-expired = { -brand-short-name } no longer supports this version of Windows. Please upgrade to Windows 10 or later to continue receiving important security updates. +dropped-support-notification-dismiss-button = Got it View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/50d371… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/50d371… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.11.0esr-13.5-1] fixup! Bug 41916: Letterboxing preferences UI
by Pier Angelo Vendrame (@pierov) 27 May '24

27 May '24
Pier Angelo Vendrame pushed to branch base-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 50d37108 by Henry Wilkes at 2024-05-27T10:00:13+02:00 fixup! Bug 41916: Letterboxing preferences UI Bug 42583: Use moz-support-link for the letterboxing preference. Also update the url. - - - - - 1 changed file: - browser/components/preferences/letterboxing.inc.xhtml Changes: ===================================== browser/components/preferences/letterboxing.inc.xhtml ===================================== @@ -11,13 +11,11 @@ data-l10n-id="letterboxing-overview" class="tail-with-learn-more" ></html:span> - <label + <html:a + is="moz-support-link" + tor-manual-page="anti-fingerprinting_letterboxing" data-l10n-id="letterboxing-learn-more" - class="learnMore text-link" - is="text-link" - href="about:manual#letterboxing" - useoriginprincipal="true" - /> + ></html:a> </description> </vbox> <groupbox @@ -32,13 +30,11 @@ data-l10n-id="letterboxing-overview" class="tail-with-learn-more" ></html:span> - <label + <html:a + is="moz-support-link" + tor-manual-page="anti-fingerprinting_letterboxing" data-l10n-id="letterboxing-learn-more" - class="learnMore text-link" - is="text-link" - href="about:manual#letterboxing" - useoriginprincipal="true" - /> + ></html:a> </description> <checkbox id="letterboxingRememberSize" @@ -59,13 +55,11 @@ data-l10n-id="letterboxing-overview" class="tail-with-learn-more" ></html:span> - <label + <html:a + is="moz-support-link" + tor-manual-page="anti-fingerprinting_letterboxing" data-l10n-id="letterboxing-learn-more" - class="learnMore text-link" - is="text-link" - href="about:manual#letterboxing" - useoriginprincipal="true" - /> + ></html:a> </description> <description id="letterboxingAlignmentDesc" @@ -110,13 +104,11 @@ data-l10n-id="letterboxing-overview" class="tail-with-learn-more" ></html:span> - <label + <html:a + is="moz-support-link" + tor-manual-page="anti-fingerprinting_letterboxing" data-l10n-id="letterboxing-learn-more" - class="learnMore text-link" - is="text-link" - href="about:manual#letterboxing" - useoriginprincipal="true" - /> + ></html:a> </description> <hbox align="center"> <label View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/50d3710… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/50d3710… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • ...
  • 803
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.