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
  • ----- 2025 -----
  • 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

November 2025

  • 1 participants
  • 103 discussions
[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-115.30.0esr-13.5-1-build2
by ma1 (@ma1) 10 Nov '25

10 Nov '25
ma1 pushed new tag tor-browser-115.30.0esr-13.5-1-build2 at The Tor Project / Applications / Tor Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows… 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.30.0esr-13.5-1] 2 commits: Bug 1880634 - Use chrome-only dispatch for the MozTogglePictureInPicture event. r=niklas
by ma1 (@ma1) 10 Nov '25

10 Nov '25
ma1 pushed to branch tor-browser-115.30.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 03212ecd by Mike Conley at 2025-11-10T09:19:58+01:00 Bug 1880634 - Use chrome-only dispatch for the MozTogglePictureInPicture event. r=niklas Differential Revision: https://phabricator.services.mozilla.com/D202063 - - - - - 0784b098 by Nika Layzell at 2025-11-10T11:13:28+01:00 Bug 1987977 - Add extra fd validation to ChannelPosix, r=ipc-reviewers,jld Every attached FD has a guaranteed 4 bytes of payload, so this check should be redundant unless a message payload is manually constructed or corrupted. Differential Revision: https://phabricator.services.mozilla.com/D265038 - - - - - 5 changed files: - browser/actors/ContextMenuChild.sys.mjs - ipc/chromium/src/chrome/common/ipc_channel_posix.cc - toolkit/actors/PictureInPictureChild.sys.mjs - toolkit/components/pictureinpicture/tests/click-event-helper.js - toolkit/components/pictureinpicture/tests/head.js Changes: ===================================== browser/actors/ContextMenuChild.sys.mjs ===================================== @@ -128,7 +128,10 @@ export class ContextMenuChild extends JSWindowActorChild { }, this.contentWindow ); - media.dispatchEvent(event); + this.contentWindow.windowUtils.dispatchEventToChromeOnly( + media, + event + ); break; } } ===================================== ipc/chromium/src/chrome/common/ipc_channel_posix.cc ===================================== @@ -479,8 +479,9 @@ bool Channel::ChannelImpl::ProcessIncomingMessages() { error = "Message needs unreceived descriptors"; } - if (m.header()->num_handles > - IPC::Message::MAX_DESCRIPTORS_PER_MESSAGE) { + size_t maxHandles = std::min<size_t>( + m.size(), IPC::Message::MAX_DESCRIPTORS_PER_MESSAGE); + if (m.header()->num_handles > maxHandles) { // There are too many descriptors in this message error = "Message requires an excessive number of descriptors"; } @@ -596,8 +597,9 @@ bool Channel::ChannelImpl::ProcessOutgoingMessages() { } #endif - if (msg->attached_handles_.Length() > - IPC::Message::MAX_DESCRIPTORS_PER_MESSAGE) { + size_t maxHandles = std::min<size_t>( + msg->size(), IPC::Message::MAX_DESCRIPTORS_PER_MESSAGE); + if (msg->attached_handles_.Length() > maxHandles) { MOZ_DIAGNOSTIC_ASSERT(false, "Too many file descriptors!"); CHROMIUM_LOG(FATAL) << "Too many file descriptors!"; // This should not be reached. ===================================== toolkit/actors/PictureInPictureChild.sys.mjs ===================================== @@ -182,7 +182,10 @@ export class PictureInPictureLauncherChild extends JSWindowActorChild { detail: { reason }, } ); - video.dispatchEvent(stopPipEvent); + this.contentWindow.windowUtils.dispatchEventToChromeOnly( + video, + stopPipEvent + ); return; } @@ -673,7 +676,7 @@ export class PictureInPictureToggleChild extends JSWindowActorChild { detail: { reason: "urlBar" }, } ); - video.dispatchEvent(pipEvent); + this.contentWindow.windowUtils.dispatchEventToChromeOnly(video, pipEvent); } } @@ -1066,7 +1069,7 @@ export class PictureInPictureToggleChild extends JSWindowActorChild { detail: { reason: "toggle" }, } ); - video.dispatchEvent(pipEvent); + this.contentWindow.windowUtils.dispatchEventToChromeOnly(video, pipEvent); // Since we've initiated Picture-in-Picture, we can go ahead and // hide the toggle now. ===================================== toolkit/components/pictureinpicture/tests/click-event-helper.js ===================================== @@ -2,13 +2,20 @@ http://creativecommons.org/publicdomain/zero/1.0/ */ /** - * This helper script is used to record mouse button events for - * Picture-in-Picture toggle click tests. Anytime the toggle is - * clicked, we expect none of the events to be fired. Otherwise, - * all events should be fired when clicking. + * This helper script is used to record events for Picture-in-Picture toggle + * click tests. Anytime the toggle is clicked, we expect none of the events to + * be fired. Otherwise, all (except MozTogglePictureInPicture) events should be + * fired when clicking on web content. */ -let eventTypes = ["pointerdown", "mousedown", "pointerup", "mouseup", "click"]; +let eventTypes = [ + "MozTogglePictureInPicture", + "pointerdown", + "mousedown", + "pointerup", + "mouseup", + "click", +]; for (let event of eventTypes) { addEventListener(event, recordEvent, { capture: true }); ===================================== toolkit/components/pictureinpicture/tests/head.js ===================================== @@ -139,7 +139,7 @@ async function triggerPictureInPicture(browser, videoID, triggerFn) { let event = new content.CustomEvent("MozTogglePictureInPicture", { bubbles: true, }); - video.dispatchEvent(event); + content.windowUtils.dispatchEventToChromeOnly(video, event); await ContentTaskUtils.waitForCondition(() => { return video.isCloningElementVisually; }, "Video is being cloned visually."); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/9a75d0… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/9a75d0… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-115.30.0esr-13.5-1-build1
by Pier Angelo Vendrame (@pierov) 10 Nov '25

