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 -----
  • August
  • July
  • June
  • May
  • April
  • 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
  • 20919 discussions
[Git][tpo/applications/tor-browser][tor-browser-152.0a1-16.0-2] fixup! BB 44045: Disable ML features.
by Pier Angelo Vendrame (@pierov) 25 Jun '26

25 Jun '26
Pier Angelo Vendrame pushed to branch tor-browser-152.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 52dc11a7 by Pier Angelo Vendrame at 2026-06-25T11:12:48+02:00 fixup! BB 44045: Disable ML features. BB 45016: Fix more ML Errors. - - - - - 1 changed file: - browser/components/aiwindow/ui/modules/AIWindowConstants.sys.mjs Changes: ===================================== browser/components/aiwindow/ui/modules/AIWindowConstants.sys.mjs ===================================== @@ -6,10 +6,6 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs"; const lazy = {}; -ChromeUtils.defineESModuleGetters(lazy, { - resolveChatModelChoice: - "moz-src:///browser/components/aiwindow/models/Utils.sys.mjs", -}); XPCOMUtils.defineLazyPreferenceGetter( lazy, @@ -69,7 +65,8 @@ export async function getModelForChoice(choiceId = lazy.modelChoice) { return null; } - const resolved = await lazy.resolveChatModelChoice(choiceId); + // tor-browser#45016: EngineProcess.sys.mjs is not available for us. + const resolved = { model: "unknown", ownerName: "unknown" }; if (resolved) { return resolved; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/52dc11a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/52dc11a… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-15.0] Bug 41827: Update morgan's keychain with renewed key
by Pier Angelo Vendrame (@pierov) 25 Jun '26

25 Jun '26
Pier Angelo Vendrame pushed to branch maint-15.0 at The Tor Project / Applications / tor-browser-build Commits: a052f5ac by Morgan at 2026-06-25T11:27:15+02:00 Bug 41827: Update morgan's keychain with renewed key - - - - - 1 changed file: - keyring/morgan.gpg Changes: ===================================== keyring/morgan.gpg ===================================== Binary files a/keyring/morgan.gpg and b/keyring/morgan.gpg differ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41827: Update morgan's keychain with renewed key
by Pier Angelo Vendrame (@pierov) 25 Jun '26

25 Jun '26
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: e6e822e6 by Morgan at 2026-06-24T12:37:21+00:00 Bug 41827: Update morgan's keychain with renewed key - - - - - 1 changed file: - keyring/morgan.gpg Changes: ===================================== keyring/morgan.gpg ===================================== Binary files a/keyring/morgan.gpg and b/keyring/morgan.gpg differ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-152.0a1-16.0-2] Bug 2040437 - part 3: remove no-longer-wanted code to randomize the reason...
by Pier Angelo Vendrame (@pierov) 25 Jun '26