10 Nov '25
Pier Angelo Vendrame pushed new tag tor-browser-115.30.0esr-13.5-1-build1 at The Tor Project / Applications / Tor Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-140.5.0esr-15.0-1] Bug 1998435 - Do not reset the default zoom when clearing the FFP state. r=manuel
by Pier Angelo Vendrame (@pierov) 10 Nov '25

10 Nov '25
Pier Angelo Vendrame pushed to branch mullvad-browser-140.5.0esr-15.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 0ce96cef by Pier Angelo Vendrame at 2025-11-10T10:49:23+01:00 Bug 1998435 - Do not reset the default zoom when clearing the FFP state. r=manuel Differential Revision: https://phabricator.services.mozilla.com/D271446 - - - - - 2 changed files: - browser/components/resistfingerprinting/test/browser/browser_bug1975753_site_specific_zoom_level.js - toolkit/components/cleardata/ClearDataService.sys.mjs Changes: ===================================== browser/components/resistfingerprinting/test/browser/browser_bug1975753_site_specific_zoom_level.js ===================================== @@ -3,10 +3,14 @@ const PATH_NET = TEST_PATH + "file_dummy.html"; const PATH_ORG = PATH_NET.replace("example.net", "example.org"); -add_task(async function () { +async function runTest(defaultZoom) { let tab1, tab1Zoom; tab1 = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_NET); + + tab1Zoom = ZoomManager.getZoomForBrowser(tab1.linkedBrowser); + is(tab1Zoom, defaultZoom, "We are starting with the default zoom."); + await FullZoom.setZoom(1.25, tab1.linkedBrowser); tab1Zoom = ZoomManager.getZoomForBrowser(tab1.linkedBrowser); @@ -46,7 +50,7 @@ add_task(async function () { is( tab1Zoom, - 1.0, + defaultZoom, "privacy.resistFingerprinting is true, site-specific zoom should be reset when clearing FPP state for tab1" ); @@ -55,4 +59,29 @@ add_task(async function () { BrowserTestUtils.removeTab(tab1); await SpecialPowers.popPrefEnv(); +} + +add_task(async function () { + await runTest(1.0); + + let defaultZoom = 1.5; + let context = Cu.createLoadContext(); + let cps2 = Cc["@mozilla.org/content-pref/service;1"].getService( + Ci.nsIContentPrefService2 + ); + let { promise, resolve, reject } = Promise.withResolvers(); + cps2.setGlobal(FullZoom.name, defaultZoom, context, { + handleError(error) { + reject(error); + }, + handleCompletion() { + resolve(); + }, + }); + await promise; + try { + await runTest(defaultZoom); + } finally { + cps2.removeGlobal(FullZoom.name, context); + } }); ===================================== toolkit/components/cleardata/ClearDataService.sys.mjs ===================================== @@ -415,11 +415,7 @@ const CookieBannerExecutedRecordCleaner = { // A cleaner for cleaning fingerprinting protection states. const FingerprintingProtectionStateCleaner = { - async _maybeClearSiteSpecificZoom( - deleteAll, - aSchemelessSite, - aOriginAttributes = {} - ) { + async _maybeClearSiteSpecificZoom(aSchemelessSite, aOriginAttributes = {}) { if ( !ChromeUtils.shouldResistFingerprinting("SiteSpecificZoom", null, true) ) { @@ -432,8 +428,24 @@ const FingerprintingProtectionStateCleaner = { const ZOOM_PREF_NAME = "browser.content.full-zoom"; await new Promise((aResolve, aReject) => { - if (deleteAll) { - cps2.removeByName(ZOOM_PREF_NAME, null, { + aOriginAttributes = + ChromeUtils.fillNonDefaultOriginAttributes(aOriginAttributes); + + let loadContext; + if ( + aOriginAttributes.privateBrowsingId == + Services.scriptSecurityManager.DEFAULT_PRIVATE_BROWSING_ID + ) { + loadContext = Cu.createLoadContext(); + } else { + loadContext = Cu.createPrivateLoadContext(); + } + + cps2.removeBySubdomainAndName( + aSchemelessSite, + ZOOM_PREF_NAME, + loadContext, + { handleCompletion: aReason => { if (aReason === cps2.COMPLETE_ERROR) { aReject(); @@ -441,50 +453,19 @@ const FingerprintingProtectionStateCleaner = { aResolve(); } }, - }); - } else { - aOriginAttributes = - ChromeUtils.fillNonDefaultOriginAttributes(aOriginAttributes); - - let loadContext; - if ( - aOriginAttributes.privateBrowsingId == - Services.scriptSecurityManager.DEFAULT_PRIVATE_BROWSING_ID - ) { - loadContext = Cu.createLoadContext(); - } else { - loadContext = Cu.createPrivateLoadContext(); } - - cps2.removeBySubdomainAndName( - aSchemelessSite, - ZOOM_PREF_NAME, - loadContext, - { - handleCompletion: aReason => { - if (aReason === cps2.COMPLETE_ERROR) { - aReject(); - } else { - aResolve(); - } - }, - } - ); - } + ); }); }, async deleteAll() { Services.rfp.cleanAllRandomKeys(); - - await this._maybeClearSiteSpecificZoom(true); }, async deleteByPrincipal(aPrincipal) { Services.rfp.cleanRandomKeyByPrincipal(aPrincipal); await this._maybeClearSiteSpecificZoom( - false, aPrincipal.host, aPrincipal.originAttributes ); @@ -497,7 +478,6 @@ const FingerprintingProtectionStateCleaner = { ); await this._maybeClearSiteSpecificZoom( - false, aSchemelessSite, aOriginAttributesPattern ); @@ -509,11 +489,7 @@ const FingerprintingProtectionStateCleaner = { JSON.stringify(aOriginAttributesPattern) ); - await this._maybeClearSiteSpecificZoom( - false, - aHost, - aOriginAttributesPattern - ); + await this._maybeClearSiteSpecificZoom(aHost, aOriginAttributesPattern); }, async deleteByOriginAttributes(aOriginAttributesString) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/0ce… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/0ce… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-140.5.0esr-15.0-1] Bug 1998435 - Do not reset the default zoom when clearing the FFP state. r=manuel
by Pier Angelo Vendrame (@pierov) 10 Nov '25