25 Jun '26
Pier Angelo Vendrame pushed to branch mullvad-browser-152.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: eec0ad8d by Thomas Wisniewski at 2026-06-25T11:00:25+02:00 Bug 2040437 - part 3: remove no-longer-wanted code to randomize the reason selector options on Report Broken Site, and re-order the default choices a little; r=mossop Differential Revision: https://phabricator.services.mozilla.com/D302069 - - - - - 1 changed file: - browser/components/reportbrokensite/ReportBrokenSite.sys.mjs Changes: ===================================== browser/components/reportbrokensite/ReportBrokenSite.sys.mjs ===================================== @@ -8,7 +8,6 @@ const MINIMUM_DESCRIPTION_LENGTH = 10; const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { - ClientEnvironment: "resource://normandy/lib/ClientEnvironment.sys.mjs", SafeBrowsing: "resource://gre/modules/SafeBrowsing.sys.mjs", }); @@ -18,7 +17,6 @@ export class ViewState { #detailsView; #previewView; #reportSentView; - #reasonOptions; #reportURL; currentTabURL; @@ -43,10 +41,6 @@ export class ViewState { "report-broken-site-popup-reportSentView" ); ViewState.#cache.set(doc, this); - - this.#reasonOptions = Array.from( - this.#mainView.querySelectorAll(".reason-button") - ); } static #cache = new WeakMap(); @@ -289,46 +283,6 @@ export class ViewState { ); } - randomizeReasonsOrdering() { - // As with QuickActionsLoaderDefault, we use the Normandy - // randomizationId as our PRNG seed to ensure that the same - // user should always get the same sequence. - const seed = [...lazy.ClientEnvironment.randomizationId] - .map(x => x.charCodeAt(0)) - .reduce((sum, a) => sum + a, 0); - - const items = [...this.#reasonOptions]; - this.#shuffleArray(items, seed); - items[0].parentNode.append(...items); - } - - #shuffleArray(array, seed) { - // We use SplitMix as it is reputed to have a strong distribution of values. - const prng = this.#getSplitMix32PRNG(seed); - for (let i = array.length - 1; i > 0; i--) { - const j = Math.floor(prng() * (i + 1)); - [array[i], array[j]] = [array[j], array[i]]; - } - } - - // SplitMix32 is a splittable pseudorandom number generator (PRNG). - // License: MIT (https://github.com/attilabuti/SimplexNoise) - #getSplitMix32PRNG(a) { - return () => { - a |= 0; - a = (a + 0x9e3779b9) | 0; - var t = a ^ (a >>> 16); - t = Math.imul(t, 0x21f0aaad); - t = t ^ (t >>> 15); - t = Math.imul(t, 0x735a2d97); - return ((t = t ^ (t >>> 15)) >>> 0) / 4294967296; - }; - } - - restoreReasonsOrdering() { - this.#reasonOptions[0].parentNode.append(...this.#reasonOptions); - } - reset() { this.currentTabWebcompatDetailsPromise = undefined; this.lastBlurredURLInputSelection = undefined; @@ -445,8 +399,6 @@ export var ReportBrokenSite = new (class ReportBrokenSite { static SCREENSHOTS_ENABLED_PREF = "ui.new-webcompat-reporter.screenshots.enabled"; - static REASON_RANDOMIZED_PREF = - "ui.new-webcompat-reporter.reason-dropdown.randomized"; static SEND_MORE_INFO_PREF = "ui.new-webcompat-reporter.send-more-info-link"; static NEW_REPORT_ENDPOINT_PREF = "ui.new-webcompat-reporter.new-report-endpoint"; @@ -490,8 +442,6 @@ export var ReportBrokenSite = new (class ReportBrokenSite { } #OBSERVED_PREFS = { - [ReportBrokenSite.REASON_RANDOMIZED_PREF]: - "onReasonRandomizationPrefChanged", [ReportBrokenSite.SCREENSHOTS_ENABLED_PREF]: "onScreenshotsPrefChanged", [ReportBrokenSite.SEND_MORE_INFO_PREF]: "onSendMoreInfoPrefChanged", }; @@ -532,14 +482,6 @@ export var ReportBrokenSite = new (class ReportBrokenSite { } } - onReasonRandomizationPrefChanged(prefValue, state) { - if (prefValue) { - state.randomizeReasonsOrdering(); - } else { - state.restoreReasonsOrdering(); - } - } - onScreenshotsPrefChanged(prefValue, state) { state.screenshotsDisabled = !prefValue; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/eec… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/eec… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-152.0a1-16.0-2] Bug 2040437 - part 3: remove no-longer-wanted code to randomize the reason...
by Pier Angelo Vendrame (@pierov) 25 Jun '26