10 Nov '25
Pier Angelo Vendrame pushed to branch base-browser-140.5.0esr-15.0-1 at The Tor Project / Applications / Tor Browser Commits: 9ebdbd14 by Pier Angelo Vendrame at 2025-11-10T10:43:44+01:00 Bug 1998435 - Do not reset the default zoom when clearing the FFP state. r=manuel Differential Revision: https://phabricator.services.mozilla.com/D271446 - - - - - 2 changed files: - browser/components/resistfingerprinting/test/browser/browser_bug1975753_site_specific_zoom_level.js - toolkit/components/cleardata/ClearDataService.sys.mjs Changes: ===================================== browser/components/resistfingerprinting/test/browser/browser_bug1975753_site_specific_zoom_level.js ===================================== @@ -3,10 +3,14 @@ const PATH_NET = TEST_PATH + "file_dummy.html"; const PATH_ORG = PATH_NET.replace("example.net", "example.org"); -add_task(async function () { +async function runTest(defaultZoom) { let tab1, tab1Zoom; tab1 = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_NET); + + tab1Zoom = ZoomManager.getZoomForBrowser(tab1.linkedBrowser); + is(tab1Zoom, defaultZoom, "We are starting with the default zoom."); + await FullZoom.setZoom(1.25, tab1.linkedBrowser); tab1Zoom = ZoomManager.getZoomForBrowser(tab1.linkedBrowser); @@ -46,7 +50,7 @@ add_task(async function () { is( tab1Zoom, - 1.0, + defaultZoom, "privacy.resistFingerprinting is true, site-specific zoom should be reset when clearing FPP state for tab1" ); @@ -55,4 +59,29 @@ add_task(async function () { BrowserTestUtils.removeTab(tab1); await SpecialPowers.popPrefEnv(); +} + +add_task(async function () { + await runTest(1.0); + + let defaultZoom = 1.5; + let context = Cu.createLoadContext(); + let cps2 = Cc["@mozilla.org/content-pref/service;1"].getService( + Ci.nsIContentPrefService2 + ); + let { promise, resolve, reject } = Promise.withResolvers(); + cps2.setGlobal(FullZoom.name, defaultZoom, context, { + handleError(error) { + reject(error); + }, + handleCompletion() { + resolve(); + }, + }); + await promise; + try { + await runTest(defaultZoom); + } finally { + cps2.removeGlobal(FullZoom.name, context); + } }); ===================================== toolkit/components/cleardata/ClearDataService.sys.mjs ===================================== @@ -415,11 +415,7 @@ const CookieBannerExecutedRecordCleaner = { // A cleaner for cleaning fingerprinting protection states. const FingerprintingProtectionStateCleaner = { - async _maybeClearSiteSpecificZoom( - deleteAll, - aSchemelessSite, - aOriginAttributes = {} - ) { + async _maybeClearSiteSpecificZoom(aSchemelessSite, aOriginAttributes = {}) { if ( !ChromeUtils.shouldResistFingerprinting("SiteSpecificZoom", null, true) ) { @@ -432,8 +428,24 @@ const FingerprintingProtectionStateCleaner = { const ZOOM_PREF_NAME = "browser.content.full-zoom"; await new Promise((aResolve, aReject) => { - if (deleteAll) { - cps2.removeByName(ZOOM_PREF_NAME, null, { + aOriginAttributes = + ChromeUtils.fillNonDefaultOriginAttributes(aOriginAttributes); + + let loadContext; + if ( + aOriginAttributes.privateBrowsingId == + Services.scriptSecurityManager.DEFAULT_PRIVATE_BROWSING_ID + ) { + loadContext = Cu.createLoadContext(); + } else { + loadContext = Cu.createPrivateLoadContext(); + } + + cps2.removeBySubdomainAndName( + aSchemelessSite, + ZOOM_PREF_NAME, + loadContext, + { handleCompletion: aReason => { if (aReason === cps2.COMPLETE_ERROR) { aReject(); @@ -441,50 +453,19 @@ const FingerprintingProtectionStateCleaner = { aResolve(); } }, - }); - } else { - aOriginAttributes = - ChromeUtils.fillNonDefaultOriginAttributes(aOriginAttributes); - - let loadContext; - if ( - aOriginAttributes.privateBrowsingId == - Services.scriptSecurityManager.DEFAULT_PRIVATE_BROWSING_ID - ) { - loadContext = Cu.createLoadContext(); - } else { - loadContext = Cu.createPrivateLoadContext(); } - - cps2.removeBySubdomainAndName( - aSchemelessSite, - ZOOM_PREF_NAME, - loadContext, - { - handleCompletion: aReason => { - if (aReason === cps2.COMPLETE_ERROR) { - aReject(); - } else { - aResolve(); - } - }, - } - ); - } + ); }); }, async deleteAll() { Services.rfp.cleanAllRandomKeys(); - - await this._maybeClearSiteSpecificZoom(true); }, async deleteByPrincipal(aPrincipal) { Services.rfp.cleanRandomKeyByPrincipal(aPrincipal); await this._maybeClearSiteSpecificZoom( - false, aPrincipal.host, aPrincipal.originAttributes ); @@ -497,7 +478,6 @@ const FingerprintingProtectionStateCleaner = { ); await this._maybeClearSiteSpecificZoom( - false, aSchemelessSite, aOriginAttributesPattern ); @@ -509,11 +489,7 @@ const FingerprintingProtectionStateCleaner = { JSON.stringify(aOriginAttributesPattern) ); - await this._maybeClearSiteSpecificZoom( - false, - aHost, - aOriginAttributesPattern - ); + await this._maybeClearSiteSpecificZoom(aHost, aOriginAttributesPattern); }, async deleteByOriginAttributes(aOriginAttributesString) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9ebdbd1… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9ebdbd1… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-140.5.0esr-15.0-1] Bug 1998435 - Do not reset the default zoom when clearing the FFP state. r=manuel
by Pier Angelo Vendrame (@pierov) 10 Nov '25