25 Jun '26
Pier Angelo Vendrame pushed to branch tor-browser-152.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: b5af463c by Thomas Wisniewski at 2026-06-25T10:45:02+02:00 Bug 2040437 - part 3: remove no-longer-wanted code to randomize the reason selector options on Report Broken Site, and re-order the default choices a little; r=mossop Differential Revision: https://phabricator.services.mozilla.com/D302069 - - - - - 1 changed file: - browser/components/reportbrokensite/ReportBrokenSite.sys.mjs Changes: ===================================== browser/components/reportbrokensite/ReportBrokenSite.sys.mjs ===================================== @@ -8,7 +8,6 @@ const MINIMUM_DESCRIPTION_LENGTH = 10; const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { - ClientEnvironment: "resource://normandy/lib/ClientEnvironment.sys.mjs", SafeBrowsing: "resource://gre/modules/SafeBrowsing.sys.mjs", }); @@ -18,7 +17,6 @@ export class ViewState { #detailsView; #previewView; #reportSentView; - #reasonOptions; #reportURL; currentTabURL; @@ -43,10 +41,6 @@ export class ViewState { "report-broken-site-popup-reportSentView" ); ViewState.#cache.set(doc, this); - - this.#reasonOptions = Array.from( - this.#mainView.querySelectorAll(".reason-button") - ); } static #cache = new WeakMap(); @@ -289,46 +283,6 @@ export class ViewState { ); } - randomizeReasonsOrdering() { - // As with QuickActionsLoaderDefault, we use the Normandy - // randomizationId as our PRNG seed to ensure that the same - // user should always get the same sequence. - const seed = [...lazy.ClientEnvironment.randomizationId] - .map(x => x.charCodeAt(0)) - .reduce((sum, a) => sum + a, 0); - - const items = [...this.#reasonOptions]; - this.#shuffleArray(items, seed); - items[0].parentNode.append(...items); - } - - #shuffleArray(array, seed) { - // We use SplitMix as it is reputed to have a strong distribution of values. - const prng = this.#getSplitMix32PRNG(seed); - for (let i = array.length - 1; i > 0; i--) { - const j = Math.floor(prng() * (i + 1)); - [array[i], array[j]] = [array[j], array[i]]; - } - } - - // SplitMix32 is a splittable pseudorandom number generator (PRNG). - // License: MIT (https://github.com/attilabuti/SimplexNoise) - #getSplitMix32PRNG(a) { - return () => { - a |= 0; - a = (a + 0x9e3779b9) | 0; - var t = a ^ (a >>> 16); - t = Math.imul(t, 0x21f0aaad); - t = t ^ (t >>> 15); - t = Math.imul(t, 0x735a2d97); - return ((t = t ^ (t >>> 15)) >>> 0) / 4294967296; - }; - } - - restoreReasonsOrdering() { - this.#reasonOptions[0].parentNode.append(...this.#reasonOptions); - } - reset() { this.currentTabWebcompatDetailsPromise = undefined; this.lastBlurredURLInputSelection = undefined; @@ -445,8 +399,6 @@ export var ReportBrokenSite = new (class ReportBrokenSite { static SCREENSHOTS_ENABLED_PREF = "ui.new-webcompat-reporter.screenshots.enabled"; - static REASON_RANDOMIZED_PREF = - "ui.new-webcompat-reporter.reason-dropdown.randomized"; static SEND_MORE_INFO_PREF = "ui.new-webcompat-reporter.send-more-info-link"; static NEW_REPORT_ENDPOINT_PREF = "ui.new-webcompat-reporter.new-report-endpoint"; @@ -490,8 +442,6 @@ export var ReportBrokenSite = new (class ReportBrokenSite { } #OBSERVED_PREFS = { - [ReportBrokenSite.REASON_RANDOMIZED_PREF]: - "onReasonRandomizationPrefChanged", [ReportBrokenSite.SCREENSHOTS_ENABLED_PREF]: "onScreenshotsPrefChanged", [ReportBrokenSite.SEND_MORE_INFO_PREF]: "onSendMoreInfoPrefChanged", }; @@ -532,14 +482,6 @@ export var ReportBrokenSite = new (class ReportBrokenSite { } } - onReasonRandomizationPrefChanged(prefValue, state) { - if (prefValue) { - state.randomizeReasonsOrdering(); - } else { - state.restoreReasonsOrdering(); - } - } - onScreenshotsPrefChanged(prefValue, state) { state.screenshotsDisabled = !prefValue; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b5af463… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b5af463… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-152.0a1-16.0-2] fixup! BB 44528: Disable the IP Protection feature
by Pier Angelo Vendrame (@pierov) 25 Jun '26