10 Nov '25
Pier Angelo Vendrame pushed to branch tor-browser-140.5.0esr-15.0-1 at The Tor Project / Applications / Tor Browser Commits: 5be0cde4 by Pier Angelo Vendrame at 2025-11-08T15:01:19+01:00 Bug 1998435 - Do not reset the default zoom when clearing the FFP state. r=manuel Differential Revision: https://phabricator.services.mozilla.com/D271446 - - - - - 2 changed files: - browser/components/resistfingerprinting/test/browser/browser_bug1975753_site_specific_zoom_level.js - toolkit/components/cleardata/ClearDataService.sys.mjs Changes: ===================================== browser/components/resistfingerprinting/test/browser/browser_bug1975753_site_specific_zoom_level.js ===================================== @@ -3,10 +3,14 @@ const PATH_NET = TEST_PATH + "file_dummy.html"; const PATH_ORG = PATH_NET.replace("example.net", "example.org"); -add_task(async function () { +async function runTest(defaultZoom) { let tab1, tab1Zoom; tab1 = await BrowserTestUtils.openNewForegroundTab(gBrowser, PATH_NET); + + tab1Zoom = ZoomManager.getZoomForBrowser(tab1.linkedBrowser); + is(tab1Zoom, defaultZoom, "We are starting with the default zoom."); + await FullZoom.setZoom(1.25, tab1.linkedBrowser); tab1Zoom = ZoomManager.getZoomForBrowser(tab1.linkedBrowser); @@ -46,7 +50,7 @@ add_task(async function () { is( tab1Zoom, - 1.0, + defaultZoom, "privacy.resistFingerprinting is true, site-specific zoom should be reset when clearing FPP state for tab1" ); @@ -55,4 +59,29 @@ add_task(async function () { BrowserTestUtils.removeTab(tab1); await SpecialPowers.popPrefEnv(); +} + +add_task(async function () { + await runTest(1.0); + + let defaultZoom = 1.5; + let context = Cu.createLoadContext(); + let cps2 = Cc["@mozilla.org/content-pref/service;1"].getService( + Ci.nsIContentPrefService2 + ); + let { promise, resolve, reject } = Promise.withResolvers(); + cps2.setGlobal(FullZoom.name, defaultZoom, context, { + handleError(error) { + reject(error); + }, + handleCompletion() { + resolve(); + }, + }); + await promise; + try { + await runTest(defaultZoom); + } finally { + cps2.removeGlobal(FullZoom.name, context); + } }); ===================================== toolkit/components/cleardata/ClearDataService.sys.mjs ===================================== @@ -415,11 +415,7 @@ const CookieBannerExecutedRecordCleaner = { // A cleaner for cleaning fingerprinting protection states. const FingerprintingProtectionStateCleaner = { - async _maybeClearSiteSpecificZoom( - deleteAll, - aSchemelessSite, - aOriginAttributes = {} - ) { + async _maybeClearSiteSpecificZoom(aSchemelessSite, aOriginAttributes = {}) { if ( !ChromeUtils.shouldResistFingerprinting("SiteSpecificZoom", null, true) ) { @@ -432,8 +428,24 @@ const FingerprintingProtectionStateCleaner = { const ZOOM_PREF_NAME = "browser.content.full-zoom"; await new Promise((aResolve, aReject) => { - if (deleteAll) { - cps2.removeByName(ZOOM_PREF_NAME, null, { + aOriginAttributes = + ChromeUtils.fillNonDefaultOriginAttributes(aOriginAttributes); + + let loadContext; + if ( + aOriginAttributes.privateBrowsingId == + Services.scriptSecurityManager.DEFAULT_PRIVATE_BROWSING_ID + ) { + loadContext = Cu.createLoadContext(); + } else { + loadContext = Cu.createPrivateLoadContext(); + } + + cps2.removeBySubdomainAndName( + aSchemelessSite, + ZOOM_PREF_NAME, + loadContext, + { handleCompletion: aReason => { if (aReason === cps2.COMPLETE_ERROR) { aReject(); @@ -441,50 +453,19 @@ const FingerprintingProtectionStateCleaner = { aResolve(); } }, - }); - } else { - aOriginAttributes = - ChromeUtils.fillNonDefaultOriginAttributes(aOriginAttributes); - - let loadContext; - if ( - aOriginAttributes.privateBrowsingId == - Services.scriptSecurityManager.DEFAULT_PRIVATE_BROWSING_ID - ) { - loadContext = Cu.createLoadContext(); - } else { - loadContext = Cu.createPrivateLoadContext(); } - - cps2.removeBySubdomainAndName( - aSchemelessSite, - ZOOM_PREF_NAME, - loadContext, - { - handleCompletion: aReason => { - if (aReason === cps2.COMPLETE_ERROR) { - aReject(); - } else { - aResolve(); - } - }, - } - ); - } + ); }); }, async deleteAll() { Services.rfp.cleanAllRandomKeys(); - - await this._maybeClearSiteSpecificZoom(true); }, async deleteByPrincipal(aPrincipal) { Services.rfp.cleanRandomKeyByPrincipal(aPrincipal); await this._maybeClearSiteSpecificZoom( - false, aPrincipal.host, aPrincipal.originAttributes ); @@ -497,7 +478,6 @@ const FingerprintingProtectionStateCleaner = { ); await this._maybeClearSiteSpecificZoom( - false, aSchemelessSite, aOriginAttributesPattern ); @@ -509,11 +489,7 @@ const FingerprintingProtectionStateCleaner = { JSON.stringify(aOriginAttributesPattern) ); - await this._maybeClearSiteSpecificZoom( - false, - aHost, - aOriginAttributesPattern - ); + await this._maybeClearSiteSpecificZoom(aHost, aOriginAttributesPattern); }, async deleteByOriginAttributes(aOriginAttributesString) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/5be0cde… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/5be0cde… 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 41628: Make NDK terminology consistent with source.properties.
by Pier Angelo Vendrame (@pierov) 06 Nov '25