25 Jun '26
Pier Angelo Vendrame pushed to branch mullvad-browser-152.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: f6f882e5 by Beatriz Rizental at 2026-06-25T09:21:23+02:00 fixup! BB 44528: Disable the IP Protection feature Bug 44528: Further remove ipprotection, address console errors - - - - - 2 changed files: - browser/components/BrowserComponents.manifest - browser/components/moz.build Changes: ===================================== browser/components/BrowserComponents.manifest ===================================== @@ -75,7 +75,6 @@ category browser-first-window-ready moz-src:///toolkit/components/doh/DoHControl category browser-first-window-ready moz-src:///toolkit/profile/ProfilesDatastoreService.sys.mjs ProfilesDatastoreService.init category browser-first-window-ready resource:///modules/profiles/SelectableProfileService.sys.mjs SelectableProfileService.init category browser-first-window-ready resource://gre/modules/CaptchaDetectionPingUtils.sys.mjs CaptchaDetectionPingUtils.init -category browser-first-window-ready moz-src:///browser/components/ipprotection/IPProtectionHelpers.sys.mjs IPProtectionActivator.init category browser-first-window-ready moz-src:///browser/components/customizableui/SearchWidgetTracker.sys.mjs SearchWidgetTracker.init #ifdef MOZ_SANDBOX #ifdef XP_LINUX @@ -132,6 +131,5 @@ category browser-quit-application-granted moz-src:///browser/components/search/S category browser-quit-application-granted resource://gre/modules/UpdateListener.sys.mjs UpdateListener.reset #endif category browser-quit-application-granted moz-src:///browser/components/urlbar/UrlbarSearchTermsPersistence.sys.mjs UrlbarSearchTermsPersistence.uninit -category browser-quit-application-granted moz-src:///browser/components/ipprotection/IPProtectionHelpers.sys.mjs IPProtectionActivator.uninit category browser-newtab-external-component moz-src:///browser/components/search/SearchUIUtils.sys.mjs SearchNewTabComponentsRegistrant ===================================== browser/components/moz.build ===================================== @@ -41,7 +41,7 @@ DIRS += [ "enterprisepolicies", "extensions", # Exclude "genai" component. tor-browser#44045. - "ipprotection", + # Exclude "ipprotection" component. tor-browser#44528. "messagepreview", "migration", "mozcachedohttp", View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/f6f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/f6f… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-152.0a1-16.0-2] fixup! BB 44528: Disable the IP Protection feature
by Pier Angelo Vendrame (@pierov) 25 Jun '26

25 Jun '26
Pier Angelo Vendrame pushed to branch tor-browser-152.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: af6caa34 by Beatriz Rizental at 2026-06-25T09:02:02+02:00 fixup! BB 44528: Disable the IP Protection feature Bug 44528: Further remove ipprotection, address console errors - - - - - 2 changed files: - browser/components/BrowserComponents.manifest - browser/components/moz.build Changes: ===================================== browser/components/BrowserComponents.manifest ===================================== @@ -76,7 +76,6 @@ category browser-first-window-ready moz-src:///toolkit/components/doh/DoHControl category browser-first-window-ready moz-src:///toolkit/profile/ProfilesDatastoreService.sys.mjs ProfilesDatastoreService.init category browser-first-window-ready resource:///modules/profiles/SelectableProfileService.sys.mjs SelectableProfileService.init category browser-first-window-ready resource://gre/modules/CaptchaDetectionPingUtils.sys.mjs CaptchaDetectionPingUtils.init -category browser-first-window-ready moz-src:///browser/components/ipprotection/IPProtectionHelpers.sys.mjs IPProtectionActivator.init category browser-first-window-ready moz-src:///browser/components/customizableui/SearchWidgetTracker.sys.mjs SearchWidgetTracker.init #ifdef MOZ_SANDBOX #ifdef XP_LINUX @@ -136,7 +135,6 @@ category browser-quit-application-granted moz-src:///browser/components/search/S category browser-quit-application-granted resource://gre/modules/UpdateListener.sys.mjs UpdateListener.reset #endif category browser-quit-application-granted moz-src:///browser/components/urlbar/UrlbarSearchTermsPersistence.sys.mjs UrlbarSearchTermsPersistence.uninit -category browser-quit-application-granted moz-src:///browser/components/ipprotection/IPProtectionHelpers.sys.mjs IPProtectionActivator.uninit category browser-quit-application-granted moz-src:///browser/components/onionservices/OnionAliasStore.sys.mjs OnionAliasStore.uninit category browser-newtab-external-component moz-src:///browser/components/search/SearchUIUtils.sys.mjs SearchNewTabComponentsRegistrant ===================================== browser/components/moz.build ===================================== @@ -44,7 +44,7 @@ DIRS += [ "enterprisepolicies", "extensions", # Exclude "genai" component. tor-browser#44045. - "ipprotection", + # Exclude "ipprotection" component. tor-browser#44528. "messagepreview", "migration", "mozcachedohttp", View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/af6caa3… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/af6caa3… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-152.0a1-16.0-2] BB 44728: Activate app-bundled fonts in the GPU process on macOS.
by Pier Angelo Vendrame (@pierov) 25 Jun '26

25 Jun '26
Pier Angelo Vendrame pushed to branch mullvad-browser-152.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: e6a45846 by Jonathan Kew at 2026-06-25T08:42:47+02:00 BB 44728: Activate app-bundled fonts in the GPU process on macOS. Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=2032466 Differential Revision: https://phabricator.services.mozilla.com/D308045 - - - - - 5 changed files: - gfx/ipc/GPUProcessImpl.cpp - gfx/thebes/CoreTextFontList.h - gfx/thebes/gfxPlatformMac.cpp - gfx/thebes/gfxPlatformMac.h - security/sandbox/mac/SandboxPolicyGPU.h Changes: ===================================== gfx/ipc/GPUProcessImpl.cpp ===================================== @@ -11,6 +11,8 @@ # include "mozilla/sandboxTarget.h" #elif defined(__OpenBSD__) && defined(MOZ_SANDBOX) # include "mozilla/SandboxSettings.h" +#elif defined(XP_MACOSX) && defined(MOZ_BUNDLED_FONTS) +# include "gfxPlatformMac.h" #endif namespace mozilla { @@ -34,6 +36,35 @@ bool GPUProcessImpl::Init(int aArgc, char* aArgv[]) { return false; } +#if defined(XP_MACOSX) && defined(MOZ_BUNDLED_FONTS) + // On macOS, bundled fonts shipped with the application need to be activated + // in the GPU process, otherwise they will fail to render (and fall back to + // garbage glyphs from another font). + // The bundled fonts directory is a sibling of the appDir, so we use the + // sAppDir arg as a starting-point to locate it. + nsCOMPtr<nsIFile> appDirArg; + Maybe<const char*> appDir = geckoargs::sAppDir.Get(aArgc, aArgv); + if (appDir.isSome()) { + bool flag; + if (NS_FAILED(XRE_GetFileFromPath(*appDir, getter_AddRefs(appDirArg))) || + NS_FAILED(appDirArg->Exists(&flag)) || !flag) { + NS_WARNING("Invalid application directory passed to GPU process."); + appDirArg = nullptr; + } + } + if (appDirArg) { + // appDirArg is the <app package>/Contents/Resources/browser directory. + // Get its parent (/Resources), and then append /fonts. + nsCOMPtr<nsIFile> fontsDir; + bool flag; + if (NS_SUCCEEDED(appDirArg->GetParent(getter_AddRefs(fontsDir))) && + NS_SUCCEEDED(fontsDir->AppendRelativeNativePath("fonts"_ns)) && + NS_SUCCEEDED(fontsDir->Exists(&flag)) && flag) { + gfxPlatformMac::ActivateFontsFromDir(fontsDir->NativePath()); + } + } +#endif + if (!ProcessChild::InitPrefs(aArgc, aArgv)) { return false; } ===================================== gfx/thebes/CoreTextFontList.h ===================================== @@ -193,6 +193,10 @@ class CoreTextFontList : public gfxPlatformFontList { }; void ReadSystemFontList(mozilla::dom::SystemFontList*); + static void ActivateFontsFromDir( + const nsACString& aDir, + nsTHashSet<nsCStringHashKey>* aLoadedFamilies = nullptr); + protected: CoreTextFontList(); virtual ~CoreTextFontList(); @@ -251,10 +255,6 @@ class CoreTextFontList : public gfxPlatformFontList { void AddFamily(const nsACString& aFamilyName, FontVisibility aVisibility) MOZ_REQUIRES(mLock); - static void ActivateFontsFromDir( - const nsACString& aDir, - nsTHashSet<nsCStringHashKey>* aLoadedFamilies = nullptr); - gfxFontEntry* CreateFontEntry( mozilla::fontlist::Face* aFace, const mozilla::fontlist::Family* aFamily) override; ===================================== gfx/thebes/gfxPlatformMac.cpp ===================================== @@ -1073,3 +1073,9 @@ nsTArray<uint8_t> gfxPlatformMac::GetPlatformCMSOutputProfileData() { } bool gfxPlatformMac::CheckVariationFontSupport() { return true; } + +#ifdef MOZ_BUNDLED_FONTS +void gfxPlatformMac::ActivateFontsFromDir(const nsACString& aPath) { + CoreTextFontList::ActivateFontsFromDir(aPath); +} +#endif ===================================== gfx/thebes/gfxPlatformMac.h ===================================== @@ -80,6 +80,10 @@ class gfxPlatformMac : public gfxPlatform { static bool CheckVariationFontSupport(); +#ifdef MOZ_BUNDLED_FONTS + static void ActivateFontsFromDir(const nsACString& aPath); +#endif + protected: bool AccelerateLayersByDefault() override; ===================================== security/sandbox/mac/SandboxPolicyGPU.h ===================================== @@ -232,6 +232,7 @@ static const char SandboxPolicyGPU[] = R"SANDBOX_LITERAL( (allow file-read* (subpath "/Library/Fonts") (subpath "/Library/Application Support/Apple/Fonts") + (subpath (string-append appPath "/Contents/Resources/fonts")) (home-subpath "/Library/Fonts") ; Allow read access to paths allowed via sandbox extensions. ; This is needed for fonts in non-standard locations normally View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/e6a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/e6a… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-152.0a1-16.0-2] BB 44728: Activate app-bundled fonts in the GPU process on macOS.
by Pier Angelo Vendrame (@pierov) 25 Jun '26