06 Nov '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 5833d59b by Pier Angelo Vendrame at 2025-11-06T10:07:42+01:00 Bug 41628: Make NDK terminology consistent with source.properties. Group NDK version and revision under release_name, and use revision for the actual revision, which we used to call version_build. This improves consistency and will help with future automation. - - - - - 3 changed files: - projects/android-toolchain/build - projects/android-toolchain/config - projects/geckoview/list_toolchain_updates_checks Changes: ===================================== projects/android-toolchain/build ===================================== @@ -15,7 +15,7 @@ mv cmdline-tools/cmdline-tools cmdline-tools/[% c("var/commandlinetools_version_ # NDK mkdir ndk unzip -qq $rootdir/[% c("input_files_by_name/android_ndk_compiler")%] -d ndk -ln -s android-ndk-r[% c("var/android_ndk_version") %][% c("var/android_ndk_revision") %] ndk/[% c("var/android_ndk_version_build") %] +ln -s android-ndk-r[% c("var/android_ndk_release_name") %] ndk/[% c("var/android_ndk_revision") %] # Build tools mkdir build-tools ===================================== projects/android-toolchain/config ===================================== @@ -14,10 +14,10 @@ var: # But an NDK is more than 1.5GB, so it does not make sense to copy one that # is not even used in all containers. Instead, we download the additional # NDK only in application-services, and adjust the other variables here. - [% IF c("ndk_version") -%] - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/android-ndk-r[% c("ndk_version") %] + [% IF c("ndk_release") -%] + export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/android-ndk-r[% c("ndk_release") %] [% ELSE -%] - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/android-ndk-r[% c("var/android_ndk_version") %][% c('var/android_ndk_revision') %] + export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/android-ndk-r[% c("var/android_ndk_release_name") %] [% END -%] export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME export NDK_HOST_TAG=linux-x86_64 @@ -32,9 +32,8 @@ var: android_api_level: 36 android_release_dir: android-16 android_platform_revision: '01' - android_ndk_version: 28 - android_ndk_revision: b - android_ndk_version_build: 28.1.13356709 + android_ndk_release_name: 28b + android_ndk_revision: 28.1.13356709 # We need the following two variables for get_build_tools, used by signing # scripts. build_tools_version: 36 @@ -47,7 +46,7 @@ input_files: - URL: '[% c("var/google_repo") %]/commandlinetools-linux-[% c("var/commandlinetools_version") %]_latest.zip' name: android_commandlinetools sha256sum: 7ec965280a073311c339e571cd5de778b9975026cfcbe79f2b1cdcb1e15317ee - - URL: '[% c("var/google_repo") %]/android-ndk-r[% c("var/android_ndk_version") %][% c("var/android_ndk_revision") %]-linux.zip' + - URL: '[% c("var/google_repo") %]/android-ndk-r[% c("var/android_ndk_release_name") %]-linux.zip' name: android_ndk_compiler sha256sum: e9f2759862cecfd48c20bbb7d8cfedbb020f4d91b5f78d9a2fc106f7db3c27ed - URL: '[% c("var/google_repo") %]/[% c("var/build_tools_filename") %]' ===================================== projects/geckoview/list_toolchain_updates_checks ===================================== @@ -10,8 +10,8 @@ if (m/^\\s*NDK_VERSION\\s*=\\s*"(.+)"/) { } EOF needed=$(cat python/mozboot/mozboot/android.py | perl -ne "$p") -current='r[% pc("android-toolchain", "var/android_ndk_version") %][% pc("android-toolchain", "var/android_ndk_revision") %]' -check_update_needed ndk_version "$needed" "$current" +current='r[% pc("android-toolchain", "var/android_ndk_release_name") %] +check_update_needed ndk_release_name "$needed" "$current" # build_tools View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-140.5.0esr-15.0-1] fixup! [android] Disable features and functionality
by Dan Ballard (@dan) 05 Nov '25