25 Jun '26
Pier Angelo Vendrame pushed to branch tor-browser-152.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: c6615d45 by Jonathan Kew at 2026-06-25T08:38:06+02:00 BB 44728: Activate app-bundled fonts in the GPU process on macOS. Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=2032466 Differential Revision: https://phabricator.services.mozilla.com/D308045 - - - - - 5 changed files: - gfx/ipc/GPUProcessImpl.cpp - gfx/thebes/CoreTextFontList.h - gfx/thebes/gfxPlatformMac.cpp - gfx/thebes/gfxPlatformMac.h - security/sandbox/mac/SandboxPolicyGPU.h Changes: ===================================== gfx/ipc/GPUProcessImpl.cpp ===================================== @@ -11,6 +11,8 @@ # include "mozilla/sandboxTarget.h" #elif defined(__OpenBSD__) && defined(MOZ_SANDBOX) # include "mozilla/SandboxSettings.h" +#elif defined(XP_MACOSX) && defined(MOZ_BUNDLED_FONTS) +# include "gfxPlatformMac.h" #endif namespace mozilla { @@ -34,6 +36,35 @@ bool GPUProcessImpl::Init(int aArgc, char* aArgv[]) { return false; } +#if defined(XP_MACOSX) && defined(MOZ_BUNDLED_FONTS) + // On macOS, bundled fonts shipped with the application need to be activated + // in the GPU process, otherwise they will fail to render (and fall back to + // garbage glyphs from another font). + // The bundled fonts directory is a sibling of the appDir, so we use the + // sAppDir arg as a starting-point to locate it. + nsCOMPtr<nsIFile> appDirArg; + Maybe<const char*> appDir = geckoargs::sAppDir.Get(aArgc, aArgv); + if (appDir.isSome()) { + bool flag; + if (NS_FAILED(XRE_GetFileFromPath(*appDir, getter_AddRefs(appDirArg))) || + NS_FAILED(appDirArg->Exists(&flag)) || !flag) { + NS_WARNING("Invalid application directory passed to GPU process."); + appDirArg = nullptr; + } + } + if (appDirArg) { + // appDirArg is the <app package>/Contents/Resources/browser directory. + // Get its parent (/Resources), and then append /fonts. + nsCOMPtr<nsIFile> fontsDir; + bool flag; + if (NS_SUCCEEDED(appDirArg->GetParent(getter_AddRefs(fontsDir))) && + NS_SUCCEEDED(fontsDir->AppendRelativeNativePath("fonts"_ns)) && + NS_SUCCEEDED(fontsDir->Exists(&flag)) && flag) { + gfxPlatformMac::ActivateFontsFromDir(fontsDir->NativePath()); + } + } +#endif + if (!ProcessChild::InitPrefs(aArgc, aArgv)) { return false; } ===================================== gfx/thebes/CoreTextFontList.h ===================================== @@ -193,6 +193,10 @@ class CoreTextFontList : public gfxPlatformFontList { }; void ReadSystemFontList(mozilla::dom::SystemFontList*); + static void ActivateFontsFromDir( + const nsACString& aDir, + nsTHashSet<nsCStringHashKey>* aLoadedFamilies = nullptr); + protected: CoreTextFontList(); virtual ~CoreTextFontList(); @@ -251,10 +255,6 @@ class CoreTextFontList : public gfxPlatformFontList { void AddFamily(const nsACString& aFamilyName, FontVisibility aVisibility) MOZ_REQUIRES(mLock); - static void ActivateFontsFromDir( - const nsACString& aDir, - nsTHashSet<nsCStringHashKey>* aLoadedFamilies = nullptr); - gfxFontEntry* CreateFontEntry( mozilla::fontlist::Face* aFace, const mozilla::fontlist::Family* aFamily) override; ===================================== gfx/thebes/gfxPlatformMac.cpp ===================================== @@ -1073,3 +1073,9 @@ nsTArray<uint8_t> gfxPlatformMac::GetPlatformCMSOutputProfileData() { } bool gfxPlatformMac::CheckVariationFontSupport() { return true; } + +#ifdef MOZ_BUNDLED_FONTS +void gfxPlatformMac::ActivateFontsFromDir(const nsACString& aPath) { + CoreTextFontList::ActivateFontsFromDir(aPath); +} +#endif ===================================== gfx/thebes/gfxPlatformMac.h ===================================== @@ -80,6 +80,10 @@ class gfxPlatformMac : public gfxPlatform { static bool CheckVariationFontSupport(); +#ifdef MOZ_BUNDLED_FONTS + static void ActivateFontsFromDir(const nsACString& aPath); +#endif + protected: bool AccelerateLayersByDefault() override; ===================================== security/sandbox/mac/SandboxPolicyGPU.h ===================================== @@ -232,6 +232,7 @@ static const char SandboxPolicyGPU[] = R"SANDBOX_LITERAL( (allow file-read* (subpath "/Library/Fonts") (subpath "/Library/Application Support/Apple/Fonts") + (subpath (string-append appPath "/Contents/Resources/fonts")) (home-subpath "/Library/Fonts") ; Allow read access to paths allowed via sandbox extensions. ; This is needed for fonts in non-standard locations normally View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c6615d4… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c6615d4… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-152.0a1-16.0-2] fixup! TB 43243: [android] Implement Android launch test
by brizental (@brizental) 24 Jun '26

24 Jun '26
brizental pushed to branch tor-browser-152.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 8bf5e1ff by Beatriz Rizental at 2026-06-24T21:04:06+02:00 fixup! TB 43243: [android] Implement Android launch test tor-browser-bundle-testsuite#40109: Get AndroidTest test working again. Also create a base TestRule for future TorBrowser tests. - - - - - 2 changed files: - mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/AppStartupTest.kt → mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/torbrowser/AppStartupTest.kt - + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/torbrowser/HomeActivityScenarioRule.kt Changes: ===================================== mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/AppStartupTest.kt → mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/torbrowser/AppStartupTest.kt ===================================== @@ -1,6 +1,5 @@ -package org.mozilla.fenix +package org.mozilla.fenix.torbrowser -import androidx.test.ext.junit.rules.ActivityScenarioRule import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry import androidx.test.uiautomator.UiDevice @@ -10,12 +9,11 @@ import org.junit.runner.RunWith import java.util.concurrent.CountDownLatch import java.util.concurrent.TimeUnit - @RunWith(AndroidJUnit4::class) class LaunchTest { @get:Rule - var rule: ActivityScenarioRule<HomeActivity> = ActivityScenarioRule(HomeActivity::class.java) + var rule = HomeActivityScenarioRule() @Test fun appLaunchesWithoutCrash() { ===================================== mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/torbrowser/HomeActivityScenarioRule.kt ===================================== @@ -0,0 +1,33 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.fenix.torbrowser + +import androidx.test.ext.junit.rules.ActivityScenarioRule +import org.junit.rules.TestRule +import org.junit.runner.Description +import org.junit.runners.model.Statement +import org.mozilla.fenix.HomeActivity +import org.mozilla.fenix.ext.components + +class HomeActivityScenarioRule : TestRule { + private val delegate = ActivityScenarioRule<HomeActivity>(HomeActivity::class.java) + + val scenario get() = delegate.scenario + + // ActivityScenarioRule waits for the DESTROYED lifecycle state during teardown, which means + // HomeActivity.onDestroy runs synchronously before the rule returns. onDestroy calls shutDown() -> + // exitProcess(0) when isFinishing, which kills the instrumentation process. Setting this flag + // prevents that code path so tests can report their results normally. + override fun apply(base: Statement, description: Description): Statement { + return delegate.apply(object : Statement() { + override fun evaluate() { + delegate.scenario.onActivity { activity -> + activity.applicationContext.components.notificationsDelegate.shouldShutDownWithOnDestroyWhenIsFinishing = false + } + base.evaluate() + } + }, description) + } +} View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8bf5e1f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8bf5e1f… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • ...
  • 2092
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.