05 Nov '25
Dan Ballard pushed to branch tor-browser-140.5.0esr-15.0-1 at The Tor Project / Applications / Tor Browser Commits: 111978d4 by clairehurst at 2025-11-05T13:43:13-07:00 fixup! [android] Disable features and functionality - - - - - 1 changed file: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt ===================================== @@ -201,11 +201,9 @@ open class DefaultToolbarMenu( */ @VisibleForTesting(otherwise = PRIVATE) fun shouldShowTranslations(): Boolean { - val isEngineSupported = store.state.translationEngine.isEngineSupported - return selectedSession?.let { - isEngineSupported == true && - FxNimbus.features.translations.value().mainFlowBrowserMenuEnabled - } ?: false + // We need this because in FxNimbus.kt, mainFlowToolbarEnabled defaults to true + // ```mainFlowToolbarEnabled: Boolean = true``` + return false // bug_44304 Hide broken translat page action. } /** View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/111978d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/111978d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-140.5.0esr-15.0-1] 2 commits: fixup! BB 43525: Skip Remote Settings for search engine customization.
by Pier Angelo Vendrame (@pierov) 05 Nov '25

05 Nov '25
Pier Angelo Vendrame pushed to branch mullvad-browser-140.5.0esr-15.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 6f34e2ae by Pier Angelo Vendrame at 2025-11-05T17:53:58+01:00 fixup! BB 43525: Skip Remote Settings for search engine customization. MB 483: Ship DDG without AI as a bundled search engine. MB 487: Use custom order for search engines. - - - - - 7b854cf2 by Pier Angelo Vendrame at 2025-11-05T17:53:59+01:00 fixup! MB 213: Customize the search engines list. MB 487: Use custom order for search engines. - - - - - 3 changed files: - toolkit/components/search/content/base-browser-search-engine-icons.json - toolkit/components/search/content/base-browser-search-engines.json - toolkit/components/search/tests/xpcshell/test_base_browser.js Changes: ===================================== toolkit/components/search/content/base-browser-search-engine-icons.json ===================================== @@ -1,15 +1,18 @@ { + "mullvad-leta": [ + { + "url": "chrome://global/content/search/mullvad-leta.svg", + "imageSize": 16 + } + ], "ddg": [ { "url": "chrome://global/content/search/duckduckgo.ico", "imageSize": 32 } ], "ddg-html": [ { "url": "chrome://global/content/search/duckduckgo.ico", "imageSize": 32 } ], - "mullvad-leta": [ - { - "url": "chrome://global/content/search/mullvad-leta.svg", - "imageSize": 16 - } + "ddg-noai": [ + { "url": "chrome://global/content/search/duckduckgo.ico", "imageSize": 32 } ], "mojeek": [ { "url": "chrome://global/content/search/mojeek.ico", "imageSize": 32 } ===================================== toolkit/components/search/content/base-browser-search-engines.json ===================================== @@ -53,6 +53,24 @@ "recordType": "engine", "variants": [{ "environment": { "allRegionsAndLocales": true } }] }, + { + "base": { + "aliases": ["ddgnoai"], + "classification": "general", + "name": "DuckDuckGo (no AI)", + "urls": { + "search": { + "base": "https://noai.duckduckgo.com/", + "params": [], + "searchTermParamName": "q" + } + } + }, + "id": "91687f02-56dd-4fef-ba26-bf139dff3166", + "identifier": "ddg-noai", + "recordType": "engine", + "variants": [{ "environment": { "allRegionsAndLocales": true } }] + }, { "base": { "aliases": ["mojeek", "mj"], @@ -111,5 +129,22 @@ "recordType": "defaultEngines", "globalDefault": "mullvad-leta", "globalDefaultPrivate": "mullvad-leta" + }, + { + "recordType": "engineOrders", + "orders": [ + { + "environment": { "allRegionsAndLocales": true }, + "order": [ + "mullvad-leta", + "ddg", + "ddg-html", + "ddg-noai", + "mojeek", + "brave", + "startpage" + ] + } + ] } ] ===================================== toolkit/components/search/tests/xpcshell/test_base_browser.js ===================================== @@ -4,19 +4,22 @@ /** * This tests the SearchService to check our override of the remote settings is * working as expected. + * + * When adding new engines, it should be enough to change expectedURLs below. */ "use strict"; const expectedURLs = { - leta: "https://leta.mullvad.net/?q=test", - ddg: "https://duckduckgo.com/html/?q=test", - "ddg-html": "https://html.duckduckgo.com/html?q=test", + "mullvad-leta": "https://leta.mullvad.net/?q=test", + ddg: "https://duckduckgo.com/?q=test", + "ddg-html": "https://html.duckduckgo.com/html/?q=test", + "ddg-noai": "https://noai.duckduckgo.com/?q=test", mojeek: "https://www.mojeek.com/search?q=test", brave: "https://search.brave.com/search?q=test", startpage: "https://www.startpage.com/sp/search?q=test", }; -const defaultEngine = "leta"; +const defaultEngine = "mullvad-leta"; add_setup(async function setup() { await Services.search.init(); @@ -49,3 +52,11 @@ add_task(function test_checkSearchURLs() { Assert.equal(foundUrl, url, `The URL of ${engine.name} is not altered.`); } }); + +add_task(async function test_iconsDoesNotFail() { + for (const id of Object.keys(expectedURLs)) { + const engine = Services.search.getEngineById(id); + // No need to assert anything, as in case of error this method should throw. + await engine.getIconURL(); + } +}); View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/95… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/95… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-140.5.0esr-15.0-1] fixup! Tweaks to the build system
by brizental (@brizental) 05 Nov '25

05 Nov '25
brizental pushed to branch mullvad-browser-140.5.0esr-15.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 9506df04 by Beatriz Rizental at 2025-11-05T17:10:43+01:00 fixup! Tweaks to the build system Skip downloading WPT artifacts when generating test artifacts. - - - - - 1 changed file: - testing/testsuite-targets.mk Changes: ===================================== testing/testsuite-targets.mk ===================================== @@ -154,7 +154,7 @@ download-wpt-manifest: $(call py_action,download_wpt_manifest) define package_archive -package-tests-$(1): stage-all package-tests-prepare-dest download-wpt-manifest +package-tests-$(1): stage-all package-tests-prepare-dest $$(call py_action,test_archive, \ $(1) \ '$$(abspath $$(test_archive_dir))/$$(PKG_BASENAME).$(1).tests.$(2)') View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/950… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/950… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.