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 -----
  • 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
  • 19119 discussions
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.8.0esr-14.5-1] 32 commits: MB 38: Mullvad Browser configuration
by morgan (@morgan) 11 Mar '25

11 Mar '25
morgan pushed to branch mullvad-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser Commits: 2a456a27 by Pier Angelo Vendrame at 2025-03-10T11:28:45-06:00 MB 38: Mullvad Browser configuration - - - - - c3f3d4c6 by Pier Angelo Vendrame at 2025-03-10T11:28:45-06:00 MB 1: Mullvad Browser branding See also: mullvad-browser#5: Product name and directory customization mullvad-browser#12: Create new branding directories and integrate Mullvad icons+branding mullvad-browser#14: Remove Default Built-in bookmarks mullvad-browser#35: Add custom PDF icons for Windows builds mullvad-browser#48: Replace Mozilla copyright and legal trademarks in mullvadbrowser.exe metadata mullvad-browser#51: Update trademark string mullvad-browser#104: Update shipped dll metadata copyright/licensing info mullvad-browser#107: Add alpha and nightly icons - - - - - 5d9bbae4 by Henry Wilkes at 2025-03-10T11:28:46-06:00 fixup! MB 1: Mullvad Browser branding MB 312: Differentiate between release channels. We update the brand.ftl and brand.properties files to add "Alpha" and "Nightly" to the brand names. We update about-wordmark.svg to be different between channels and use context-fill to allow us to customise the appearance in about:mullvad-browser. We add mullvad-about-wordmark-en.ftl to provide the English text equivalent for the wordmark, to be used by screen readers in about:mullvad-browser. We add mullvad-branding.css to provide branding colors for about:mullvad-browser. We drop firefox-wordmark.svg changes since the asset should be unused in Mullvad Browser now that about:mullvad-browser uses about-wordmark instead. We drop unnecessary rules from branding aboutDialog.css and make sure the dialog is large enough to show the wordmark for alpha and nightly. - - - - - 2146695c by Henry Wilkes at 2025-03-10T11:28:46-06:00 Mullvad Browser strings This commit adds strings needed by the following Mullvad Browser patches. - - - - - 92aca1bb by Henry Wilkes at 2025-03-10T11:28:46-06:00 fixup! Mullvad Browser strings MB 312: Drop mullvad-browser string which has been replaced with mullvad-about-wordmark-en. - - - - - 7e934a44 by Pier Angelo Vendrame at 2025-03-10T11:28:47-06:00 MB 20: Allow packaged-addons in PBM. We install a few addons from the distribution directory, but they are not automatically enabled for PBM mode. This commit modifies the code that installs them to also add the PBM permission to the known ones. - - - - - 01d964a1 by Pier Angelo Vendrame at 2025-03-10T11:28:47-06:00 MB 63: Customize some about pages for Mullvad Browser Also: mullvad-browser#57: Purge unneeded about: pages - - - - - f2941bc2 by Pier Angelo Vendrame at 2025-03-10T11:28:47-06:00 MB 37: Customization for the about dialog - - - - - ed70935d by Henry Wilkes at 2025-03-10T11:28:48-06:00 MB 39: Add home page about:mullvad-browser - - - - - c4281e50 by Henry Wilkes at 2025-03-10T11:28:48-06:00 fixup! MB 39: Add home page about:mullvad-browser MB 312: Update the home page for different release channels. We use about-wordmark.svg instead of firefox-wordmark.svg. We use the colors from the mullvad-branding.css sheet to colour the background, link text and outline colors. We now properly support contrast themes, where we do not apply the branding colors. We tweak the sizing and spacing. We switch from XHTML to HTML. We consistently use kebab case for the DOM IDs, rather than camel case. We drop the Open Sans font. - - - - - d69b0130 by hackademix at 2025-03-10T11:28:48-06:00 MB 97: Remove UI cues to install new extensions. - - - - - eaa55b51 by hackademix at 2025-03-10T11:28:49-06:00 MB 47: uBlock Origin customization - - - - - 513327cd by Pier Angelo Vendrame at 2025-03-10T11:42:27-06:00 MB 21: Disable the password manager This commit disables the about:login page and removes the "Login and Password" section of about:preferences. We do not do anything to the real password manager of Firefox, that is in toolkit: it contains C++ parts that make it difficult to actually prevent it from being built.. Finally, we modify the the function that opens about:login to report an error in the console so that we can quickly get a backtrace to the code that tries to use it. - - - - - 99874c27 by Pier Angelo Vendrame at 2025-03-10T11:42:48-06:00 MB 112: Updater customization for Mullvad Browser MB 71: Set the updater base URL to Mullvad domain - - - - - 7cf7ac7a by Nicolas Vigier at 2025-03-10T11:42:49-06:00 MB 79: Add Mullvad Browser MAR signing keys MB 256: Add mullvad-browser nightly mar signing key - - - - - f6b6ec48 by Pier Angelo Vendrame at 2025-03-10T11:42:49-06:00 MB 34: Hide unsafe and unwanted preferences UI about:preferences allow to override some of our defaults, that could be fingeprintable or have some other unwanted consequences. - - - - - ee933853 by Pier Angelo Vendrame at 2025-03-10T11:42:49-06:00 MB 160: Disable the cookie exceptions button Besides disabling the "Delete on close checkbox", disable also the "Manage Exceptions" button when always using PBM. - - - - - 2d43c87a by hackademix at 2025-03-10T11:42:50-06:00 MB 163: prevent uBlock Origin from being uninstalled/disabled - - - - - 3c0517b6 by Richard Pospesel at 2025-03-10T11:42:50-06:00 MB 188: Customize Gitlab Issue and Merge templates - - - - - dfeb2818 by Morgan at 2025-03-10T11:42:50-06:00 fixup! MB 188: Customize Gitlab Issue and Merge templates add rebase template for rapid channel - - - - - 4091dbf3 by Morgan at 2025-03-10T11:42:50-06:00 fixup! MB 188: Customize Gitlab Issue and Merge templates tweak backport temlpate for mullvad-browser - - - - - a6bd37e9 by Morgan at 2025-03-10T11:42:51-06:00 fixup! MB 188: Customize Gitlab Issue and Merge templates add /label Apps::Type::Rebase to rebase issue template - - - - - ce6498b8 by Morgan at 2025-03-10T11:42:51-06:00 fixup! MB 188: Customize Gitlab Issue and Merge templates add backport template and tweak the uplift template - - - - - 43978767 by hackademix at 2025-03-10T11:42:51-06:00 fixup! MB 188: Customize Gitlab Issue and Merge templates TBB 41382: Replace gitlab templates ReleasePrep label references with Apps::Type::ReleasePreparation - - - - - e6ee15dc by rui hildt at 2025-03-10T11:42:52-06:00 MB 213: Customize the search engines list MB 328: Refactor the search engine patch. Upstream switched to a completely different search engine configuration between ESR 115 and ESR 128. We moved our configuration to a couple of JSON files that do not follow upstream's schemas, as they are overcomplicated for our needs. Also, we keep the old search engine extensions for now, as upstream also kept them, and planned of removing them with Bug 1885953. - - - - - ff0fe851 by Pier Angelo Vendrame at 2025-03-10T11:42:52-06:00 fixup! MB 213: Customize the search engines list MB 395: Make Leta the default search engine. - - - - - 0cd3a258 by hackademix at 2025-03-10T11:42:52-06:00 MB 214: Enable cross-tab identity leak protection in "quiet" mode - - - - - c337a046 by Pier Angelo Vendrame at 2025-03-10T11:42:53-06:00 MB 80: Enable Mullvad Browser as a default browser - - - - - 42f31630 by Pier Angelo Vendrame at 2025-03-10T11:42:53-06:00 MB 320: Temporarily disable WebRTC and WDBA on Windows. WebRTC should be re-enabled when tor-browser#42758 is resolved, and and the default browser agent when in general we make this feature work again. - - - - - 0e5b089a by Henry Wilkes at 2025-03-10T11:42:53-06:00 MB 329: Customize toolbar for mullvad-browser. - - - - - 80367e1e by Henry Wilkes at 2025-03-10T11:42:53-06:00 Add CI for Mullvad Browser - - - - - a5d58219 by Kershaw Chang at 2025-03-10T11:42:54-06:00 Bug 1910593 - Don't prefetch HTTPS RR if proxyDNS is enabled, r=necko-reviewers,valentin Differential Revision: https://phabricator.services.mozilla.com/D219528 - - - - - 275 changed files: - .gitlab/ci/jobs/update-translations.yml - .gitlab/issue_templates/Backport.md - .gitlab/issue_templates/Emergency Security Issue.md - + .gitlab/issue_templates/Rebase Browser - Alpha.md - + .gitlab/issue_templates/Rebase Browser - Rapid.md - + .gitlab/issue_templates/Rebase Browser - Stable.md - .gitlab/merge_request_templates/default.md - browser/app/Makefile.in - browser/app/macbuild/Contents/Info.plist.in - browser/app/module.ver - browser/app/firefox.exe.manifest → browser/app/mullvadbrowser.exe.manifest - + browser/app/profile/000-mullvad-browser.js - browser/app/profile/001-base-profile.js - browser/base/content/aboutDialog.xhtml - browser/base/content/appmenu-viewcache.inc.xhtml - browser/base/content/browser-menubar.inc - browser/base/content/browser-places.js - browser/base/content/browser.js - browser/base/content/default-bookmarks.html - browser/base/content/nsContextMenu.js - browser/base/content/overrides/app-license.html - browser/base/content/pageinfo/pageInfo.xhtml - browser/base/content/utilityOverlay.js - browser/branding/branding-common.mozbuild - + browser/branding/mb-alpha/VisualElements_150.png - + browser/branding/mb-alpha/VisualElements_70.png - + browser/branding/mb-alpha/configure.sh - + browser/branding/mb-alpha/content/about-logo.png - + browser/branding/mb-alpha/content/about-logo.svg - + browser/branding/mb-alpha/content/about-logo(a)2x.png - + browser/branding/mb-alpha/content/about-wordmark.svg - + browser/branding/mb-alpha/content/about.png - + browser/branding/mb-alpha/content/aboutDialog.css - + browser/branding/mb-alpha/content/firefox-wordmark.svg - + browser/branding/mb-alpha/content/icon128.png - + browser/branding/mb-alpha/content/icon16.png - + browser/branding/mb-alpha/content/icon256.png - + browser/branding/mb-alpha/content/icon32.png - + browser/branding/mb-alpha/content/icon48.png - + browser/branding/mb-alpha/content/icon64.png - + browser/branding/mb-alpha/content/jar.mn - + browser/branding/mb-alpha/content/moz.build - + browser/branding/mb-alpha/content/mullvad-branding.css - + browser/branding/mb-alpha/default128.png - + browser/branding/mb-alpha/default16.png - + browser/branding/mb-alpha/default22.png - + browser/branding/mb-alpha/default24.png - + browser/branding/mb-alpha/default256.png - + browser/branding/mb-alpha/default32.png - + browser/branding/mb-alpha/default48.png - + browser/branding/mb-alpha/default64.png - + browser/branding/mb-alpha/document.icns - + browser/branding/mb-alpha/document.ico - + browser/branding/mb-alpha/document_pdf.ico - + browser/branding/mb-alpha/firefox.icns - + browser/branding/mb-alpha/firefox.ico - + browser/branding/mb-alpha/firefox.svg - + browser/branding/mb-alpha/locales/en-US/brand.ftl - + browser/branding/mb-alpha/locales/en-US/brand.properties - + browser/branding/mb-alpha/locales/jar.mn - + browser/branding/mb-alpha/locales/moz.build - + browser/branding/mb-alpha/locales/mullvad-about-wordmark-en.ftl - + browser/branding/mb-alpha/moz.build - + browser/branding/mb-alpha/mullvadbrowser.VisualElementsManifest.xml - + browser/branding/mb-alpha/newtab.ico - + browser/branding/mb-alpha/newwindow.ico - + browser/branding/mb-alpha/pbmode.ico - + browser/branding/mb-alpha/pref/firefox-branding.js - + browser/branding/mb-nightly/VisualElements_150.png - + browser/branding/mb-nightly/VisualElements_70.png - + browser/branding/mb-nightly/configure.sh - + browser/branding/mb-nightly/content/about-logo.png - + browser/branding/mb-nightly/content/about-logo.svg - + browser/branding/mb-nightly/content/about-logo(a)2x.png - + browser/branding/mb-nightly/content/about-wordmark.svg - + browser/branding/mb-nightly/content/about.png - + browser/branding/mb-nightly/content/aboutDialog.css - + browser/branding/mb-nightly/content/firefox-wordmark.svg - + browser/branding/mb-nightly/content/icon128.png - + browser/branding/mb-nightly/content/icon16.png - + browser/branding/mb-nightly/content/icon256.png - + browser/branding/mb-nightly/content/icon32.png - + browser/branding/mb-nightly/content/icon48.png - + browser/branding/mb-nightly/content/icon64.png - + browser/branding/mb-nightly/content/jar.mn - + browser/branding/mb-nightly/content/moz.build - + browser/branding/mb-nightly/content/mullvad-branding.css - + browser/branding/mb-nightly/default128.png - + browser/branding/mb-nightly/default16.png - + browser/branding/mb-nightly/default22.png - + browser/branding/mb-nightly/default24.png - + browser/branding/mb-nightly/default256.png - + browser/branding/mb-nightly/default32.png - + browser/branding/mb-nightly/default48.png - + browser/branding/mb-nightly/default64.png - + browser/branding/mb-nightly/document.icns - + browser/branding/mb-nightly/document.ico - + browser/branding/mb-nightly/document_pdf.ico - + browser/branding/mb-nightly/firefox.icns - + browser/branding/mb-nightly/firefox.ico - + browser/branding/mb-nightly/firefox.svg - + browser/branding/mb-nightly/locales/en-US/brand.ftl - + browser/branding/mb-nightly/locales/en-US/brand.properties - + browser/branding/mb-nightly/locales/jar.mn - + browser/branding/mb-nightly/locales/moz.build - + browser/branding/mb-nightly/locales/mullvad-about-wordmark-en.ftl - + browser/branding/mb-nightly/moz.build - + browser/branding/mb-nightly/mullvadbrowser.VisualElementsManifest.xml - + browser/branding/mb-nightly/newtab.ico - + browser/branding/mb-nightly/newwindow.ico - + browser/branding/mb-nightly/pbmode.ico - + browser/branding/mb-nightly/pref/firefox-branding.js - + browser/branding/mb-release/VisualElements_150.png - + browser/branding/mb-release/VisualElements_70.png - + browser/branding/mb-release/configure.sh - + browser/branding/mb-release/content/about-logo.png - + browser/branding/mb-release/content/about-logo.svg - + browser/branding/mb-release/content/about-logo(a)2x.png - + browser/branding/mb-release/content/about-wordmark.svg - + browser/branding/mb-release/content/about.png - + browser/branding/mb-release/content/aboutDialog.css - + browser/branding/mb-release/content/firefox-wordmark.svg - + browser/branding/mb-release/content/icon128.png - + browser/branding/mb-release/content/icon16.png - + browser/branding/mb-release/content/icon256.png - + browser/branding/mb-release/content/icon32.png - + browser/branding/mb-release/content/icon48.png - + browser/branding/mb-release/content/icon64.png - + browser/branding/mb-release/content/jar.mn - + browser/branding/mb-release/content/moz.build - + browser/branding/mb-release/content/mullvad-branding.css - + browser/branding/mb-release/default128.png - + browser/branding/mb-release/default16.png - + browser/branding/mb-release/default22.png - + browser/branding/mb-release/default24.png - + browser/branding/mb-release/default256.png - + browser/branding/mb-release/default32.png - + browser/branding/mb-release/default48.png - + browser/branding/mb-release/default64.png - + browser/branding/mb-release/document.icns - + browser/branding/mb-release/document.ico - + browser/branding/mb-release/document_pdf.ico - + browser/branding/mb-release/firefox.icns - + browser/branding/mb-release/firefox.ico - + browser/branding/mb-release/firefox.svg - + browser/branding/mb-release/locales/en-US/brand.ftl - + browser/branding/mb-release/locales/en-US/brand.properties - + browser/branding/mb-release/locales/jar.mn - + browser/branding/mb-release/locales/moz.build - + browser/branding/mb-release/locales/mullvad-about-wordmark-en.ftl - + browser/branding/mb-release/moz.build - + browser/branding/mb-release/mullvadbrowser.VisualElementsManifest.xml - + browser/branding/mb-release/newtab.ico - + browser/branding/mb-release/newwindow.ico - + browser/branding/mb-release/pbmode.ico - + browser/branding/mb-release/pref/firefox-branding.js - browser/components/BrowserContentHandler.sys.mjs - browser/components/BrowserGlue.sys.mjs - browser/components/about/AboutRedirector.cpp - browser/components/about/components.conf - browser/components/customizableui/CustomizableUI.sys.mjs - browser/components/moz.build - + browser/components/mullvad-browser/AboutMullvadBrowserChild.sys.mjs - + browser/components/mullvad-browser/AboutMullvadBrowserParent.sys.mjs - + browser/components/mullvad-browser/content/2728-sparkles.svg - + browser/components/mullvad-browser/content/aboutMullvadBrowser.css - + browser/components/mullvad-browser/content/aboutMullvadBrowser.html - + browser/components/mullvad-browser/content/aboutMullvadBrowser.js - + browser/components/mullvad-browser/jar.mn - + browser/components/mullvad-browser/moz.build - browser/components/newtab/AboutNewTabService.sys.mjs - browser/components/preferences/home.inc.xhtml - browser/components/preferences/main.js - browser/components/preferences/preferences.xhtml - browser/components/preferences/privacy.inc.xhtml - browser/components/preferences/privacy.js - browser/components/preferences/search.inc.xhtml - + browser/components/search/extensions/brave/favicon.svg - + browser/components/search/extensions/brave/manifest.json - + browser/components/search/extensions/ddg-html/favicon.ico - + browser/components/search/extensions/ddg-html/manifest.json - browser/components/search/extensions/ddg/manifest.json - + browser/components/search/extensions/metager/favicon.ico - + browser/components/search/extensions/metager/manifest.json - + browser/components/search/extensions/mojeek/favicon.ico - + browser/components/search/extensions/mojeek/manifest.json - + browser/components/search/extensions/mullvad-leta/favicon.svg - + browser/components/search/extensions/mullvad-leta/manifest.json - + browser/components/search/extensions/startpage/favicon.png - + browser/components/search/extensions/startpage/manifest.json - browser/components/shell/ShellService.sys.mjs - browser/components/shell/WindowsDefaultBrowser.cpp - browser/components/shell/nsWindowsShellService.cpp - browser/config/mozconfigs/base-browser - + browser/config/mozconfigs/mullvad-browser - browser/confvars.sh - browser/installer/package-manifest.in - browser/installer/windows/nsis/updater_append.ini - browser/modules/HomePage.sys.mjs - browser/moz.build - config/create_rc.py - devtools/client/aboutdebugging/src/actions/runtimes.js - devtools/client/aboutdebugging/src/components/sidebar/Sidebar.js - devtools/client/jar.mn - devtools/client/themes/images/aboutdebugging-firefox-aurora.svg - devtools/client/themes/images/aboutdebugging-firefox-beta.svg - devtools/client/themes/images/aboutdebugging-firefox-logo.svg - devtools/client/themes/images/aboutdebugging-firefox-nightly.svg - devtools/client/themes/images/aboutdebugging-firefox-release.svg - + devtools/client/themes/images/aboutdebugging-mullvadbrowser-logo.svg - docshell/base/nsAboutRedirector.cpp - docshell/build/components.conf - dom/chrome-webidl/NetDashboard.webidl - moz.configure - mozconfig-linux-aarch64 - mozconfig-linux-aarch64-dev - mozconfig-linux-x86_64 - mozconfig-linux-x86_64-asan - mozconfig-linux-x86_64-dev - mozconfig-macos - mozconfig-macos-dev - mozconfig-windows-x86_64 - netwerk/base/Dashboard.cpp - netwerk/base/DashboardTypes.h - netwerk/dns/nsHostResolver.cpp - netwerk/protocol/http/nsHttp.cpp - netwerk/protocol/http/nsHttp.h - netwerk/protocol/http/nsHttpChannel.cpp - netwerk/protocol/http/nsHttpChannel.h - netwerk/protocol/http/nsHttpConnectionInfo.h - netwerk/protocol/http/nsHttpConnectionMgr.cpp - netwerk/protocol/http/nsHttpHandler.cpp - netwerk/protocol/http/nsHttpHandler.h - + netwerk/test/unit/test_proxyDNS_leak.js - netwerk/test/unit/xpcshell.toml - + other-licenses/nsis/Contrib/ApplicationID/Makefile - + other-licenses/nsis/Contrib/CityHash/Makefile - toolkit/components/extensions/child/ext-storage.js - toolkit/components/extensions/parent/ext-storage.js - toolkit/components/passwordmgr/LoginHelper.sys.mjs - toolkit/components/search/AppProvidedSearchEngine.sys.mjs - toolkit/components/search/SearchService.sys.mjs - + toolkit/components/search/content/brave.svg - + toolkit/components/search/content/duckduckgo.ico - + toolkit/components/search/content/metager.ico - + toolkit/components/search/content/mojeek.ico - + toolkit/components/search/content/mullvad-leta.svg - + toolkit/components/search/content/mullvadBrowserSearchEngineIcons.json - + toolkit/components/search/content/mullvadBrowserSearchEngines.json - + toolkit/components/search/content/startpage.png - + toolkit/components/search/jar.mn - toolkit/components/search/moz.build - toolkit/components/securitylevel/SecurityLevel.sys.mjs - toolkit/content/aboutNetworking.js - + toolkit/content/aboutRightsMullvad.xhtml - + toolkit/content/aboutTelemetryMullvad.xhtml - toolkit/content/jar.mn - toolkit/content/widgets/moz-support-link/moz-support-link.mjs - + toolkit/locales/en-US/toolkit/global/mullvad-browser.ftl - toolkit/mozapps/defaultagent/EventLog.h - toolkit/mozapps/defaultagent/SetDefaultBrowser.cpp - toolkit/mozapps/extensions/AddonManager.sys.mjs - toolkit/mozapps/extensions/content/aboutaddons.css - toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs - toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs - toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der - toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der - toolkit/mozapps/update/updater/release_primary.der - toolkit/mozapps/update/updater/release_secondary.der - + toolkit/themes/shared/icons/mullvadbrowser.png - toolkit/themes/shared/minimal-toolkit.jar.inc.mn - toolkit/xre/nsAppRunner.cpp - tools/lint/fluent-lint/exclusions.yml - widget/windows/WinTaskbar.cpp - widget/windows/moz.build The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/2a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/2a… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41389: Always generate and load set-config.generated-config
by morgan (@morgan) 11 Mar '25

11 Mar '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 4c29020e by Nicolas Vigier at 2025-03-10T13:44:39+01:00 Bug 41389: Always generate and load set-config.generated-config - - - - - 810e8e20 by Nicolas Vigier at 2025-03-10T13:44:39+01:00 Bug 41389: Remove set-config.tbb-version The signing script will now get the version information from rbm config. - - - - - 12 changed files: - .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md - .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md - tools/signing/dmg2mar - tools/signing/functions - tools/signing/linux-signer-authenticode-signing - tools/signing/linux-signer-gpg-sign - tools/signing/linux-signer-rcodesign-sign - tools/signing/linux-signer-sign-android-apks - tools/signing/linux-signer-signmars - tools/signing/set-config - − tools/signing/set-config.tbb-version - tools/signing/upload-update_responses-to-staticiforme Changes: ===================================== .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md ===================================== @@ -137,7 +137,7 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch - pierov - [ ] Ensure all builders have matching builds - [ ] On `${STAGING_SERVER}`, ensure updated: - - **NOTE** Having a local git branch with `main` as the upstream branch with these values saved means you only need to periodically `git pull --rebase` and update the `set-config.tbb-version` file + - **NOTE** Having a local git branch with `main` as the upstream branch with these values saved means you only need to periodically `git pull --rebase` - [ ] `tor-browser-build` is on the right commit: `git tag -v mb-${MULLVAD_BROWSER_VERSION}-${MULLVAD_BROWSER_BUILD_N} && git checkout mb-${MULLVAD_BROWSER_VERSION}-${MULLVAD_BROWSER_BUILD_N}` - [ ] `tor-browser-build/tools/signing/set-config.hosts` - `ssh_host_builder`: ssh hostname of machine with unsigned builds @@ -147,10 +147,6 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch - `appstoreconnect_api_key_path`: path to json file containing appstoreconnect api key infos - [ ] `set-config.update-responses` - `update_responses_repository_dir`: directory where you cloned `git@gitlab.torproject.org:tpo/applications/mullvad-browser-update-responses.git` - - [ ] `tor-browser-build/tools/signing/set-config.tbb-version` - - `tbb_version`: mullvad browser version string, same as `var/torbrowser_version` in `rbm.conf` (examples: `11.5a12`, `11.0.13`) - - `tbb_version_build`: the tor-browser-build build number (if `var/torbrowser_build` in `rbm.conf` is `buildN` then this value is `N`) - - `tbb_version_type`: either `alpha` for alpha releases or `release` for stable releases - [ ] On `${STAGING_SERVER}` in a separate `screen` session, ensure tor daemon is running with SOCKS5 proxy on the default port 9050 - [ ] On `${STAGING_SERVER}` in a separate `screen` session, run do-all-signing script: - Run: ===================================== .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md ===================================== @@ -192,7 +192,7 @@ Tor Browser Alpha (and Nightly) are on the `main` branch - pierov - [ ] Ensure all builders have matching builds - [ ] On `${STAGING_SERVER}`, ensure updated: - - **NOTE** Having a local git branch with `main` as the upstream branch with these values saved means you only need to periodically `git pull --rebase` and update the `set-config.tbb-version` file + - **NOTE** Having a local git branch with `main` as the upstream branch with these values saved means you only need to periodically `git pull --rebase` - [ ] `tor-browser-build` is on the right commit: `git tag -v tbb-${TOR_BROWSER_VERSION}-${TOR_BROWSER_BUILD_N} && git checkout tbb-${TOR_BROWSER_VERSION}-${TOR_BROWSER_BUILD_N}` - [ ] `tor-browser-build/tools/signing/set-config.hosts` - `ssh_host_builder`: ssh hostname of machine with unsigned builds @@ -202,10 +202,6 @@ Tor Browser Alpha (and Nightly) are on the `main` branch - `appstoreconnect_api_key_path`: path to json file containing appstoreconnect api key infos - [ ] `set-config.update-responses` - `update_responses_repository_dir`: directory where you cloned `git@gitlab.torproject.org:tpo/applications/tor-browser-update-responses.git` - - [ ] `tor-browser-build/tools/signing/set-config.tbb-version` - - `tbb_version`: tor browser version string, same as `var/torbrowser_version` in `rbm.conf` (examples: `11.5a12`, `11.0.13`) - - `tbb_version_build`: the tor-browser-build build number (if `var/torbrowser_build` in `rbm.conf` is `buildN` then this value is `N`) - - `tbb_version_type`: either `alpha` for alpha releases or `release` for stable releases - [ ] On `${STAGING_SERVER}` in a separate `screen` session, ensure tor daemon is running with SOCKS5 proxy on the default port 9050 - [ ] On `${STAGING_SERVER}` in a separate `screen` session, run do-all-signing script: - Run: ===================================== tools/signing/dmg2mar ===================================== @@ -13,10 +13,6 @@ cd "$script_dir/../.." # some initial checks to make sure directories and file counts are as expected... -version=$(./rbm/rbm showconf browser --target alpha --target $SIGNING_PROJECTNAME-linux-x86_64 var/torbrowser_version) -test "$version" = "$tbb_version" || \ - exit_error "Incorrect tor browser version: $version != $tbb_version" - test -d "$signed_version_dir" || \ exit_error "$signed_version_dir does not exist" ===================================== tools/signing/functions ===================================== @@ -13,12 +13,6 @@ function var_is_defined { done } -function check_torbrowser_version_var { - local tbver=$("$script_dir/../../rbm/rbm" showconf browser --target "$SIGNING_PROJECTNAME" var/torbrowser_version) - test "$tbver" != "$tbb_version" && exit_error "Wrong tbb_version: $tbver != $tbb_version" - return 0 -} - function check_update_responses_repository_dir { if test -z "$update_responses_repository_dir" || ! test -d "$update_responses_repository_dir" then @@ -36,44 +30,43 @@ function is_project { } function generate_config { - p1=$("$rbm" showconf browser var/project-name --target "$SIGNING_PROJECTNAME") - p2=$("$rbm" showconf browser var/Project_Name --target "$SIGNING_PROJECTNAME") - p3=$("$rbm" showconf browser var/ProjectName --target "$SIGNING_PROJECTNAME") - p4=$("$rbm" showconf browser var/display_name --target "$SIGNING_PROJECTNAME" --target "$tbb_version_type") - echo 'rbm_not_available=1' > "$script_dir/set-config.generated-config" - echo "SIGNING_PROJECTNAMES=(\"$p1\" \"$p2\" \"$p3\" \"$p4\")" >> "$script_dir/set-config.generated-config" + local p1=$("$rbm" showconf browser var/project-name --target \ + "$SIGNING_PROJECTNAME") + local p2=$("$rbm" showconf browser var/Project_Name --target \ + "$SIGNING_PROJECTNAME") + local p3=$("$rbm" showconf browser var/ProjectName --target \ + "$SIGNING_PROJECTNAME") + p4=$("$rbm" showconf browser var/display_name --target \ + "$SIGNING_PROJECTNAME" --target "$tbb_version_type") + echo "SIGNING_PROJECTNAMES=(\"$p1\" \"$p2\" \"$p3\" \"$p4\")" > \ + "$script_dir/set-config.generated-config" + local tbb_version_type=$("$rbm" showconf browser \ var/browser_default_channel \ + --target "$SIGNING_PROJECTNAME") + local tbb_version=$("$rbm" showconf browser var/torbrowser_version \ + --target "$SIGNING_PROJECTNAME" --target \ + "$tbb_version_type") + local tbb_version_build=$("$rbm" showconf browser var/torbrowser_build \ + --target "$SIGNING_PROJECTNAME" --target \ + "$tbb_version_type") + for v in tbb_version_type tbb_version tbb_version_build; do + echo "$v=$(shell-quote "${!v}")" >> "$script_dir/set-config.generated-config" + done } function project-name { - if test -n "${rbm_not_available+x}"; then - echo "${SIGNING_PROJECTNAMES[0]}" - else - "$rbm" showconf browser var/project-name --target "$SIGNING_PROJECTNAME" - fi + echo "${SIGNING_PROJECTNAMES[0]}" } function Project_Name { - if test -n "${rbm_not_available+x}"; then - echo "${SIGNING_PROJECTNAMES[1]}" - else - "$rbm" showconf browser var/Project_Name --target "$SIGNING_PROJECTNAME" - fi + echo "${SIGNING_PROJECTNAMES[1]}" } function ProjectName { - if test -n "${rbm_not_available+x}"; then - echo "${SIGNING_PROJECTNAMES[2]}" - else - "$rbm" showconf browser var/ProjectName --target "$SIGNING_PROJECTNAME" - fi + echo "${SIGNING_PROJECTNAMES[2]}" } function display_name { - if test -n "${rbm_not_available+x}"; then - echo "${SIGNING_PROJECTNAMES[3]}" - else - "$rbm" showconf browser var/display_name --target "$SIGNING_PROJECTNAME" --target "$tbb_version_type" - fi + echo "${SIGNING_PROJECTNAMES[3]}" } ===================================== tools/signing/linux-signer-authenticode-signing ===================================== @@ -1,6 +1,7 @@ #!/bin/bash set -e +no_generate_config=1 script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) source "$script_dir/functions" ===================================== tools/signing/linux-signer-gpg-sign ===================================== @@ -1,6 +1,7 @@ #!/bin/bash set -e +no_generate_config=1 script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) source "$script_dir/functions" ===================================== tools/signing/linux-signer-rcodesign-sign ===================================== @@ -1,9 +1,9 @@ #!/bin/bash set -e +no_generate_config=1 script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) source "$script_dir/functions" -source "$script_dir/set-config.generated-config" # tbb_version_type is used in wrappers/sign-rcodesign, so we export it export tbb_version_type ===================================== tools/signing/linux-signer-sign-android-apks ===================================== @@ -1,9 +1,9 @@ #!/bin/bash set -e +no_generate_config=1 script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) source "$script_dir/functions" -source "$script_dir/set-config.generated-config" topdir="$script_dir/../.." ARCHS="armv7 aarch64 x86 x86_64" ===================================== tools/signing/linux-signer-signmars ===================================== @@ -3,6 +3,7 @@ set -e set -u +no_generate_config=1 script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) source "$script_dir/functions" ===================================== tools/signing/set-config ===================================== @@ -20,9 +20,11 @@ test "$SIGNING_PROJECTNAME" = 'torbrowser' \ export SIGNING_PROJECTNAME -test -z "${rbm_not_available+x}" && rbm="$script_dir/../../rbm/rbm" +rbm="$script_dir/../../rbm/rbm" -. "$script_dir/set-config.tbb-version" +test -z "$no_generate_config" && generate_config +. "$script_dir/set-config.generated-config" +export no_generate_config=1 test "$tbb_version_type" = 'release' \ || test "$tbb_version_type" = 'alpha' \ ===================================== tools/signing/set-config.tbb-version deleted ===================================== @@ -1,7 +0,0 @@ -# The following 3 lines should be uncommented and updated: - -#tbb_version=11.5a4 -#tbb_version_build=1 -#tbb_version_type=alpha - -var_is_defined tbb_version tbb_version_build tbb_version_type ===================================== tools/signing/upload-update_responses-to-staticiforme ===================================== @@ -4,8 +4,6 @@ script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) source "$script_dir/functions" source "$script_dir/set-config.update-responses" -check_torbrowser_version_var - update_responses_tar_filename="update-responses-$tbb_version_type-$tbb_version.tar" update_responses_tar="$script_dir/../../$SIGNING_PROJECTNAME/$tbb_version_type/update-responses/$update_responses_tar_filename" test -f "$update_responses_tar" && \ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser
by Dan Ballard (@dan) 10 Mar '25

10 Mar '25
Dan Ballard pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: d2b56be1 by clairehurst at 2025-03-10T19:25:21+00:00 fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser Update android-env-macos-template.sh - - - - - 1 changed file: - tools/geckoview/android-env-macos-template.sh Changes: ===================================== tools/geckoview/android-env-macos-template.sh ===================================== @@ -1,6 +1,8 @@ -export JAVA_HOME=/opt/homebrew/opt/openjdk(a)11/libexec/openjdk.jdk/Contents/Home/ # for arm64. Or JAVA_HOME=/usr/local/opt/openjdk(a)11/libexec/openjdk.jdk/Contents/Home/ for x86_64. +export JAVA_HOME=/opt/homebrew/opt/openjdk(a)17/libexec/openjdk.jdk/Contents/Home/ # for arm64. Or JAVA_HOME=/usr/local/opt/openjdk(a)17/libexec/openjdk.jdk/Contents/Home/ for x86_64. export ANDROID_HOME=$HOME/Library/Android/sdk # or $HOME/.mozbuild/android-sdk-macosx/ -export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/23.2.8568313 # will need to download NDK 23.2.8568313 via android studio -export GRADLE_HOME=/opt/homebrew/Cellar/gradle(a)7/7.6.4 # for arm64 or /usr/local/Cellar/gradle(a)7/7.6.4 for x86_64. Make sure the version is up to date +export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/26.2.11394342 # will need to download the relevant NDK via android studio (e.g. 26.2.11394342) +GRADLE_DIR=/opt/homebrew/Cellar/gradle # for arm64, or /usr/local/Cellar/gradle for x86_64. Download via homebrew. +GRADLE_VERSION=`ls -1 "$GRADLE_DIR" | sort -hr | head -n 1` # Finds the latest gradle version in the specified GRADLE_DIR +export GRADLE_HOME=$GRADLE_DIR/$GRADLE_VERSION export LOCAL_DEV_BUILD=1 -export PATH=$ANDROID_HOME/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/:$PATH # prepend android studios latest ndk to the path so it's clang gets used to build geckoview. NDK 25.2.9519653 uses clang 14.0.7, ideally we'd use clang 16 (to be the same as Linux) but that's not an option yet for android studio. NDK 26.1.10909125 uses clang 17.0.2, which we should evaluate with the esr128 migration +export PATH=$ANDROID_HOME/ndk/26.2.11394342/toolchains/llvm/prebuilt/darwin-x86_64/bin/:$PATH # prepend android studios latest ndk to the path so it's clang gets used to build geckoview. Note that it doesn't need to be the same version as above View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d2b56be… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d2b56be… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! [android] Implement Android-native Connection Assist UI
by Dan Ballard (@dan) 10 Mar '25

10 Mar '25
Dan Ballard pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: d3a9fcd2 by clairehurst at 2025-03-10T10:52:05-06:00 fixup! [android] Implement Android-native Connection Assist UI tor-browser#43480 - - - - - 6 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt - + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapProgressViewModel.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt - + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/UrlQuickLoadViewModel.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt ===================================== @@ -155,7 +155,7 @@ import java.util.Locale import mozilla.components.browser.engine.gecko.GeckoEngine import org.mozilla.fenix.components.FenixSnackbar import org.mozilla.fenix.home.HomeFragment -import org.mozilla.fenix.tor.TorConnectionAssistViewModel +import org.mozilla.fenix.tor.UrlQuickLoadViewModel import org.mozilla.geckoview.TorAndroidIntegration /** @@ -237,7 +237,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn private var dialog: RedirectDialogFragment? = null - private val torConnectionAssistViewModel: TorConnectionAssistViewModel by viewModels() + private val urlQuickLoadViewModel: UrlQuickLoadViewModel by viewModels() @Suppress("ComplexMethod") final override fun onCreate(savedInstanceState: Bundle?) { @@ -1124,7 +1124,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn .setText(getString(R.string.connection_assist_connect_to_tor_before_opening_links)) .setAllCapsForActionButton(false) .setAction(getString(R.string.connection_assist_connect_to_tor_before_opening_links_confirmation)) { - torConnectionAssistViewModel.handleConnect(searchTermOrURL) + urlQuickLoadViewModel.urlToLoadAfterConnecting.value = searchTermOrURL if (navHost.navController.previousBackStackEntry?.destination?.id == R.id.torConnectionAssistFragment) { supportFragmentManager.popBackStack() } else { ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt ===================================== @@ -158,13 +158,14 @@ import org.mozilla.fenix.search.toolbar.SearchSelectorMenu import org.mozilla.fenix.tabstray.Page import org.mozilla.fenix.tabstray.TabsTrayAccessPoint import org.mozilla.fenix.theme.FirefoxTheme -import org.mozilla.fenix.tor.TorConnectionAssistViewModel import org.mozilla.fenix.utils.Settings.Companion.TOP_SITES_PROVIDER_MAX_THRESHOLD import org.mozilla.fenix.utils.allowUndo import org.mozilla.fenix.wallpapers.Wallpaper import java.lang.ref.WeakReference import org.mozilla.fenix.GleanMetrics.TabStrip as TabStripMetrics +import org.mozilla.fenix.tor.UrlQuickLoadViewModel + @Suppress("TooManyFunctions", "LargeClass") class HomeFragment : Fragment(), UserInteractionHandler { private val args by navArgs<HomeFragmentArgs>() @@ -178,7 +179,7 @@ class HomeFragment : Fragment(), UserInteractionHandler { private val binding get() = _binding!! private val homeViewModel: HomeScreenViewModel by activityViewModels() - private val torConnectionAssistViewModel: TorConnectionAssistViewModel by activityViewModels() + private val urlQuickLoadViewModel: UrlQuickLoadViewModel by activityViewModels() private val snackbarAnchorView: View? get() = when (requireContext().settings().toolbarPosition) { @@ -892,14 +893,15 @@ class HomeFragment : Fragment(), UserInteractionHandler { view = view, ) - torConnectionAssistViewModel.urlToLoadAfterConnecting.also { - if(!it.isNullOrBlank()){ + urlQuickLoadViewModel.urlToLoadAfterConnecting.observe(viewLifecycleOwner) { + if (!it.isNullOrBlank()) { (requireActivity() as HomeActivity).openToBrowserAndLoad( searchTermOrURL = it, newTab = true, from = BrowserDirection.FromHome, ) - torConnectionAssistViewModel.urlToLoadAfterConnecting = null // Only load this url once + // Only load this url once + urlQuickLoadViewModel.urlToLoadAfterConnecting.value = null } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapProgressViewModel.kt ===================================== @@ -0,0 +1,44 @@ +package org.mozilla.fenix.tor + +import android.app.Application +import androidx.lifecycle.AndroidViewModel +import androidx.lifecycle.MutableLiveData +import org.mozilla.fenix.ext.components +import org.mozilla.geckoview.TorAndroidIntegration.BootstrapStateChangeListener + +class TorBootstrapProgressViewModel( + application: Application, +) : AndroidViewModel(application), BootstrapStateChangeListener { + + private val torIntegrationAndroid = + application.components.core.geckoRuntime.torIntegrationController + + val progress: MutableLiveData<Int> by lazy { + MutableLiveData<Int>(0) + } + + init { + torIntegrationAndroid.registerBootstrapStateChangeListener(this) + } + + override fun onCleared() { + torIntegrationAndroid.unregisterBootstrapStateChangeListener(this) + super.onCleared() + } + + override fun onBootstrapStateChange(state: String?) {} + + override fun onBootstrapProgress(progress: Double, hasWarnings: Boolean) { + this.progress.value = progress.toInt() + } + + override fun onBootstrapComplete() {} + + override fun onBootstrapError( + code: String?, + message: String?, + phase: String?, + reason: String?, + ) { + } +} ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt ===================================== @@ -35,12 +35,14 @@ import org.mozilla.fenix.ext.hideToolbar class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { private val TAG = "TorConnectionAssistFrag" - private val viewModel: TorConnectionAssistViewModel by activityViewModels() + private val progressViewModel: TorBootstrapProgressViewModel by viewModels() + private val quickstartViewModel: QuickstartViewModel by activityViewModels() + private val torConnectionAssistViewModel : TorConnectionAssistViewModel by viewModels() + private val urlQuickLoadViewModel : UrlQuickLoadViewModel by activityViewModels() + private var _binding: FragmentTorConnectionAssistBinding? = null private val binding get() = _binding!! - private val quickstartViewModel: QuickstartViewModel by activityViewModels() - override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -49,18 +51,23 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { _binding = FragmentTorConnectionAssistBinding.inflate( inflater, container, false, ) + viewLifecycleOwner.lifecycleScope.launch { repeatOnLifecycle(Lifecycle.State.STARTED) { - viewModel.collectLastKnownStatus() + torConnectionAssistViewModel.collectLastKnownStatus() } } - viewLifecycleOwner.lifecycleScope.launch { - repeatOnLifecycle(Lifecycle.State.STARTED) { - viewModel.torConnectScreen.collect { screen -> - Log.d(TAG, "torConnectScreen is $screen") - showScreen(screen) - } + torConnectionAssistViewModel.shouldOpenHome.observe(viewLifecycleOwner) { + Log.d(TAG, "shouldOpenHome = $it") + if (it) { + openHome() + } + } + + urlQuickLoadViewModel.urlToLoadAfterConnecting.observe(viewLifecycleOwner) { url -> + if (!url.isNullOrBlank()) { + torConnectionAssistViewModel.handleConnect() } } @@ -75,10 +82,13 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.progress().observe( - viewLifecycleOwner, - ) { progress -> - setProgressBarCompat(progress) + viewLifecycleOwner.lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.STARTED) { + torConnectionAssistViewModel.torConnectScreen.collect { screen -> + Log.d(TAG, "torConnectScreen is $screen") + showScreen(screen) + } + } } quickstartViewModel.quickstart().observe( @@ -87,13 +97,10 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { binding.quickstartSwitch.isChecked = it } - viewModel.shouldOpenHome().observe( + progressViewModel.progress.observe( viewLifecycleOwner, - ) { - Log.d(TAG, "shouldOpenHome() = $it") - if (it) { - openHome() - } + ) { progress -> + setProgressBarCompat(progress) } } @@ -142,7 +149,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { private fun setBackButton(screen: ConnectAssistUiState) { binding.backButton.visibility = if (screen.backButtonVisible) View.VISIBLE else View.INVISIBLE binding.backButton.setOnClickListener { - viewModel.handleBackButtonPressed() + torConnectionAssistViewModel.handleBackButtonPressed() } } @@ -204,10 +211,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { if (screen.torBootstrapButton1Visible) View.VISIBLE else View.GONE binding.torBootstrapButton1.text = getString(screen.torBootstrapButton1TextStringResource) binding.torBootstrapButton1.setOnClickListener { - viewModel.handleButton1Pressed( - screen, - lifecycleScope, - ) + torConnectionAssistViewModel.handleConnect() } } @@ -231,7 +235,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { } } binding.torBootstrapButton2.setOnClickListener { - viewModel.cancelTorBootstrap() + torConnectionAssistViewModel.cancelTorBootstrap() if (screen.torBootstrapButton2ShouldOpenSettings) { openTorConnectionSettings() } else if (screen.torBootstrapButton2ShouldRestartApp) { @@ -279,7 +283,9 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { private fun openHome() { Log.d(TAG, "openHome()") - viewModel.openHome(findNavController()) + findNavController().navigate( + TorConnectionAssistFragmentDirections.actionHome(), + ) } private fun openSettings(preferenceToScrollTo: String? = null) { @@ -308,7 +314,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { } override fun onBackPressed(): Boolean { - return viewModel.handleBackButtonPressed() + return torConnectionAssistViewModel.handleBackButtonPressed() } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt ===================================== @@ -7,91 +7,42 @@ package org.mozilla.fenix.tor import android.app.Application import android.util.Log import androidx.lifecycle.AndroidViewModel -import androidx.lifecycle.LifecycleCoroutineScope -import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData -import androidx.navigation.NavController import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import org.mozilla.fenix.ext.components class TorConnectionAssistViewModel( application: Application, -) : AndroidViewModel(application), TorEvents { +) : AndroidViewModel(application) { private val TAG = "torConnectionAssistVM" - private val components = getApplication<Application>().components - - private val _torController: TorControllerGV = components.torController + private val torIntegrationAndroid = + application.components.core.geckoRuntime.torIntegrationController + private val _torController: TorControllerGV = application.components.torController private val _torConnectScreen = MutableStateFlow(ConnectAssistUiState.Splash) internal val torConnectScreen: StateFlow<ConnectAssistUiState> = _torConnectScreen - private val _shouldOpenHome = MutableLiveData(false) - fun shouldOpenHome(): LiveData<Boolean> { - return _shouldOpenHome - } - - private val _progress = MutableLiveData(0) - fun progress(): LiveData<Int> { - return _progress - } - - init { - Log.d(TAG, "initiating TorConnectionAssistViewModel $this") - _torController.registerTorListener(this) - } - - var urlToLoadAfterConnecting: String? = null - - fun handleConnect( - urlToLoadAfterConnecting: String? = null, - withDebugLogging: Boolean = false, - lifecycleScope: LifecycleCoroutineScope? = null, - ) { - this.urlToLoadAfterConnecting = urlToLoadAfterConnecting - if (_torController.lastKnownStatus.value.isOff()) { - Log.d(TAG, "handleConnect() triggered, initiatingTorBootstrap") - _torController.initiateTorBootstrap( - withDebugLogging = withDebugLogging, - lifecycleScope = lifecycleScope, - ) - } + val shouldOpenHome: MutableLiveData<Boolean> by lazy { + MutableLiveData(false) } - fun handleButton1Pressed( - screen: ConnectAssistUiState, - lifecycleScope: LifecycleCoroutineScope?, - ) { - if (screen.torBootstrapButton1ShouldShowTryingABridge) { + fun handleConnect() { + if (_torConnectScreen.value.torBootstrapButton1ShouldShowTryingABridge) { tryABridge() } else { - handleConnect(lifecycleScope = lifecycleScope) + if (_torController.lastKnownStatus.value.isOff()) { + torIntegrationAndroid.beginBootstrap() + } } } fun cancelTorBootstrap() { - _torController.stopTor() + torIntegrationAndroid.cancelBootstrap() _torController.setTorStopped() } - override fun onTorConnecting() { - Log.d(TAG, "onTorConnecting()") - } - - override fun onTorConnected() { - Log.d(TAG, "onTorConnected()") - _torController.unregisterTorListener(this) - } - - override fun onTorStatusUpdate(entry: String?, status: String?, progress: Double?) { - Log.d(TAG, "onTorStatusUpdate($entry, $status, $progress)") - if (progress != null) { - _progress.value = progress.toInt() - } - - } - suspend fun collectLastKnownStatus() { _torController.lastKnownStatus.collect { when (it) { @@ -99,8 +50,8 @@ class TorConnectionAssistViewModel( TorConnectState.Configuring -> handleConfiguring() TorConnectState.AutoBootstrapping -> handleBootstrap() TorConnectState.Bootstrapping -> handleBootstrap() - TorConnectState.Bootstrapped -> _shouldOpenHome.value = true - TorConnectState.Disabled -> _shouldOpenHome.value = true + TorConnectState.Bootstrapped -> shouldOpenHome.value = true + TorConnectState.Disabled -> shouldOpenHome.value = true TorConnectState.Error -> handleError() } } @@ -145,10 +96,7 @@ class TorConnectionAssistViewModel( } else -> _torConnectScreen.value = - ConnectAssistUiState.Connecting.also { connectAssistUiState -> - // covers the case of when the bootstrap is already in progress when the UiState "catches up" - connectAssistUiState.progress = _progress.value ?: 0 - } + ConnectAssistUiState.Connecting } } @@ -184,10 +132,6 @@ class TorConnectionAssistViewModel( _torConnectScreen.value = ConnectAssistUiState.InternetError } - override fun onTorStopped() { - Log.d(TAG, "onTorStopped()") - } - private fun tryABridge() { if (!locationFound()) { _torConnectScreen.value = ConnectAssistUiState.LocationError @@ -198,7 +142,7 @@ class TorConnectionAssistViewModel( _torController.bridgeTransport = TorBridgeTransportConfig.BUILTIN_SNOWFLAKE // TODO select based on country } - handleConnect(withDebugLogging = true) + torIntegrationAndroid.beginBootstrap() } private fun locationFound(): Boolean { @@ -249,10 +193,4 @@ class TorConnectionAssistViewModel( } return true } - - fun openHome(navController: NavController) { - navController.navigate( - TorConnectionAssistFragmentDirections.actionHome(), - ) - } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/UrlQuickLoadViewModel.kt ===================================== @@ -0,0 +1,10 @@ +package org.mozilla.fenix.tor + +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel + +class UrlQuickLoadViewModel : ViewModel() { + val urlToLoadAfterConnecting: MutableLiveData<String?> by lazy { + MutableLiveData<String?>(null) + } +} View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d3a9fcd… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d3a9fcd… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! [android] Implement Android-native Connection Assist UI
by Dan Ballard (@dan) 10 Mar '25

10 Mar '25
Dan Ballard pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: cbe2d643 by clairehurst at 2025-03-10T15:28:34+00:00 fixup! [android] Implement Android-native Connection Assist UI tor-browser!43408 Add pref to load quickstartUI faster - - - - - 2 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickstartViewModel.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickstartViewModel.kt ===================================== @@ -11,8 +11,9 @@ class QuickstartViewModel( application: Application, ) : AndroidViewModel(application) { + private val components = getApplication<Application>().components private val torIntegrationAndroid = - (getApplication<Application>().components.core.engine as GeckoEngine).getTorIntegrationController() + (components.core.engine as GeckoEngine).getTorIntegrationController() /** * NOTE: Whilst the initial value for _quickstart is fetched from @@ -25,10 +26,11 @@ class QuickstartViewModel( init { torIntegrationAndroid.quickstartGet { _quickstart.value = it + components.settings.quickStart = it } } - private val _quickstart = MutableLiveData<Boolean>() + private val _quickstart = MutableLiveData(components.settings.quickStart) fun quickstart(): LiveData<Boolean> { return _quickstart } @@ -36,6 +38,7 @@ class QuickstartViewModel( fun quickstartSet(value: Boolean) { torIntegrationAndroid.quickstartSet(value) _quickstart.value = value + components.settings.quickStart = value } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt ===================================== @@ -2111,4 +2111,9 @@ class Settings(private val appContext: Context) : PreferencesHolder { appContext.getPreferenceKey(R.string.pref_key_use_html_connection_ui), default = false, ) + + var quickStart by booleanPreference( + appContext.getPreferenceKey(R.string.pref_key_quick_start), + default = false, + ) } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cbe2d64… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cbe2d64… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.8.0esr-14.5-1] 4 commits: Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo
by Pier Angelo Vendrame (@pierov) 10 Mar '25

10 Mar '25
Pier Angelo Vendrame pushed to branch mullvad-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser Commits: 9492cb87 by Julian Descottes at 2025-03-06T10:46:29+01:00 Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo Differential Revision: https://phabricator.services.mozilla.com/D221448 - - - - - 29861015 by Beatriz Rizental at 2025-03-06T10:47:06+01:00 fixup! Base Browser's .mozconfigs. - - - - - 63d64ecc by Beatriz Rizental at 2025-03-06T10:47:15+01:00 BB 43535: Enable tests - - - - - 2aa78353 by John Lin at 2025-03-10T14:20:42+00:00 Bug 1924070 - modify H.264 extradata to match sample conversion code. r=media-playback-reviewers,alwu In AVC stream, NAL unit is represented with the length of unit data (NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength field can be 1-4 bytes long and the size can be derived from the 'lengthSizeMinusOne' value recorded in extradata. H264ChangeMonitor.CheckForChange() reformats all input samples so that NALUnitLength will always be 4 bytes long while the original extradata is used during decoder creation earlier, so decoder won't be able to correctly parse converted samples if extradata is not modified accordingly. Differential Revision: https://phabricator.services.mozilla.com/D239547 - - - - - 6 changed files: - dom/media/platforms/wrappers/MediaChangeMonitor.cpp - mozconfig-linux-aarch64-dev - mozconfig-linux-x86_64-dev - mozconfig-macos-dev - testing/marionette/harness/marionette_harness/runner/base.py - testing/specialpowers/api.js Changes: ===================================== dom/media/platforms/wrappers/MediaChangeMonitor.cpp ===================================== @@ -42,6 +42,14 @@ class H264ChangeMonitor : public MediaChangeMonitor::CodecChangeMonitor { : mCurrentConfig(aInfo), mFullParsing(aFullParsing) { if (CanBeInstantiated()) { UpdateConfigFromExtraData(aInfo.mExtraData); + auto avcc = AVCCConfig::Parse(mCurrentConfig.mExtraData); + if (avcc.isOk() && avcc.unwrap().NALUSize() != 4) { + // `CheckForChange()` will use `AnnexB::ConvertSampleToAVCC()` to change + // NAL units into 4-byte. + // `AVCDecoderConfigurationRecord.lengthSizeMinusOne` in the config + // should be modified too. + mCurrentConfig.mExtraData->ReplaceElementAt(4, 0xfc | 3); + } } } ===================================== mozconfig-linux-aarch64-dev ===================================== @@ -16,3 +16,5 @@ ac_add_options --disable-install-strip ac_add_options --with-base-browser-version=dev-build ac_add_options --disable-base-browser-update + +ac_add_options --enable-tests ===================================== mozconfig-linux-x86_64-dev ===================================== @@ -19,3 +19,5 @@ ac_add_options --disable-base-browser-update # Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme + +ac_add_options --enable-tests ===================================== mozconfig-macos-dev ===================================== @@ -19,3 +19,5 @@ ac_add_options --disable-update-agent # Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme + +ac_add_options --enable-tests ===================================== testing/marionette/harness/marionette_harness/runner/base.py ===================================== @@ -222,7 +222,7 @@ class MarionetteTestResult(StructuredTestResult, TestResultCollection): self.logger.info("END LOG:") def stopTest(self, *args, **kwargs): - unittest._TextTestResult.stopTest(self, *args, **kwargs) + unittest.TextTestResult.stopTest(self, *args, **kwargs) if self.marionette.check_for_crash(): # this tells unittest.TestSuite not to continue running tests self.shouldStop = True ===================================== testing/specialpowers/api.js ===================================== @@ -40,6 +40,18 @@ this.specialpowers = class extends ExtensionAPI { uri, resProto.ALLOW_CONTENT_ACCESS ); + } else { + // This is a hack! + // For some reason, this specific substituion has an extra `/` in the path. + // This is a workaround to fix it. + // + // TODO (#43545): Remove this once we have a proper fix. + let uri = resProto.getSubstitution("testing-common"); + resProto.setSubstitution( + "testing-common", + Services.io.newURI(uri.spec.replace("file:////", "file:///")), + resProto.ALLOW_CONTENT_ACCESS + ); } SpecialPowersParent.registerActor(); View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/cb… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/cb… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-128.8.0esr-14.5-1] Bug 1924070 - modify H.264 extradata to match sample conversion code....
by morgan (@morgan) 10 Mar '25

10 Mar '25
morgan pushed to branch base-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 2aa78353 by John Lin at 2025-03-10T14:20:42+00:00 Bug 1924070 - modify H.264 extradata to match sample conversion code. r=media-playback-reviewers,alwu In AVC stream, NAL unit is represented with the length of unit data (NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength field can be 1-4 bytes long and the size can be derived from the 'lengthSizeMinusOne' value recorded in extradata. H264ChangeMonitor.CheckForChange() reformats all input samples so that NALUnitLength will always be 4 bytes long while the original extradata is used during decoder creation earlier, so decoder won't be able to correctly parse converted samples if extradata is not modified accordingly. Differential Revision: https://phabricator.services.mozilla.com/D239547 - - - - - 1 changed file: - dom/media/platforms/wrappers/MediaChangeMonitor.cpp Changes: ===================================== dom/media/platforms/wrappers/MediaChangeMonitor.cpp ===================================== @@ -42,6 +42,14 @@ class H264ChangeMonitor : public MediaChangeMonitor::CodecChangeMonitor { : mCurrentConfig(aInfo), mFullParsing(aFullParsing) { if (CanBeInstantiated()) { UpdateConfigFromExtraData(aInfo.mExtraData); + auto avcc = AVCCConfig::Parse(mCurrentConfig.mExtraData); + if (avcc.isOk() && avcc.unwrap().NALUSize() != 4) { + // `CheckForChange()` will use `AnnexB::ConvertSampleToAVCC()` to change + // NAL units into 4-byte. + // `AVCDecoderConfigurationRecord.lengthSizeMinusOne` in the config + // should be modified too. + mCurrentConfig.mExtraData->ReplaceElementAt(4, 0xfc | 3); + } } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2aa7835… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2aa7835… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] Bug 1924070 - modify H.264 extradata to match sample conversion code....
by morgan (@morgan) 10 Mar '25

10 Mar '25
morgan pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 4224ae27 by John Lin at 2025-03-10T15:04:22+01:00 Bug 1924070 - modify H.264 extradata to match sample conversion code. r=media-playback-reviewers,alwu In AVC stream, NAL unit is represented with the length of unit data (NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength field can be 1-4 bytes long and the size can be derived from the 'lengthSizeMinusOne' value recorded in extradata. H264ChangeMonitor.CheckForChange() reformats all input samples so that NALUnitLength will always be 4 bytes long while the original extradata is used during decoder creation earlier, so decoder won't be able to correctly parse converted samples if extradata is not modified accordingly. Differential Revision: https://phabricator.services.mozilla.com/D239547 - - - - - 1 changed file: - dom/media/platforms/wrappers/MediaChangeMonitor.cpp Changes: ===================================== dom/media/platforms/wrappers/MediaChangeMonitor.cpp ===================================== @@ -42,6 +42,14 @@ class H264ChangeMonitor : public MediaChangeMonitor::CodecChangeMonitor { : mCurrentConfig(aInfo), mFullParsing(aFullParsing) { if (CanBeInstantiated()) { UpdateConfigFromExtraData(aInfo.mExtraData); + auto avcc = AVCCConfig::Parse(mCurrentConfig.mExtraData); + if (avcc.isOk() && avcc.unwrap().NALUSize() != 4) { + // `CheckForChange()` will use `AnnexB::ConvertSampleToAVCC()` to change + // NAL units into 4-byte. + // `AVCDecoderConfigurationRecord.lengthSizeMinusOne` in the config + // should be modified too. + mCurrentConfig.mExtraData->ReplaceElementAt(4, 0xfc | 3); + } } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4224ae2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4224ae2… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41040: Add configuration to rbm.conf to select channel and platforms
by morgan (@morgan) 10 Mar '25

10 Mar '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: f27def7c by Nicolas Vigier at 2025-03-10T12:07:48+01:00 Bug 41040: Add configuration to rbm.conf to select channel and platforms The browser can now be built using `make torbrowser` and `make mullvadbrowser`. In this case, the channel and platforms to build are selected by the variables defined in rbm.conf: * var/browser_default_channel * var/browser_platforms - - - - - fb835be6 by Nicolas Vigier at 2025-03-10T13:42:15+01:00 Bug 41040: Update release prep alpha templates The stable release prep templates should be updated in a separate commit when this is backported to `maint-14.0`. - - - - - 6 changed files: - .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md - .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md - Makefile - projects/release/build - projects/release/config - rbm.conf Changes: ===================================== .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md ===================================== @@ -65,6 +65,7 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch - [ ] `var/torbrowser_build`: updated to `${MULLVAD_BROWSER_BUILD_N}` - [ ] `var/browser_release_date`: updated to build date. For the build to be reproducible, the date should be in the past when building. - **⚠️ WARNING**: If we have updated `var/torbrowser_build` without updating the `firefox` tag, then we can leave this unchanged to avoid forcing a firefox re-build (e.g. when bumping `var/torbrowser_build` to build2, build3, etc due to non-firefox related build issues) + - [ ] `var/browser_platforms`: updated to enable the platforms included in this release - [ ] `var/torbrowser_incremental_from`: updated to previous Desktop version - **NOTE**: We try to build incrementals for the previous 3 desktop versions - **⚠️ WARNING**: Really *actually* make sure this is the previous Desktop version or else the `make mullvadbrowser-incrementals-*` step will fail @@ -111,7 +112,7 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch - [ ] Build the tag: - Run: ```bash - make mullvadbrowser-alpha && make mullvadbrowser-incrementals-alpha + make mullvadbrowser ``` - [ ] Tor Project build machine - [ ] Local developer machine ===================================== .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md ===================================== @@ -65,6 +65,7 @@ Tor Browser Alpha (and Nightly) are on the `main` branch - [ ] `var/torbrowser_build`: updated to `${TOR_BROWSER_BUILD_N}` - [ ] `var/browser_release_date`: updated to build date. For the build to be reproducible, the date should be in the past when building. - **⚠️ WARNING**: If we have updated `var/torbrowser_build` without updating the `firefox` or `geckoview` tags, then we can leave this unchanged to avoid forcing a firefox re-build (e.g. when bumping `var/torbrwoser_build` to build2, build3, etc due to non-firefox related build issues) + - [ ] `var/browser_platforms`: updated to enable the platforms included in this release - [ ] ***(Desktop Only)*** `var/torbrowser_incremental_from`: updated to previous Desktop version - **NOTE**: We try to build incrementals for the previous 3 desktop versions - **⚠️ WARNING**: Really *actually* make sure this is the previous Desktop version or else the `make torbrowser-incrementals-*` step will fail @@ -135,7 +136,7 @@ Tor Browser Alpha (and Nightly) are on the `main` branch - [ ] Build the tag: - Run: ```bash - make torbrowser-alpha && make torbrowser-incrementals-alpha + make torbrowser ``` - [ ] Tor Project build machine - [ ] Local developer machine ===================================== Makefile ===================================== @@ -1,196 +1,180 @@ rbm=./rbm/rbm +browser_default_channel=$(shell $(rbm) showconf release var/browser_default_channel) -all: torbrowser-release +.PHONY: torbrowser mullvadbrowser +all: torbrowser mullvadbrowser ####################### # Tor Browser Targets # ####################### +torbrowser: submodule-update + @echo Building torbrowser-$(browser_default_channel) + $(MAKE) torbrowser-$(browser_default_channel) + @echo Building incrementals for torbrowser-$(browser_default_channel) + $(MAKE) torbrowser-incrementals-$(browser_default_channel) + torbrowser-release: submodule-update $(rbm) build release --target release --target browser-all --target torbrowser -torbrowser-release-android: submodule-update - $(rbm) build release --target release --target browser-all-android --target torbrowser - torbrowser-release-android-armv7: submodule-update - $(rbm) build release --target release --target browser-android-armv7 --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-android-armv7 --target torbrowser torbrowser-release-android-x86: submodule-update - $(rbm) build release --target release --target browser-android-x86 --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-android-x86 --target torbrowser torbrowser-release-android-x86_64: submodule-update - $(rbm) build release --target release --target browser-android-x86_64 --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-android-x86_64 --target torbrowser torbrowser-release-android-aarch64: submodule-update - $(rbm) build release --target release --target browser-android-aarch64 --target torbrowser - -torbrowser-release-desktop: submodule-update - $(rbm) build release --target release --target browser-all-desktop --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-android-aarch64 --target torbrowser torbrowser-release-linux-x86_64: submodule-update - $(rbm) build release --target release --target browser-linux-x86_64 --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64 --target torbrowser torbrowser-release-linux-x86_64-asan: submodule-update - $(rbm) build release --target release --target browser-linux-x86_64-asan --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64-asan --target torbrowser torbrowser-release-linux-i686: submodule-update - $(rbm) build release --target release --target browser-linux-i686 --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-i686 --target torbrowser torbrowser-release-linux-aarch64: submodule-update - $(rbm) build release --target release --target browser-linux-aarch64 --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-aarch64 --target torbrowser torbrowser-release-windows-i686: submodule-update - $(rbm) build release --target release --target browser-windows-i686 --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-windows-i686 --target torbrowser torbrowser-release-windows-x86_64: submodule-update - $(rbm) build release --target release --target browser-windows-x86_64 --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-windows-x86_64 --target torbrowser torbrowser-release-macos: submodule-update - $(rbm) build release --target release --target browser-macos --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-macos --target torbrowser torbrowser-release-src: submodule-update - $(rbm) build release --target release --target browser-src --target torbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-src --target torbrowser torbrowser-alpha: submodule-update $(rbm) build release --target alpha --target browser-all --target torbrowser -torbrowser-alpha-android: submodule-update - $(rbm) build release --target alpha --target browser-all-android --target torbrowser - torbrowser-alpha-android-armv7: submodule-update - $(rbm) build release --target alpha --target browser-android-armv7 --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-android-armv7 --target torbrowser torbrowser-alpha-android-x86: submodule-update - $(rbm) build release --target alpha --target browser-android-x86 --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-android-x86 --target torbrowser torbrowser-alpha-android-x86_64: submodule-update - $(rbm) build release --target alpha --target browser-android-x86_64 --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-android-x86_64 --target torbrowser torbrowser-alpha-android-aarch64: submodule-update - $(rbm) build release --target alpha --target browser-android-aarch64 --target torbrowser - -torbrowser-alpha-desktop: submodule-update - $(rbm) build release --target alpha --target browser-all-desktop --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-android-aarch64 --target torbrowser torbrowser-alpha-linux-x86_64: submodule-update - $(rbm) build release --target alpha --target browser-linux-x86_64 --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64 --target torbrowser torbrowser-alpha-linux-x86_64-asan: submodule-update - $(rbm) build release --target alpha --target browser-linux-x86_64-asan --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64-asan --target torbrowser torbrowser-alpha-linux-aarch64: submodule-update - $(rbm) build release --target alpha --target browser-linux-aarch64 --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-aarch64 --target torbrowser torbrowser-alpha-linux-i686: submodule-update - $(rbm) build release --target alpha --target browser-linux-i686 --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-i686 --target torbrowser torbrowser-alpha-windows-i686: submodule-update - $(rbm) build release --target alpha --target browser-windows-i686 --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-i686 --target torbrowser torbrowser-alpha-windows-x86_64: submodule-update - $(rbm) build release --target alpha --target browser-windows-x86_64 --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-x86_64 --target torbrowser torbrowser-alpha-macos: submodule-update - $(rbm) build release --target alpha --target browser-macos --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-macos --target torbrowser torbrowser-alpha-src: submodule-update - $(rbm) build release --target alpha --target browser-src --target torbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-src --target torbrowser torbrowser-nightly: submodule-update $(rbm) build release --target nightly --target browser-all --target torbrowser -torbrowser-nightly-android: submodule-update - $(rbm) build release --target nightly --target browser-all-android --target torbrowser - torbrowser-nightly-android-armv7: submodule-update - $(rbm) build release --target nightly --target browser-android-armv7 --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-android-armv7 --target torbrowser torbrowser-nightly-android-x86: submodule-update - $(rbm) build release --target nightly --target browser-android-x86 --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-android-x86 --target torbrowser torbrowser-nightly-android-x86_64: submodule-update - $(rbm) build release --target nightly --target browser-android-x86_64 --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-android-x86_64 --target torbrowser torbrowser-nightly-android-aarch64: submodule-update - $(rbm) build release --target nightly --target browser-android-aarch64 --target torbrowser - -torbrowser-nightly-desktop: submodule-update - $(rbm) build release --target nightly --target browser-all-desktop --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-android-aarch64 --target torbrowser torbrowser-nightly-linux-x86_64: submodule-update - $(rbm) build release --target nightly --target browser-linux-x86_64 --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64 --target torbrowser torbrowser-nightly-linux-x86_64-asan: submodule-update - $(rbm) build release --target nightly --target browser-linux-x86_64-asan --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64-asan --target torbrowser torbrowser-nightly-linux-aarch64: submodule-update - $(rbm) build release --target nightly --target browser-linux-aarch64 --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-aarch64 --target torbrowser torbrowser-nightly-linux-i686: submodule-update - $(rbm) build release --target nightly --target browser-linux-i686 --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-i686 --target torbrowser torbrowser-nightly-windows-i686: submodule-update - $(rbm) build release --target nightly --target browser-windows-i686 --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-i686 --target torbrowser torbrowser-nightly-windows-x86_64: submodule-update - $(rbm) build release --target nightly --target browser-windows-x86_64 --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-x86_64 --target torbrowser torbrowser-nightly-macos: submodule-update - $(rbm) build release --target nightly --target browser-macos --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-macos --target torbrowser torbrowser-nightly-src: submodule-update - $(rbm) build release --target nightly --target browser-src --target torbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-src --target torbrowser torbrowser-testbuild: submodule-update $(rbm) build release --target testbuild --target browser-all --target torbrowser -torbrowser-testbuild-android: submodule-update - $(rbm) build release --target testbuild --target browser-all-android --target torbrowser - torbrowser-testbuild-android-armv7: submodule-update - $(rbm) build release --target testbuild --target browser-android-armv7 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-armv7 --target torbrowser torbrowser-testbuild-android-x86: submodule-update - $(rbm) build release --target testbuild --target browser-android-x86 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-x86 --target torbrowser torbrowser-testbuild-android-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-android-x86_64 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-x86_64 --target torbrowser torbrowser-testbuild-android-aarch64: submodule-update - $(rbm) build release --target testbuild --target browser-android-aarch64 --target torbrowser - -torbrowser-testbuild-desktop: submodule-update - $(rbm) build release --target testbuild --target browser-all-desktop --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-aarch64 --target torbrowser torbrowser-testbuild-linux-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-linux-x86_64 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64 --target torbrowser torbrowser-testbuild-linux-x86_64-asan: submodule-update - $(rbm) build release --target testbuild --target browser-linux-x86_64-asan --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64-asan --target torbrowser torbrowser-testbuild-linux-i686: submodule-update - $(rbm) build release --target testbuild --target browser-linux-i686 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-i686 --target torbrowser torbrowser-testbuild-linux-aarch64: submodule-update - $(rbm) build release --target testbuild --target browser-linux-aarch64 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-aarch64 --target torbrowser torbrowser-testbuild-windows-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-windows-x86_64 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-x86_64 --target torbrowser torbrowser-testbuild-windows-i686: submodule-update - $(rbm) build release --target testbuild --target browser-windows-i686 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-i686 --target torbrowser torbrowser-testbuild-macos: submodule-update - $(rbm) build release --target testbuild --target browser-macos --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos --target torbrowser torbrowser-testbuild-macos-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-macos-x86_64 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-x86_64 --target torbrowser torbrowser-testbuild-macos-aarch64: submodule-update - $(rbm) build release --target testbuild --target browser-macos-aarch64 --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-aarch64 --target torbrowser torbrowser-testbuild-src: submodule-update - $(rbm) build release --target testbuild --target browser-src-testbuild --target torbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-src-testbuild --target torbrowser torbrowser-incrementals-release: submodule-update $(rbm) build release --step update_responses_config --target release --target create_unsigned_incrementals --target torbrowser @@ -259,188 +243,164 @@ torbrowser-compare-mar-signed-unsigned-alpha: submodule-update basebrowser-release: submodule-update $(rbm) build release --target release --target browser-all --target basebrowser -basebrowser-release-android: submodule-update - $(rbm) build release --target release --target browser-all-android --target basebrowser - basebrowser-release-android-armv7: submodule-update - $(rbm) build release --target release --target browser-android-armv7 --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-android-armv7 --target basebrowser basebrowser-release-android-x86: submodule-update - $(rbm) build release --target release --target browser-android-x86 --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-android-x86 --target basebrowser basebrowser-release-android-x86_64: submodule-update - $(rbm) build release --target release --target browser-android-x86_64 --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-android-x86_64 --target basebrowser basebrowser-release-android-aarch64: submodule-update - $(rbm) build release --target release --target browser-android-aarch64 --target basebrowser - -basebrowser-release-desktop: submodule-update - $(rbm) build release --target release --target browser-all-desktop --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-android-aarch64 --target basebrowser basebrowser-release-linux-x86_64: submodule-update - $(rbm) build release --target release --target browser-linux-x86_64 --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64 --target basebrowser basebrowser-release-linux-x86_64-asan: submodule-update - $(rbm) build release --target release --target browser-linux-x86_64-asan --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64-asan --target basebrowser basebrowser-release-linux-i686: submodule-update - $(rbm) build release --target release --target browser-linux-i686 --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-i686 --target basebrowser basebrowser-release-linux-aarch64: submodule-update - $(rbm) build release --target release --target browser-linux-aarch64 --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-aarch64 --target basebrowser basebrowser-release-windows-i686: submodule-update - $(rbm) build release --target release --target browser-windows-i686 --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-windows-i686 --target basebrowser basebrowser-release-windows-x86_64: submodule-update - $(rbm) build release --target release --target browser-windows-x86_64 --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-windows-x86_64 --target basebrowser basebrowser-release-macos: submodule-update - $(rbm) build release --target release --target browser-macos --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-macos --target basebrowser basebrowser-release-src: submodule-update - $(rbm) build release --target release --target browser-src --target basebrowser + $(rbm) build release --target release --target browser-single-platform --target browser-src --target basebrowser basebrowser-alpha: submodule-update $(rbm) build release --target alpha --target browser-all --target basebrowser -basebrowser-alpha-android: submodule-update - $(rbm) build release --target alpha --target browser-all-android --target basebrowser - basebrowser-alpha-android-armv7: submodule-update - $(rbm) build release --target alpha --target browser-android-armv7 --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-android-armv7 --target basebrowser basebrowser-alpha-android-x86: submodule-update - $(rbm) build release --target alpha --target browser-android-x86 --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-android-x86 --target basebrowser basebrowser-alpha-android-x86_64: submodule-update - $(rbm) build release --target alpha --target browser-android-x86_64 --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-android-x86_64 --target basebrowser basebrowser-alpha-android-aarch64: submodule-update - $(rbm) build release --target alpha --target browser-android-aarch64 --target basebrowser - -basebrowser-alpha-desktop: submodule-update - $(rbm) build release --target alpha --target browser-all-desktop --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-android-aarch64 --target basebrowser basebrowser-alpha-linux-x86_64: submodule-update - $(rbm) build release --target alpha --target browser-linux-x86_64 --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64 --target basebrowser basebrowser-alpha-linux-x86_64-asan: submodule-update - $(rbm) build release --target alpha --target browser-linux-x86_64-asan --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64-asan --target basebrowser basebrowser-alpha-linux-i686: submodule-update - $(rbm) build release --target alpha --target browser-linux-i686 --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-i686 --target basebrowser basebrowser-alpha-linux-aarch64: submodule-update - $(rbm) build release --target alpha --target browser-linux-aarch64 --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-aarch64 --target basebrowser basebrowser-alpha-windows-i686: submodule-update - $(rbm) build release --target alpha --target browser-windows-i686 --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-i686 --target basebrowser basebrowser-alpha-windows-x86_64: submodule-update - $(rbm) build release --target alpha --target browser-windows-x86_64 --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-x86_64 --target basebrowser basebrowser-alpha-macos: submodule-update - $(rbm) build release --target alpha --target browser-macos --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-macos --target basebrowser basebrowser-alpha-src: submodule-update - $(rbm) build release --target alpha --target browser-src --target basebrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-src --target basebrowser basebrowser-nightly: submodule-update $(rbm) build release --target nightly --target browser-all --target basebrowser -basebrowser-nightly-android: submodule-update - $(rbm) build release --target nightly --target browser-all-android --target basebrowser - basebrowser-nightly-android-armv7: submodule-update - $(rbm) build release --target nightly --target browser-android-armv7 --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-android-armv7 --target basebrowser basebrowser-nightly-android-x86: submodule-update - $(rbm) build release --target nightly --target browser-android-x86 --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-android-x86 --target basebrowser basebrowser-nightly-android-x86_64: submodule-update - $(rbm) build release --target nightly --target browser-android-x86_64 --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-android-x86_64 --target basebrowser basebrowser-nightly-android-aarch64: submodule-update - $(rbm) build release --target nightly --target browser-android-aarch64 --target basebrowser - -basebrowser-nightly-desktop: submodule-update - $(rbm) build release --target nightly --target browser-all-desktop --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-android-aarch64 --target basebrowser basebrowser-nightly-linux-x86_64: submodule-update - $(rbm) build release --target nightly --target browser-linux-x86_64 --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64 --target basebrowser basebrowser-nightly-linux-x86_64-asan: submodule-update - $(rbm) build release --target nightly --target browser-linux-x86_64-asan --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64-asan --target basebrowser basebrowser-nightly-linux-i686: submodule-update - $(rbm) build release --target nightly --target browser-linux-i686 --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-i686 --target basebrowser basebrowser-nightly-linux-aarch64: submodule-update - $(rbm) build release --target nightly --target browser-linux-aarch64 --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-aarch64 --target basebrowser basebrowser-nightly-windows-i686: submodule-update - $(rbm) build release --target nightly --target browser-windows-i686 --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-i686 --target basebrowser basebrowser-nightly-windows-x86_64: submodule-update - $(rbm) build release --target nightly --target browser-windows-x86_64 --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-x86_64 --target basebrowser basebrowser-nightly-macos: submodule-update - $(rbm) build release --target nightly --target browser-macos --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-macos --target basebrowser basebrowser-nightly-src: submodule-update - $(rbm) build release --target nightly --target browser-src --target basebrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-src --target basebrowser basebrowser-testbuild: submodule-update $(rbm) build release --target testbuild --target browser-all --target basebrowser -basebrowser-testbuild-android: submodule-update - $(rbm) build release --target testbuild --target browser-all-android --target basebrowser - basebrowser-testbuild-android-armv7: submodule-update - $(rbm) build release --target testbuild --target browser-android-armv7 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-armv7 --target basebrowser basebrowser-testbuild-android-x86: submodule-update - $(rbm) build release --target testbuild --target browser-android-x86 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-x86 --target basebrowser basebrowser-testbuild-android-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-android-x86_64 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-x86_64 --target basebrowser basebrowser-testbuild-android-aarch64: submodule-update - $(rbm) build release --target testbuild --target browser-android-aarch64 --target basebrowser - -basebrowser-testbuild-desktop: submodule-update - $(rbm) build release --target testbuild --target browser-all-desktop --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-android-aarch64 --target basebrowser basebrowser-testbuild-linux-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-linux-x86_64 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64 --target basebrowser basebrowser-testbuild-linux-x86_64-asan: submodule-update - $(rbm) build release --target testbuild --target browser-linux-x86_64-asan --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64-asan --target basebrowser basebrowser-testbuild-linux-i686: submodule-update - $(rbm) build release --target testbuild --target browser-linux-i686 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-i686 --target basebrowser basebrowser-testbuild-linux-aarch64: submodule-update - $(rbm) build release --target testbuild --target browser-linux-aarch64 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-aarch64 --target basebrowser basebrowser-testbuild-windows-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-windows-x86_64 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-x86_64 --target basebrowser basebrowser-testbuild-windows-i686: submodule-update - $(rbm) build release --target testbuild --target browser-windows-i686 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-i686 --target basebrowser basebrowser-testbuild-macos: submodule-update - $(rbm) build release --target testbuild --target browser-macos --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos --target basebrowser basebrowser-testbuild-macos-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-macos-x86_64 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-x86_64 --target basebrowser basebrowser-testbuild-macos-aarch64: submodule-update - $(rbm) build release --target testbuild --target browser-macos-aarch64 --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-aarch64 --target basebrowser basebrowser-testbuild-src: submodule-update - $(rbm) build release --target testbuild --target browser-src-testbuild --target basebrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-src-testbuild --target basebrowser basebrowser-incrementals-nightly: submodule-update $(rbm) build release --step update_responses_config --target nightly --target basebrowser @@ -452,107 +412,101 @@ basebrowser-incrementals-nightly: submodule-update # Mullvad Browser Targets # ########################### -mullvadbrowser-release: submodule-update - $(rbm) build release --target release --target browser-all-desktop --target mullvadbrowser +mullvadbrowser: submodule-update + @echo Building mullvadbrowser-$(browser_default_channel) + $(MAKE) mullvadbrowser-$(browser_default_channel) + @echo Building incrementals for mullvadbrowser-$(browser_default_channel) + $(MAKE) mullvadbrowser-incrementals-$(browser_default_channel) -mullvadbrowser-release-desktop: submodule-update - $(rbm) build release --target release --target browser-all-desktop --target mullvadbrowser +mullvadbrowser-release: submodule-update + $(rbm) build release --target release --target browser-all --target mullvadbrowser mullvadbrowser-release-linux-x86_64: submodule-update - $(rbm) build release --target release --target browser-linux-x86_64 --target mullvadbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64 --target mullvadbrowser mullvadbrowser-release-linux-x86_64-asan: submodule-update - $(rbm) build release --target release --target browser-linux-x86_64-asan --target mullvadbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-x86_64-asan --target mullvadbrowser mullvadbrowser-release-linux-aarch64: submodule-update - $(rbm) build release --target release --target browser-linux-aarch64 --target mullvadbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-linux-aarch64 --target mullvadbrowser mullvadbrowser-release-windows-x86_64: submodule-update - $(rbm) build release --target release --target browser-windows-x86_64 --target mullvadbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-windows-x86_64 --target mullvadbrowser mullvadbrowser-release-macos: submodule-update - $(rbm) build release --target release --target browser-macos --target mullvadbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-macos --target mullvadbrowser mullvadbrowser-release-src: submodule-update - $(rbm) build release --target release --target browser-src --target mullvadbrowser + $(rbm) build release --target release --target browser-single-platform --target browser-src --target mullvadbrowser mullvadbrowser-alpha: submodule-update - $(rbm) build release --target alpha --target browser-all-desktop --target mullvadbrowser - -mullvadbrowser-alpha-desktop: submodule-update - $(rbm) build release --target alpha --target browser-all-desktop --target mullvadbrowser + $(rbm) build release --target alpha --target browser-all --target mullvadbrowser mullvadbrowser-alpha-linux-x86_64: submodule-update - $(rbm) build release --target alpha --target browser-linux-x86_64 --target mullvadbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64 --target mullvadbrowser mullvadbrowser-alpha-linux-x86_64-asan: submodule-update - $(rbm) build release --target alpha --target browser-linux-x86_64-asan --target mullvadbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-x86_64-asan --target mullvadbrowser mullvadbrowser-alpha-linux-aarch64: submodule-update - $(rbm) build release --target alpha --target browser-linux-aarch64 --target mullvadbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-linux-aarch64 --target mullvadbrowser mullvadbrowser-alpha-windows-x86_64: submodule-update - $(rbm) build release --target alpha --target browser-windows-x86_64 --target mullvadbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-windows-x86_64 --target mullvadbrowser mullvadbrowser-alpha-macos: submodule-update - $(rbm) build release --target alpha --target browser-macos --target mullvadbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-macos --target mullvadbrowser mullvadbrowser-alpha-src: submodule-update - $(rbm) build release --target alpha --target browser-src --target mullvadbrowser + $(rbm) build release --target alpha --target browser-single-platform --target browser-src --target mullvadbrowser mullvadbrowser-nightly: submodule-update - $(rbm) build release --target nightly --target browser-all-desktop --target mullvadbrowser - -mullvadbrowser-nightly-desktop: submodule-update - $(rbm) build release --target nightly --target browser-all-desktop --target mullvadbrowser + $(rbm) build release --target nightly --target browser-all --target mullvadbrowser mullvadbrowser-nightly-linux-x86_64: submodule-update - $(rbm) build release --target nightly --target browser-linux-x86_64 --target mullvadbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64 --target mullvadbrowser mullvadbrowser-nightly-linux-x86_64-asan: submodule-update - $(rbm) build release --target nightly --target browser-linux-x86_64-asan --target mullvadbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-x86_64-asan --target mullvadbrowser mullvadbrowser-nightly-linux-aarch64: submodule-update - $(rbm) build release --target nightly --target browser-linux-aarch64 --target mullvadbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-linux-aarch64 --target mullvadbrowser mullvadbrowser-nightly-windows-x86_64: submodule-update - $(rbm) build release --target nightly --target browser-windows-x86_64 --target mullvadbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-windows-x86_64 --target mullvadbrowser mullvadbrowser-nightly-macos: submodule-update - $(rbm) build release --target nightly --target browser-macos --target mullvadbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-macos --target mullvadbrowser mullvadbrowser-nightly-src: submodule-update - $(rbm) build release --target nightly --target browser-src --target mullvadbrowser + $(rbm) build release --target nightly --target browser-single-platform --target browser-src --target mullvadbrowser mullvadbrowser-testbuild: submodule-update - $(rbm) build release --target testbuild --target browser-all-desktop --target mullvadbrowser - -mullvadbrowser-testbuild-desktop: submodule-update - $(rbm) build release --target testbuild --target browser-all-desktop --target mullvadbrowser + $(rbm) build release --target testbuild --target browser-all --target mullvadbrowser mullvadbrowser-testbuild-linux-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-linux-x86_64 --target mullvadbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64 --target mullvadbrowser mullvadbrowser-testbuild-linux-x86_64-asan: submodule-update - $(rbm) build release --target testbuild --target browser-linux-x86_64-asan --target mullvadbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-x86_64-asan --target mullvadbrowser mullvadbrowser-testbuild-linux-aarch64: submodule-update - $(rbm) build release --target testbuild --target browser-linux-aarch64 --target mullvadbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-linux-aarch64 --target mullvadbrowser mullvadbrowser-testbuild-windows-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-windows-x86_64 --target mullvadbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-windows-x86_64 --target mullvadbrowser mullvadbrowser-testbuild-macos: submodule-update - $(rbm) build release --target testbuild --target browser-macos --target mullvadbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos --target mullvadbrowser mullvadbrowser-testbuild-macos-x86_64: submodule-update - $(rbm) build release --target testbuild --target browser-macos-x86_64 --target mullvadbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-x86_64 --target mullvadbrowser mullvadbrowser-testbuild-macos-aarch64: submodule-update - $(rbm) build release --target testbuild --target browser-macos-aarch64 --target mullvadbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-macos-aarch64 --target mullvadbrowser mullvadbrowser-testbuild-src: submodule-update - $(rbm) build release --target testbuild --target browser-src-testbuild --target mullvadbrowser + $(rbm) build release --target testbuild --target browser-single-platform --target browser-src-testbuild --target mullvadbrowser mullvadbrowser-incrementals-release: submodule-update $(rbm) build release --step update_responses_config --target release --target create_unsigned_incrementals --target mullvadbrowser @@ -701,7 +655,7 @@ cargo_vendor-rcodesign: submodule-update ################## submodule-update: - git submodule update --init + @git submodule update --init # requires tpo_user variable be set in rbm.local.conf torbrowser-upload-sha256sums-release: submodule-update ===================================== projects/release/build ===================================== @@ -4,40 +4,40 @@ [% IF ENV.HOME %]export HOME="[% ENV.HOME %]"[% END %] destdir="[% dest_dir _ '/' _ c("var/publish_dir") %]" mkdir -p "$destdir" -[% IF c("var/browser-android-armv7") -%] +[% IF c("var/browser_platforms/android-armv7") -%] mv [% c('input_files_by_name/android-armv7') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-android-x86") -%] +[% IF c("var/browser_platforms/android-x86") -%] mv [% c('input_files_by_name/android-x86') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-android-x86_64") -%] +[% IF c("var/browser_platforms/android-x86_64") -%] mv [% c('input_files_by_name/android-x86_64') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-android-aarch64") -%] +[% IF c("var/browser_platforms/android-aarch64") -%] mv [% c('input_files_by_name/android-aarch64') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-windows-i686") -%] +[% IF c("var/browser_platforms/windows-i686") -%] mv [% c('input_files_by_name/windows-i686') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-windows-x86_64") -%] +[% IF c("var/browser_platforms/windows-x86_64") -%] mv [% c('input_files_by_name/windows-x86_64') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-macos") -%] +[% IF c("var/browser_platforms/macos") -%] mv [% c('input_files_by_name/macos') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-macos-x86_64") -%] +[% IF c("var/browser_platforms/macos-x86_64") -%] mv [% c('input_files_by_name/macos-x86_64') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-macos-aarch64") -%] +[% IF c("var/browser_platforms/macos-aarch64") -%] mv [% c('input_files_by_name/macos-aarch64') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-linux-i686") -%] +[% IF c("var/browser_platforms/linux-i686") -%] mv [% c('input_files_by_name/linux-i686') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-linux-x86_64") -%] +[% IF c("var/browser_platforms/linux-x86_64") -%] mv [% c('input_files_by_name/linux-x86_64') %]/* "$destdir"/ [% END -%] -[% IF c("var/browser-linux-aarch64") -%] +[% IF c("var/browser_platforms/linux-aarch64") -%] mv [% c('input_files_by_name/linux-aarch64') %]/* "$destdir"/ [% END -%] [% IF c("var/linux-packages") || c("var/linux-packages-aarch64") -%] ===================================== projects/release/config ===================================== @@ -10,75 +10,69 @@ var: targets: browser-all: - - browser-linux-x86_64 - - browser-linux-i686 - - browser-linux-aarch64 - - browser-windows-i686 - - browser-windows-x86_64 - - browser-macos - - browser-android-armv7 - - browser-android-x86 - - browser-android-x86_64 - - browser-android-aarch64 - browser-src - browser-all-target - browser-all-desktop: - - browser-linux-x86_64 - - browser-linux-i686 - - browser-linux-aarch64 - - browser-windows-i686 - - browser-windows-x86_64 - - browser-macos - - browser-src - - browser-all-target - browser-all-android: - - browser-android-armv7 - - browser-android-x86 - - browser-android-x86_64 - - browser-android-aarch64 + browser-single-platform: + var: + browser_platforms: + is_android_release: 0 + is_desktop_release: 0 browser-android-armv7: var: - browser-android-armv7: 1 + browser_platforms: + android-armv7: 1 browser-android-x86: var: - browser-android-x86: 1 + browser_platforms: + android-x86: 1 browser-android-x86_64: var: - browser-android-x86_64: 1 + browser_platforms: + android-x86_64: 1 browser-android-aarch64: var: - browser-android-aarch64: 1 + browser_platforms: + android-aarch64: 1 browser-linux-x86_64: var: - browser-linux-x86_64: 1 + browser_platforms: + linux-x86_64: 1 linux-packages: '[% c("var/mullvad-browser") || c("var/tor-browser-linux-packages") %]' browser-linux-x86_64-asan: var: - browser-linux-x86_64: 1 + browser_platforms: + linux-x86_64: 1 asan-build: '-asan' browser-linux-i686: var: - browser-linux-i686: '[% c("var/browser_type") != "mullvadbrowser" %]' + browser_platforms: + linux-i686: 1 linux-packages: '[% c("var/mullvad-browser") || c("var/tor-browser-linux-packages") %]' browser-linux-aarch64: var: - browser-linux-aarch64: '[% ! c("var/browser-all-target") || c("var/testbuild") || c("var/nightly") %]' + browser_platforms: + linux-aarch64: 1 linux-packages-aarch64: '[% (! c("var/browser-all-target") || c("var/testbuild") || c("var/nightly")) && (c("var/mullvad-browser") || c("var/tor-browser-linux-packages")) %]' browser-windows-i686: var: - browser-windows-i686: '[% c("var/browser_type") != "mullvadbrowser" %]' + browser_platforms: + windows-i686: '[% c("var/browser_type") != "mullvadbrowser" %]' browser-windows-x86_64: var: - browser-windows-x86_64: 1 + browser_platforms: + windows-x86_64: 1 browser-macos: var: - browser-macos: 1 + browser_platforms: + macos: 1 browser-macos-x86_64: var: - browser-macos-x86_64: 1 + browser_platforms: + macos-x86_64: 1 browser-macos-aarch64: var: - browser-macos-aarch64: 1 + browser_platforms: + macos-aarch64: 1 browser-src: var: browser-src: '[% ! c("var/testbuild") %]' @@ -93,8 +87,6 @@ targets: - torbrowser - release - browser-all - - browser-all-android - - browser-all-desktop noversiondir: var: @@ -156,7 +148,7 @@ input_files: # Release - name: android-armv7 project: browser - enable: '[% c("var/browser-android-armv7") %]' + enable: '[% c("var/browser_platforms/android-armv7") %]' target: - '[% c("var/containers_target") %]' - '[% c("var/build_target") %]' @@ -164,7 +156,7 @@ input_files: - name: android-x86 project: browser - enable: '[% c("var/browser-android-x86") %]' + enable: '[% c("var/browser_platforms/android-x86") %]' target: - '[% c("var/containers_target") %]' - '[% c("var/build_target") %]' @@ -172,7 +164,7 @@ input_files: - name: android-x86_64 project: browser - enable: '[% c("var/browser-android-x86_64") %]' + enable: '[% c("var/browser_platforms/android-x86_64") %]' target: - '[% c("var/containers_target") %]' - '[% c("var/build_target") %]' @@ -180,7 +172,7 @@ input_files: - name: android-aarch64 project: browser - enable: '[% c("var/browser-android-aarch64") %]' + enable: '[% c("var/browser_platforms/android-aarch64") %]' target: - '[% c("var/containers_target") %]' - '[% c("var/build_target") %]' @@ -188,28 +180,28 @@ input_files: - name: linux-x86_64 project: browser - enable: '[% c("var/browser-linux-x86_64") %]' + enable: '[% c("var/browser_platforms/linux-x86_64") %]' target: - '[% c("var/build_target") %]' - '[% c("var/browser_type") %]-linux-x86_64[% c("var/asan-build") %]' - name: linux-i686 project: browser - enable: '[% c("var/browser-linux-i686") %]' + enable: '[% c("var/browser_platforms/linux-i686") %]' target: - '[% c("var/build_target") %]' - '[% c("var/browser_type") %]-linux-i686' - name: linux-aarch64 project: browser - enable: '[% c("var/browser-linux-aarch64") %]' + enable: '[% c("var/browser_platforms/linux-aarch64") %]' target: - '[% c("var/build_target") %]' - '[% c("var/browser_type") %]-linux-aarch64' - name: deb-packages project: linux-packages - enable: '[% c("var/linux-packages") %]' + enable: '[% c("var/browser_platforms/packages") %]' # Add $browser_type-linux-x86_64 target for container config target: - '[% IF c("var/testbuild") %]testbuild[% END %]' @@ -247,21 +239,21 @@ input_files: - name: windows-i686 project: browser - enable: '[% c("var/browser-windows-i686") %]' + enable: '[% c("var/browser_platforms/windows-i686") %]' target: - '[% c("var/build_target") %]' - '[% c("var/browser_type") %]-windows-i686' - name: windows-x86_64 project: browser - enable: '[% c("var/browser-windows-x86_64") %]' + enable: '[% c("var/browser_platforms/windows-x86_64") %]' target: - '[% c("var/build_target") %]' - '[% c("var/browser_type") %]-windows-x86_64' - name: macos project: browser - enable: '[% c("var/browser-macos") %]' + enable: '[% c("var/browser_platforms/macos") %]' target: - '[% c("var/build_target") %]' - '[% c("var/browser_type") %]-macos' @@ -269,7 +261,7 @@ input_files: # non-universal macos build - name: macos-x86_64 project: browser - enable: '[% c("var/browser-macos-x86_64") %]' + enable: '[% c("var/browser_platforms/macos-x86_64") %]' target: - '[% c("var/build_target") %]' - '[% c("var/browser_type") %]-macos-x86_64' @@ -277,7 +269,7 @@ input_files: # non-universal macos build - name: macos-aarch64 project: browser - enable: '[% c("var/browser-macos-aarch64") %]' + enable: '[% c("var/browser_platforms/macos-aarch64") %]' target: - '[% c("var/build_target") %]' - '[% c("var/browser_type") %]-macos-aarch64' ===================================== rbm.conf ===================================== @@ -79,6 +79,20 @@ var: # to be reproducible, browser_release_date should always be in the past. browser_release_date: '2025/02/10 18:18:25' browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]' + browser_default_channel: alpha + browser_platforms: + is_android_release: '[% c("var/tor-browser") %]' + is_desktop_release: '1' + android-armv7: '[% c("var/browser_platforms/is_android_release") %]' + android-x86: '[% c("var/browser_platforms/is_android_release") %]' + android-x86_64: '[% c("var/browser_platforms/is_android_release") %]' + android-aarch64: '[% c("var/browser_platforms/is_android_release") %]' + linux-x86_64: '[% c("var/browser_platforms/is_desktop_release") %]' + linux-i686: '[% c("var/browser_platforms/is_desktop_release") && c("var/tor-browser") %]' + linux-aarch64: '[% c("var/browser_platforms/is_desktop_release") && ( c("var/testbuild") || c("var/nightly") ) %]' + windows-i686: '[% c("var/browser_platforms/is_desktop_release") && c("var/tor-browser") %]' + windows-x86_64: '[% c("var/browser_platforms/is_desktop_release") %]' + macos: '[% c("var/browser_platforms/is_desktop_release") %]' updater_enabled: 1 build_mar: 1 torbrowser_incremental_from: View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! TB 7494: Create local home page for TBB.
by morgan (@morgan) 10 Mar '25

10 Mar '25
morgan pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: dce8efc3 by Henry Wilkes at 2025-03-10T13:03:54+00:00 fixup! TB 7494: Create local home page for TBB. TB 43489: Add a survey banner in about:tor. - - - - - 8 changed files: - browser/components/BrowserGlue.sys.mjs - browser/components/abouttor/AboutTorChild.sys.mjs - browser/components/abouttor/AboutTorParent.sys.mjs - + browser/components/abouttor/content/1f44b-waving-hand.svg - browser/components/abouttor/content/aboutTor.css - browser/components/abouttor/content/aboutTor.html - browser/components/abouttor/content/aboutTor.js - browser/components/abouttor/jar.mn Changes: ===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -524,6 +524,7 @@ let JSWINDOWACTORS = { DOMContentLoaded: {}, L10nMutationsFinished: {}, SubmitSearchOnionize: { wantUntrusted: true }, + SurveyDismissed: { wantUntrusted: true }, }, }, ===================================== browser/components/abouttor/AboutTorChild.sys.mjs ===================================== @@ -16,6 +16,10 @@ export class AboutTorChild extends JSWindowActorChild { case "SubmitSearchOnionize": this.sendAsyncMessage("AboutTor:SetSearchOnionize", !!event.detail); break; + case "SurveyDismissed": + // event.detail is the survey version. + this.sendAsyncMessage("AboutTor:SurveyDismissed", event.detail); + break; case "L10nMutationsFinished": // Pass on chrome-only event for completed localization to content. this.contentWindow.dispatchEvent( ===================================== browser/components/abouttor/AboutTorParent.sys.mjs ===================================== @@ -13,6 +13,8 @@ ChromeUtils.defineESModuleGetters(lazy, { export class AboutTorParent extends JSWindowActorParent { receiveMessage(message) { const onionizePref = "torbrowser.homepage.search.onionize"; + const surveyDismissVersionPref = + "torbrowser.homepage.survey.dismiss_version"; switch (message.name) { case "AboutTor:GetInitialData": return Promise.resolve({ @@ -20,10 +22,26 @@ export class AboutTorParent extends JSWindowActorParent { messageData: lazy.AboutTorMessage.getNext(), isStable: AppConstants.MOZ_UPDATE_CHANNEL === "release", searchOnionize: Services.prefs.getBoolPref(onionizePref, false), + surveyDismissVersion: Services.prefs.getIntPref( + surveyDismissVersionPref, + 0 + ), }); case "AboutTor:SetSearchOnionize": Services.prefs.setBoolPref(onionizePref, message.data); break; + case "AboutTor:SurveyDismissed": + // The message.data contains the version of the current survey. + // Rather than introduce a new preference for each survey campaign we + // reuse the same integer preference and increase its value every time + // a new version of the survey is shown and dismissed by the user. + // I.e. if the preference value is 2, we will not show survey version 2 + // but will show survey version 3 or higher when they are introduced. + // It should be safe to overwrite the value since we do not expect more + // than one active survey campaign at any given time, nor do we expect + // the version value to decrease. + Services.prefs.setIntPref(surveyDismissVersionPref, message.data); + break; } return undefined; } ===================================== browser/components/abouttor/content/1f44b-waving-hand.svg ===================================== @@ -0,0 +1,3 @@ +<!-- FROM https://github.com/twitter/twemoji + - licensed under CC-BY 4.0: https://creativecommons.org/licenses/by/4.0/ --> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#EF9645" d="M4.861 9.147c.94-.657 2.357-.531 3.201.166l-.968-1.407c-.779-1.111-.5-2.313.612-3.093 1.112-.777 4.263 1.312 4.263 1.312-.786-1.122-.639-2.544.483-3.331 1.122-.784 2.67-.513 3.456.611l10.42 14.72L25 31l-11.083-4.042L4.25 12.625c-.793-1.129-.519-2.686.611-3.478z"/><path fill="#FFDC5D" d="M2.695 17.336s-1.132-1.65.519-2.781c1.649-1.131 2.78.518 2.78.518l5.251 7.658c.181-.302.379-.6.6-.894L4.557 11.21s-1.131-1.649.519-2.78c1.649-1.131 2.78.518 2.78.518l6.855 9.997c.255-.208.516-.417.785-.622L7.549 6.732s-1.131-1.649.519-2.78c1.649-1.131 2.78.518 2.78.518l7.947 11.589c.292-.179.581-.334.871-.498L12.238 4.729s-1.131-1.649.518-2.78c1.649-1.131 2.78.518 2.78.518l7.854 11.454 1.194 1.742c-4.948 3.394-5.419 9.779-2.592 13.902.565.825 1.39.26 1.39.26-3.393-4.949-2.357-10.51 2.592-13.903L24.515 8.62s-.545-1.924 1.378-2.47c1.924-.545 2.47 1.379 2.47 1.379l1.685 5.004c.668 1.984 1.379 3.961 2.32 5.831 2.657 5.28 1.07 11.842-3.94 15.279-5.465 3.747-12.936 2.354-16.684-3.11L2.695 17.336z"/><g fill="#5DADEC"><path d="M12 32.042C8 32.042 3.958 28 3.958 24c0-.553-.405-1-.958-1s-1.042.447-1.042 1C1.958 30 6 34.042 12 34.042c.553 0 1-.489 1-1.042s-.447-.958-1-.958z"/><path d="M7 34c-3 0-5-2-5-5 0-.553-.447-1-1-1s-1 .447-1 1c0 4 3 7 7 7 .553 0 1-.447 1-1s-.447-1-1-1zM24 2c-.552 0-1 .448-1 1s.448 1 1 1c4 0 8 3.589 8 8 0 .552.448 1 1 1s1-.448 1-1c0-5.514-4-10-10-10z"/><path d="M29 .042c-.552 0-1 .406-1 .958s.448 1.042 1 1.042c3 0 4.958 2.225 4.958 4.958 0 .552.489 1 1.042 1s.958-.448.958-1C35.958 3.163 33 .042 29 .042z"/></g></svg> ===================================== browser/components/abouttor/content/aboutTor.css ===================================== @@ -13,6 +13,7 @@ body { "tor-check tor-check tor-check" auto ". form ." min-content "message message message" auto + "survey survey survey" auto /* End space: unfilled. * Reserve 150px for background image. * NOTE: Since the body has "auto" height, the other "1fr" flex row will @@ -58,20 +59,24 @@ body:not(.is-testing) #tor-browser-home-heading-testing { #tor-check { grid-area: tor-check; - max-width: var(--form-max-width); - box-sizing: border-box; display: flex; gap: 10px; align-items: center; padding-inline: 23px; padding-block: 11px; - border: 1px solid var(--in-content-box-border-color); border-radius: 8px; - background-color: var(--in-content-box-info-background); margin-block-start: 0; margin-block-end: 30px; } +.tor-home-box { + border: 1px solid var(--in-content-box-border-color); + background-color: var(--in-content-box-info-background); + max-width: var(--form-max-width); + width: -moz-available; + box-sizing: border-box; +} + body:not(.show-tor-check) #tor-check { display: none; } @@ -92,8 +97,7 @@ body:not(.show-tor-check) #tor-check { grid-area: message; font-weight: 400; text-align: center; - margin-block-start: 1.6em; - margin-block-end: 1em; + margin-block: 1.6em; } .message-emoji { @@ -173,6 +177,68 @@ body:not(.show-tor-check) #tor-check { margin-inline-start: 0.5em; } +#survey { + grid-area: survey; + display: grid; + grid-template: + "icon heading close" min-content + "icon body close" auto + ". buttons buttons" min-content + / min-content 1fr min-content; + border-radius: 4px; + /* Remove 1px from padding for border. */ + padding-block: 3px 11px; + padding-inline: 15px 3px; + gap: 8px; + margin-block-end: 1.6em; +} + +body:not(.show-survey) #survey { + display: none; +} + +#survey > * { + margin: 0; +} + +#survey-icon { + grid-area: icon; + width: 24px; + height: 24px; + padding: 8px; + border-radius: 20px; +} + +#survey-heading { + grid-area: heading; + font-size: inherit; +} + +#survey-icon, +#survey-heading { + margin-block-start: 8px; +} + +#survey-body { + grid-area: body; + margin-block-end: 8px; +} + +#survey-buttons { + grid-area: buttons; + display: flex; + gap: 8px; +} + +#survey-buttons > * { + flex: 0 0 auto; + margin: 0; +} + +#survey-close { + grid-area: close; +} + @media not ((prefers-contrast) or (forced-colors)) { /* Force the page to follow the same Tor theme, regardless of * prefers-color-scheme. */ @@ -196,6 +262,13 @@ body:not(.show-tor-check) #tor-check { body > :not(#search-form) { /* Same as --in-content-page-color when "prefers-color-scheme: dark" */ color: var(--color-gray-05); + --button-text-color: currentColor; + --in-content-button-text-color: var(--button-text-color); + --in-content-button-text-color-hover: var(--button-text-color); + --in-content-button-text-color-active: var(--button-text-color); + --button-text-color-ghost: var(--button-text-color); + --button-text-color-ghost-hover: var(--button-text-color); + --button-text-color-ghost-active: var(--button-text-color); --link-color: var(--tor-link-color-dark); --link-color-hover: var(--tor-link-color-hover-dark); --link-color-active: var(--tor-link-color-active-dark); @@ -234,4 +307,20 @@ body:not(.show-tor-check) #tor-check { #search-form.onionized-search #onionize-toggle { color: var(--tor-link-color-light); } + + #survey { + background-color: #3d1559; + border-color: transparent; + } + + #survey-icon { + background-color: #00000040; + } + + #survey-launch { + color: var(--color-gray-100); + --in-content-primary-button-background: var(--tor-button-background-color-dark); + --in-content-primary-button-background-hover: var(--tor-button-background-color-hover-dark); + --in-content-primary-button-background-active: var(--tor-button-background-color-active-dark); + } } ===================================== browser/components/abouttor/content/aboutTor.html ===================================== @@ -22,6 +22,10 @@ <link rel="localization" href="browser/newtab/newtab.ftl" /> <link rel="localization" href="toolkit/global/tor-browser.ftl" /> + <script + type="module" + src="chrome://global/content/elements/moz-button.mjs" + ></script> <script type="module" src="chrome://global/content/elements/moz-toggle.mjs" @@ -44,7 +48,7 @@ data-l10n-id="tor-browser-home-heading-testing" ></span> </h1> - <p id="tor-check"> + <p id="tor-check" class="tor-home-box"> <img id="tor-check-icon" alt="" @@ -132,5 +136,26 @@ ></a> </span> </p> + <!-- Survey element, initially used for tor-browser#43504. --> + <article id="survey" class="tor-home-box" aria-labelledby="survey-heading"> + <img + id="survey-icon" + alt="" + src="chrome://browser/content/abouttor/1f44b-waving-hand.svg" + /> + <h2 id="survey-heading"></h2> + <p id="survey-body"></p> + <div id="survey-buttons"> + <button id="survey-launch" class="primary"></button> + <button id="survey-dismiss"></button> + </div> + <moz-button + id="survey-close" + type="icon ghost" + class="close" + size="16" + iconSrc="chrome://global/skin/icons/close.svg" + ></moz-button> + </article> </body> </html> ===================================== browser/components/abouttor/content/aboutTor.js ===================================== @@ -167,14 +167,241 @@ const MessageArea = { }, }; +/** + * A reusable area for surveys. + * + * Initially used for tor-browser#43504. + */ +const SurveyArea = { + /** + * The current version of the survey. + * + * Should be increased every time we start a new survey campaign. + * + * @type {integer} + */ + _version: 1, + + /** + * The date to start showing the survey. + * + * @type {integer} + */ + _startDate: Date.UTC(2025, 3, 14, 12), // 2025 April 14th, 12:00. + + /** + * The date to stop showing the current survey. + * + * @type {integer} + */ + _endDate: Date.UTC(2025, 3, 28), // 2025 April 28th, 00:00. + + /** + * The survey URL. + * + * @type {string} + */ + _urlBase: "https://survey.torproject.org/index.php/923269", + + /** + * @typedef {object} SurveyLocaleData + * + * Locale-specific data for the survey. + * + * @property {string[]} browserLocales - The browser locales this should match + * with. The first locale should match the locale of the strings. + * @property {string} urlCode - The language code to pass to the survey URL. + * @property {string} dir - The direction of the locale. + * @property {object} strings - The strings to use for the survey banner. + */ + + /** + * The data for the selected locale. + * + * @type {SurveyLocaleData} + */ + _localeData: null, + + /** + * The data for each locale that is supported. + * + * The first entry is the default. + * + * @type {SurveyLocaleData[]} + */ + _localeDataSet: [ + { + browserLocales: ["en-US"], + dir: "ltr", + urlCode: "en", + strings: { + heading: "We’d love your feedback", + body: "Help us improve Tor Browser by completing this 10-minute survey.", + launch: "Launch the survey", + dismiss: "Not now", + close: "Close", + }, + }, + { + browserLocales: ["es-ES"], + dir: "ltr", + urlCode: "es", + strings: { + heading: "Danos tu opinión", + body: "Ayúdanos a mejorar el Navegador Tor completando esta encuesta de 10 minutos.", + launch: "Iniciar la encuesta", + dismiss: "Más adelante", + close: "Cerrar", + }, + }, + { + browserLocales: ["ru"], + dir: "ltr", + urlCode: "ru", + strings: { + heading: "Мы будем рады вашим отзывам", + body: "Помогите нам улучшить браузер Tor, пройдя 10-минутный опрос.", + launch: "Начать опрос", + dismiss: "Не сейчас", + close: "Закрыть", + }, + }, + { + browserLocales: ["fr"], + dir: "ltr", + urlCode: "fr", + strings: { + heading: "Nous serions ravis d’avoir votre avis !", + body: "Aidez-nous à améliorer le navigateur Tor en répondant à cette enquête de 10 minutes.", + launch: "Lancer l'enquête", + dismiss: "Pas maintenant", + close: "Fermer", + }, + }, + { + // Also show this pt-BR banner for the pt-PT browser locale. + browserLocales: ["pt-BR", "pt-PT"], + dir: "ltr", + urlCode: "pt-BR", + strings: { + heading: "Adoraríamos ouvir sua opinião", + body: "Ajude-nos a melhorar o Navegador Tor respondendo a esta pesquisa de 10 minutos.", + launch: "Iniciar a pesquisa", + dismiss: "Mais tarde", + close: "Fechar", + }, + }, + ], + + /** + * Initialize the survey area. + */ + init() { + document.getElementById("survey-launch").addEventListener("click", () => { + if (!this._localeData) { + return; + } + const url = new URL(this._urlBase); + url.searchParams.append("lang", this._localeData.urlCode); + open(url.href); + }); + document.getElementById("survey-close").addEventListener("click", () => { + this._hide(); + }); + document.getElementById("survey-dismiss").addEventListener("click", () => { + this._hide(); + }); + }, + + /** + * Permanently hide this survey. + */ + _hide() { + document.body.classList.remove("show-survey"); + // Move focus to the search input. + document.getElementById("search-input").focus(); + + dispatchEvent( + new CustomEvent("SurveyDismissed", { + // We pass in the current survey version to record the *latest* + // version that the user has dismissed. This will overwrite any + // previous versions. + detail: this._version, + bubbles: true, + }) + ); + }, + + /** + * Decide whether to show the survey. + * + * @param {integer} dismissVersion - The latest version of survey that the + * user has already dismissed. + * @param {boolean} isStable - Whether this is the stable release of Tor + * Browser. + */ + potentiallyShow(dismissVersion, isStable) { + const now = Date.now(); + if ( + now < this._startDate || + now >= this._endDate || + // The user has already dismissed this version of the survey before: + dismissVersion >= this._version || + !isStable + ) { + // Don't show the survey. + return; + } + + // Determine the survey locale based on the about:tor locale. + // NOTE: We do not user document.l10n to translate the survey banner. + // Instead we only translate the banner into a limited set of locales that + // match the languages that the survey itself supports. This should match + // the language of the survey when it is opened by the user. + const pageLocale = document.documentElement.getAttribute("lang"); + for (const localeData of this._localeDataSet) { + if (localeData.browserLocales.includes(pageLocale)) { + this._localeData = localeData; + break; + } + } + if (!this._localeData) { + // Show the default en-US banner. + this._localeData = this._localeDataSet[0]; + } + + // Make sure the survey's lang and dir attributes match the chosen locale. + const surveyEl = document.getElementById("survey"); + surveyEl.setAttribute("lang", this._localeData.browserLocales[0]); + surveyEl.setAttribute("dir", this._localeData.dir); + + const { heading, body, launch, dismiss, close } = this._localeData.strings; + + document.getElementById("survey-heading").textContent = heading; + document.getElementById("survey-body").textContent = body; + document.getElementById("survey-launch").textContent = launch; + document.getElementById("survey-dismiss").textContent = dismiss; + document.getElementById("survey-close").setAttribute("title", close); + + document.body.classList.add("show-survey"); + }, +}; + window.addEventListener("DOMContentLoaded", () => { SearchWidget.init(); MessageArea.init(); + SurveyArea.init(); }); window.addEventListener("InitialData", event => { - const { torConnectEnabled, isStable, searchOnionize, messageData } = - event.detail; + const { + torConnectEnabled, + isStable, + searchOnionize, + messageData, + surveyDismissVersion, + } = event.detail; SearchWidget.setOnionizeState(!!searchOnionize); MessageArea.setMessageData(messageData, !!isStable, !!torConnectEnabled); + SurveyArea.potentiallyShow(surveyDismissVersion, isStable); }); ===================================== browser/components/abouttor/jar.mn ===================================== @@ -3,6 +3,7 @@ browser.jar: content/browser/abouttor/aboutTor.js (content/aboutTor.js) content/browser/abouttor/aboutTor.html (content/aboutTor.html) content/browser/abouttor/dax-logo.svg (content/dax-logo.svg) + content/browser/abouttor/1f44b-waving-hand.svg (content/1f44b-waving-hand.svg) content/browser/abouttor/1f4e3-megaphone.svg (content/1f4e3-megaphone.svg) content/browser/abouttor/26a1-high-voltage.svg (content/26a1-high-voltage.svg) content/browser/abouttor/2728-sparkles.svg (content/2728-sparkles.svg) View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dce8efc… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dce8efc… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in...
by henry (@henry) 10 Mar '25

10 Mar '25
henry pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 4b55145d by Henry Wilkes at 2025-03-10T11:17:32+00:00 fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection TB 43547: Removing the last bridge sets the source to Invalid instead. - - - - - 1 changed file: - browser/components/torpreferences/content/connectionPane.js Changes: ===================================== browser/components/torpreferences/content/connectionPane.js ===================================== @@ -739,9 +739,16 @@ const gBridgeGrid = { } strings.splice(index, 1); - TorSettings.changeSettings({ - bridges: { source, bridge_strings: strings }, - }); + if (strings.length) { + TorSettings.changeSettings({ + bridges: { source, bridge_strings: strings }, + }); + } else { + // Remove all bridges and disable. + TorSettings.changeSettings({ + bridges: { source: TorBridgeSource.Invalid }, + }); + } }); }, View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4b55145… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4b55145… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] 3 commits: fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in...
by henry (@henry) 10 Mar '25

10 Mar '25
henry pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 03900c02 by Henry Wilkes at 2025-03-10T11:05:42+00:00 fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection TB 43463: Use TorConnect.frequentRegionCodes promise to populate the locations popup. Also ensure the initial value is "automatic". - - - - - 8e2dc3e0 by Henry Wilkes at 2025-03-10T11:05:44+00:00 fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser TB 43463: Renamed TorConnect getCountryCodes to getFrequentRegions. - - - - - 48d3af20 by Henry Wilkes at 2025-03-10T11:05:45+00:00 fixup! TB 40597: Implement TorSettings module TB 43463: Load Moat regions from a local file rather than using Moat. Also rename getCountryCodes to getFrequentRegions. - - - - - 10 changed files: - .eslintignore - .prettierignore - browser/components/torpreferences/content/connectionPane.js - toolkit/components/torconnect/TorConnectParent.sys.mjs - toolkit/components/torconnect/content/aboutTorConnect.js - toolkit/content/jar.mn - + toolkit/content/moat_countries_dev_build.json - toolkit/modules/Moat.sys.mjs - toolkit/modules/RemotePageAccessManager.sys.mjs - toolkit/modules/TorConnect.sys.mjs Changes: ===================================== .eslintignore ===================================== @@ -304,4 +304,5 @@ browser/app/profile/001-base-profile.js browser/app/profile/000-tor-browser.js mobile/android/app/000-tor-browser-android.js toolkit/content/pt_config.json +toolkit/content/moat_contries_dev_build.json toolkit/components/lox/lox_wasm.jsm ===================================== .prettierignore ===================================== @@ -1533,4 +1533,5 @@ browser/app/profile/001-base-profile.js browser/app/profile/000-tor-browser.js mobile/android/app/000-tor-browser-android.js toolkit/content/pt_config.json +toolkit/content/moat_countries_dev_build.json toolkit/components/lox/lox_wasm.jsm ===================================== browser/components/torpreferences/content/connectionPane.js ===================================== @@ -2529,65 +2529,48 @@ const gConnectionPane = (function () { regionCode: location.value, }); }); - this._populateLocations = () => { - const currentValue = location.value; - locationEntries.textContent = ""; - const createItem = (value, label, disabled) => { - const item = document.createXULElement("menuitem"); - item.setAttribute("value", value); - item.setAttribute("label", label); - if (disabled) { - item.setAttribute("disabled", "true"); - } - return item; - }; - const addLocations = codes => { - const items = []; - for (const code of codes) { - items.push( - createItem( - code, - TorConnect.countryNames[code] - ? TorConnect.countryNames[code] - : code - ) - ); - } - items.sort((left, right) => left.label.localeCompare(right.label)); - locationEntries.append(...items); - }; - locationEntries.append( - createItem("automatic", TorStrings.settings.bridgeLocationAutomatic) - ); - if (TorConnect.countryCodes.length) { - locationEntries.append( - createItem("", TorStrings.settings.bridgeLocationFrequent, true) - ); - addLocations(TorConnect.countryCodes); - locationEntries.append( - createItem("", TorStrings.settings.bridgeLocationOther, true) + const createItem = (value, label, disabled) => { + const item = document.createXULElement("menuitem"); + item.setAttribute("value", value); + item.setAttribute("label", label); + if (disabled) { + item.setAttribute("disabled", "true"); + } + return item; + }; + const addLocations = codes => { + const items = []; + for (const code of codes) { + items.push( + createItem( + code, + TorConnect.countryNames[code] + ? TorConnect.countryNames[code] + : code + ) ); } - addLocations(Object.keys(TorConnect.countryNames)); - location.value = currentValue; + items.sort((left, right) => left.label.localeCompare(right.label)); + locationEntries.append(...items); }; + // Add automatic before waiting for getFrequentRegions. + locationEntries.append( + createItem("automatic", TorStrings.settings.bridgeLocationAutomatic) + ); + location.value = "automatic"; + TorConnect.getFrequentRegions().then(frequentCodes => { + locationEntries.append( + createItem("", TorStrings.settings.bridgeLocationFrequent, true) + ); + addLocations(frequentCodes); + locationEntries.append( + createItem("", TorStrings.settings.bridgeLocationOther, true) + ); + addLocations(Object.keys(TorConnect.countryNames)); + }); this._showAutoconfiguration = () => { - if ( - !TorConnect.canBeginAutoBootstrap || - !TorConnect.potentiallyBlocked - ) { - locationGroup.setAttribute("hidden", "true"); - return; - } - // Populate locations, even though we will show only the automatic - // item for a moment. In my opinion showing the button immediately is - // better then waiting for the Moat query to finish (after a while) - // and showing the controls only after that. - this._populateLocations(); - locationGroup.removeAttribute("hidden"); - if (!TorConnect.countryCodes.length) { - TorConnect.getCountryCodes().then(() => this._populateLocations()); - } + locationGroup.hidden = + !TorConnect.canBeginAutoBootstrap || !TorConnect.potentiallyBlocked; }; this._showAutoconfiguration(); } ===================================== toolkit/components/torconnect/TorConnectParent.sys.mjs ===================================== @@ -132,8 +132,8 @@ export class TorConnectParent extends JSWindowActorParent { stage: TorConnect.stage, quickstartEnabled: TorConnect.quickstart, }; - case "torconnect:get-country-codes": - return TorConnect.getCountryCodes(); + case "torconnect:get-frequent-regions": + return TorConnect.getFrequentRegions(); } return undefined; } ===================================== toolkit/components/torconnect/content/aboutTorConnect.js ===================================== @@ -610,7 +610,7 @@ class AboutTorConnect { showLocationForm(isChoose, buttonLabel) { this.hideButtons(); - RPMSendQuery("torconnect:get-country-codes").then(codes => { + RPMSendQuery("torconnect:get-frequent-regions").then(codes => { if (codes && codes.length) { this.populateFrequentLocations(codes); this.setLocation(); ===================================== toolkit/content/jar.mn ===================================== @@ -158,4 +158,9 @@ toolkit.jar: content/global/third_party/d3/d3.js (/third_party/js/d3/d3.js) content/global/third_party/cfworker/json-schema.js (/third_party/js/cfworker/json-schema.js) + # The pt_config.json content should be replaced in the omni.ja in + # tor-browser-build. See tor-browser#42343. content/global/pt_config.json (pt_config.json) + # The moat_countries.json content should be replaced in the omni.ja in + # tor-browser-build. See tor-browser#43463. + content/global/moat_countries.json (moat_countries_dev_build.json) ===================================== toolkit/content/moat_countries_dev_build.json ===================================== @@ -0,0 +1,7 @@ +[ + { + "_comment1": "Used for dev build, replaced for release builds in tor-browser-build.", + "_comment2": "List is taken from tpo/anti-censorship/rdsys-admin 810fb24b:conf/circumvention.json and filtered with `jq -c keys`." + }, + "by","cn","eg","hk","ir","mm","ru","tm" +] ===================================== toolkit/modules/Moat.sys.mjs ===================================== @@ -335,20 +335,6 @@ export class MoatRPC { return settings; } - // Request a list of country codes with available censorship circumvention - // settings. - // - // returns an array of ISO 3166-1 alpha-2 country codes which we can query - // settings for. - async circumvention_countries() { - const args = {}; - const { response } = await this.#makeRequest( - "circumvention/countries", - args - ); - return response; - } - // Request a copy of the builtin bridges, takes the following parameters: // - transports: optional, an array of transports we would like the latest // bridge strings for; if empty (or not given) returns all of them ===================================== toolkit/modules/RemotePageAccessManager.sys.mjs ===================================== @@ -255,7 +255,7 @@ export let RemotePageAccessManager = { ], RPMSendQuery: [ "torconnect:get-init-args", - "torconnect:get-country-codes", + "torconnect:get-frequent-regions", ], }, "about:welcome": { ===================================== toolkit/modules/TorConnect.sys.mjs ===================================== @@ -817,8 +817,14 @@ export const TorConnect = { }; }, - // list of country codes Moat has settings for - _countryCodes: [], + /** + * Promise that resolves to a list of region codes that Moat has special + * bridge settings for. + * + * @type {Promise<string[]>} + */ + _moatRegionsPromise: null, + _countryNames: Object.freeze( (() => { const codes = Services.intl.getAvailableLocaleDisplayNames("region"); @@ -892,6 +898,18 @@ export const TorConnect = { return; } + this._moatRegionsPromise = fetch( + "chrome://global/content/moat_countries.json" + ) + .then(req => req.json()) + // Filter out the "_comment" object in the moat_countries_dev_build.json + // file. + .then(regionList => regionList.filter(r => typeof r === "string")) + .catch(e => { + lazy.logger.error("Failed to fetch Moat region codes", e); + return []; + }); + let observeTopic = addTopic => { Services.obs.addObserver(this, addTopic); lazy.logger.debug(`Observing topic '${addTopic}'`); @@ -1113,10 +1131,6 @@ export const TorConnect = { return null; }, - get countryCodes() { - return this._countryCodes; - }, - get countryNames() { return this._countryNames; }, @@ -1526,25 +1540,12 @@ export const TorConnect = { this._makeStageRequest(TorConnectStage.ChooseRegion); }, - /* - Further external commands and helper methods + /** + * Get the list of regions that Moat has settings for. + * + * @returns {string[]} - The list of region codes. */ - - async getCountryCodes() { - // Difference with the getter: this is to be called by TorConnectParent, and - // downloads the country codes if they are not already in cache. - if (this._countryCodes.length) { - return this._countryCodes; - } - const mrpc = new lazy.MoatRPC(); - try { - await mrpc.init(); - this._countryCodes = await mrpc.circumvention_countries(); - } catch (err) { - lazy.logger.error("An error occurred while fetching country codes", err); - } finally { - mrpc.uninit(); - } - return this._countryCodes; + async getFrequentRegions() { + return this._moatRegionsPromise ?? []; }, }; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8bb1b9… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8bb1b9… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] 2 commits: fixup! TB 40041 [android]: Implement Tor Network Settings
by Dan Ballard (@dan) 07 Mar '25

07 Mar '25
Dan Ballard pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 496a888f by clairehurst at 2025-03-07T04:03:11+00:00 fixup! TB 40041 [android]: Implement Tor Network Settings tor-browser#43329 [Android] Remove remaining traces of the old Bootstrap - - - - - 8bb1b960 by clairehurst at 2025-03-07T04:03:11+00:00 fixup! TB 41878: [android] Add standalone Tor Bootstrap tor-browser#43329 [Android] Remove remaining traces of the old Bootstrap # Conflicts: # mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt - - - - - 3 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt - − mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapStatus.kt - mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt ===================================== @@ -158,8 +158,6 @@ import org.mozilla.fenix.search.toolbar.SearchSelectorMenu import org.mozilla.fenix.tabstray.Page import org.mozilla.fenix.tabstray.TabsTrayAccessPoint import org.mozilla.fenix.theme.FirefoxTheme -import org.mozilla.fenix.tor.TorBootstrapFragmentDirections -import org.mozilla.fenix.tor.TorBootstrapStatus import org.mozilla.fenix.tor.TorConnectionAssistViewModel import org.mozilla.fenix.utils.Settings.Companion.TOP_SITES_PROVIDER_MAX_THRESHOLD import org.mozilla.fenix.utils.allowUndo @@ -262,7 +260,6 @@ class HomeFragment : Fragment(), UserInteractionHandler { private val bottomToolbarContainerIntegration = ViewBoundFeatureWrapper<BottomToolbarContainerIntegration>() private lateinit var savedLoginsLauncher: ActivityResultLauncher<Intent> - private lateinit var torBootstrapStatus: TorBootstrapStatus override fun onCreate(savedInstanceState: Bundle?) { // DO NOT ADD ANYTHING ABOVE THIS getProfilerTime CALL! @@ -295,12 +292,6 @@ class HomeFragment : Fragment(), UserInteractionHandler { val activity = activity as HomeActivity val components = requireComponents - torBootstrapStatus = TorBootstrapStatus( - !BuildConfig.DISABLE_TOR, - components.torController, - ::dispatchModeChanges - ) - val currentWallpaperName = requireContext().settings().currentWallpaperName applyWallpaper( wallpaperName = currentWallpaperName, @@ -1037,7 +1028,6 @@ class HomeFragment : Fragment(), UserInteractionHandler { override fun onStop() { dismissRecommendPrivateBrowsingShortcut() super.onStop() - torBootstrapStatus.unregisterTorListener() } override fun onStart() { @@ -1090,15 +1080,6 @@ class HomeFragment : Fragment(), UserInteractionHandler { } } - private fun dispatchModeChanges(isBootstrapping: Boolean) { - if (isBootstrapping) { - val directions = - TorBootstrapFragmentDirections - .actionStartupTorbootstrap() - findNavController().navigate(directions) - } - } - @VisibleForTesting internal fun removeCollectionWithUndo(tabCollection: TabCollection) { val snackbarMessage = getString(R.string.snackbar_collection_deleted) @@ -1122,7 +1103,6 @@ class HomeFragment : Fragment(), UserInteractionHandler { override fun onResume() { super.onResume() - torBootstrapStatus.registerTorListener() if (browsingModeManager.mode == BrowsingMode.Private) { activity?.window?.setBackgroundDrawableResource(R.drawable.private_home_background_gradient) } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapStatus.kt deleted ===================================== @@ -1,45 +0,0 @@ -/* 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.tor - -@SuppressWarnings("LongParameterList", "TooManyFunctions") -class TorBootstrapStatus( - private val shouldStartTor: Boolean, - private val torController: TorController, - private val dispatchModeChanges: (isShouldBootstrap: Boolean) -> Unit - ) : TorEvents { - - init { - torController.registerTorListener(this) - } - - fun isBootstrapping() = (shouldStartTor && !torController.isBootstrapped) - - - @SuppressWarnings("EmptyFunctionBlock") - override fun onTorConnecting() { - } - - override fun onTorConnected() { - dispatchModeChanges(isBootstrapping()) - } - - override fun onTorStopped() { - dispatchModeChanges(isBootstrapping()) - } - - @SuppressWarnings("EmptyFunctionBlock") - override fun onTorStatusUpdate(entry: String?, status: String?, progress: Double?) { - } - - fun unregisterTorListener() { - torController.unregisterTorListener(this) - } - - fun registerTorListener() { - torController.registerTorListener(this) - } - -} ===================================== mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml ===================================== @@ -15,12 +15,6 @@ app:popUpTo="@id/startupFragment" app:popUpToInclusive="true" /> - <action - android:id="@+id/action_startup_torbootstrap" - app:destination="@id/torbootstrapFragment" - app:popUpTo="@id/startupFragment" - app:popUpToInclusive="true" /> - <action android:id="@+id/action_startup_tor_connection_assist" app:destination="@+id/torConnectionAssistFragment" @@ -248,25 +242,6 @@ app:popExitAnim="@anim/slide_out_right" /> </fragment> - <fragment - android:id="@+id/torbootstrapFragment" - android:name="org.mozilla.fenix.tor.TorBootstrapFragment" - tools:layout="@layout/fragment_home"> - - <action - android:id="@+id/action_home" - app:destination="@id/homeFragment" - app:popUpTo="@id/torbootstrapFragment" - app:popUpToInclusive="true" /> - <action - android:id="@+id/action_torbootstrapFragment_to_SettingsFragment" - app:destination="@id/settingsFragment" - app:enterAnim="@anim/slide_in_right" - app:exitAnim="@anim/slide_out_left" - app:popEnterAnim="@anim/slide_in_left" - app:popExitAnim="@anim/slide_out_right" /> - </fragment> - <fragment android:id="@+id/torConnectionAssistFragment" android:name="org.mozilla.fenix.tor.TorConnectionAssistFragment" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e68b04… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e68b04… 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 41387: Fix Lyrebird for Android with Go 1.23.
by Pier Angelo Vendrame (@pierov) 06 Mar '25

06 Mar '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 34b8f1ae by Pier Angelo Vendrame at 2025-03-06T16:52:55+01:00 Bug 41387: Fix Lyrebird for Android with Go 1.23. - - - - - 1 changed file: - projects/lyrebird/build Changes: ===================================== projects/lyrebird/build ===================================== @@ -17,7 +17,7 @@ cd /var/tmp/build/[% project %]-[% c('version') %] tar -xf $rootdir/[% c('input_files_by_name/go_vendor') %] -go build -mod=vendor -ldflags '-s' ./cmd/lyrebird +go build -mod=vendor -ldflags '-s[% IF c("var/android") %] -checklinkname=0[% END %]' ./cmd/lyrebird cp -a lyrebird[% IF c("var/windows") %].exe[% END %] $distdir cd $distdir View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/3… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/3… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-13.5] Bug 41383: Add clairehurst to list of accepted firefox/geckoview signers
by morgan (@morgan) 06 Mar '25

06 Mar '25
morgan pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build Commits: e2aea614 by Morgan at 2025-03-06T11:29:19+00:00 Bug 41383: Add clairehurst to list of accepted firefox/geckoview signers - - - - - 3 changed files: - + keyring/clairehurst.gpg - projects/firefox/config - projects/geckoview/config Changes: ===================================== keyring/clairehurst.gpg ===================================== Binary files /dev/null and b/keyring/clairehurst.gpg differ ===================================== projects/firefox/config ===================================== @@ -6,6 +6,7 @@ tag_gpg_id: 1 git_url: https://gitlab.torproject.org/tpo/applications/tor-browser.git gpg_keyring: - boklm.gpg + - clairehurst.gpg - dan_b.gpg - ma1.gpg - morgan.gpg ===================================== projects/geckoview/config ===================================== @@ -6,6 +6,7 @@ tag_gpg_id: 1 git_url: https://gitlab.torproject.org/tpo/applications/tor-browser.git gpg_keyring: - boklm.gpg + - clairehurst.gpg - dan_b.gpg - ma1.gpg - morgan.gpg 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.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-14.0] Bug 41383: Add clairehurst to list of accepted firefox/geckoview signers
by morgan (@morgan) 06 Mar '25

06 Mar '25
morgan pushed to branch maint-14.0 at The Tor Project / Applications / tor-browser-build Commits: 08b0f096 by Morgan at 2025-03-06T11:28:47+00:00 Bug 41383: Add clairehurst to list of accepted firefox/geckoview signers - - - - - 3 changed files: - + keyring/clairehurst.gpg - projects/firefox/config - projects/geckoview/config Changes: ===================================== keyring/clairehurst.gpg ===================================== Binary files /dev/null and b/keyring/clairehurst.gpg differ ===================================== projects/firefox/config ===================================== @@ -6,6 +6,7 @@ tag_gpg_id: 1 git_url: https://gitlab.torproject.org/tpo/applications/tor-browser.git gpg_keyring: - boklm.gpg + - clairehurst.gpg - dan_b.gpg - ma1.gpg - morgan.gpg ===================================== projects/geckoview/config ===================================== @@ -6,6 +6,7 @@ tag_gpg_id: 1 git_url: https://gitlab.torproject.org/tpo/applications/tor-browser.git gpg_keyring: - boklm.gpg + - clairehurst.gpg - dan_b.gpg - ma1.gpg - morgan.gpg View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0… -- 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/tor-browser-build][main] Bug 41383: Add clairehurst to list of accepted firefox/geckoview signers
by morgan (@morgan) 06 Mar '25

06 Mar '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: d4b60fd3 by Morgan at 2025-03-06T11:20:46+00:00 Bug 41383: Add clairehurst to list of accepted firefox/geckoview signers - - - - - 3 changed files: - + keyring/clairehurst.gpg - projects/firefox/config - projects/geckoview/config Changes: ===================================== keyring/clairehurst.gpg ===================================== Binary files /dev/null and b/keyring/clairehurst.gpg differ ===================================== projects/firefox/config ===================================== @@ -6,6 +6,7 @@ tag_gpg_id: 1 git_url: https://gitlab.torproject.org/tpo/applications/tor-browser.git gpg_keyring: - boklm.gpg + - clairehurst.gpg - dan_b.gpg - ma1.gpg - morgan.gpg ===================================== projects/geckoview/config ===================================== @@ -6,6 +6,7 @@ tag_gpg_id: 1 git_url: https://gitlab.torproject.org/tpo/applications/tor-browser.git gpg_keyring: - boklm.gpg + - clairehurst.gpg - dan_b.gpg - ma1.gpg - morgan.gpg View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-128.8.0esr-14.5-1] 3 commits: Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo
by Pier Angelo Vendrame (@pierov) 06 Mar '25

06 Mar '25
Pier Angelo Vendrame pushed to branch base-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 9492cb87 by Julian Descottes at 2025-03-06T10:46:29+01:00 Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo Differential Revision: https://phabricator.services.mozilla.com/D221448 - - - - - 29861015 by Beatriz Rizental at 2025-03-06T10:47:06+01:00 fixup! Base Browser's .mozconfigs. - - - - - 63d64ecc by Beatriz Rizental at 2025-03-06T10:47:15+01:00 BB 43535: Enable tests - - - - - 5 changed files: - mozconfig-linux-aarch64-dev - mozconfig-linux-x86_64-dev - mozconfig-macos-dev - testing/marionette/harness/marionette_harness/runner/base.py - testing/specialpowers/api.js Changes: ===================================== mozconfig-linux-aarch64-dev ===================================== @@ -16,3 +16,5 @@ ac_add_options --disable-install-strip ac_add_options --with-base-browser-version=dev-build ac_add_options --disable-base-browser-update + +ac_add_options --enable-tests ===================================== mozconfig-linux-x86_64-dev ===================================== @@ -19,3 +19,5 @@ ac_add_options --disable-base-browser-update # Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme + +ac_add_options --enable-tests ===================================== mozconfig-macos-dev ===================================== @@ -19,3 +19,5 @@ ac_add_options --disable-update-agent # Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme + +ac_add_options --enable-tests ===================================== testing/marionette/harness/marionette_harness/runner/base.py ===================================== @@ -222,7 +222,7 @@ class MarionetteTestResult(StructuredTestResult, TestResultCollection): self.logger.info("END LOG:") def stopTest(self, *args, **kwargs): - unittest._TextTestResult.stopTest(self, *args, **kwargs) + unittest.TextTestResult.stopTest(self, *args, **kwargs) if self.marionette.check_for_crash(): # this tells unittest.TestSuite not to continue running tests self.shouldStop = True ===================================== testing/specialpowers/api.js ===================================== @@ -40,6 +40,18 @@ this.specialpowers = class extends ExtensionAPI { uri, resProto.ALLOW_CONTENT_ACCESS ); + } else { + // This is a hack! + // For some reason, this specific substituion has an extra `/` in the path. + // This is a workaround to fix it. + // + // TODO (#43545): Remove this once we have a proper fix. + let uri = resProto.getSubstitution("testing-common"); + resProto.setSubstitution( + "testing-common", + Services.io.newURI(uri.spec.replace("file:////", "file:///")), + resProto.ALLOW_CONTENT_ACCESS + ); } SpecialPowersParent.registerActor(); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/cb0e95… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/cb0e95… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.8.0esr-14.5-1] 4 commits: Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo
by Pier Angelo Vendrame (@pierov) 06 Mar '25

06 Mar '25
Pier Angelo Vendrame pushed to branch tor-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 3d30c6e9 by Julian Descottes at 2025-03-06T10:30:48+01:00 Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo Differential Revision: https://phabricator.services.mozilla.com/D221448 - - - - - a21c94fd by Beatriz Rizental at 2025-03-06T10:30:48+01:00 fixup! Base Browser's .mozconfigs. - - - - - d5d98c87 by Beatriz Rizental at 2025-03-06T10:30:48+01:00 fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser - - - - - e68b047e by Beatriz Rizental at 2025-03-06T10:30:49+01:00 BB 43535: Enable tests - - - - - 7 changed files: - mozconfig-linux-aarch64-dev - mozconfig-linux-x86_64-dev - mozconfig-macos-dev - testing/marionette/harness/marionette_harness/runner/base.py - testing/specialpowers/api.js - tools/torbrowser/Makefile - + tools/torbrowser/prepare-tests.sh Changes: ===================================== mozconfig-linux-aarch64-dev ===================================== @@ -18,3 +18,5 @@ ac_add_options --disable-install-strip ac_add_options --with-base-browser-version=dev-build ac_add_options --disable-base-browser-update + +ac_add_options --enable-tests ===================================== mozconfig-linux-x86_64-dev ===================================== @@ -21,3 +21,5 @@ ac_add_options --disable-base-browser-update # Let's make sure no preference is enabling either Adobe's or Google's CDM. ac_add_options --disable-eme + +ac_add_options --enable-tests ===================================== mozconfig-macos-dev ===================================== @@ -25,3 +25,5 @@ ac_add_options --with-relative-data-dir=../TorBrowser-Data/Browser #copied from the diff between mozconfig-linux-x86_64 and mozconfig-linux-x86_64-dev export MOZ_APP_REMOTINGNAME="Tor Browser Dev" ac_add_options --with-branding=browser/branding/tb-nightly + +ac_add_options --enable-tests ===================================== testing/marionette/harness/marionette_harness/runner/base.py ===================================== @@ -222,7 +222,7 @@ class MarionetteTestResult(StructuredTestResult, TestResultCollection): self.logger.info("END LOG:") def stopTest(self, *args, **kwargs): - unittest._TextTestResult.stopTest(self, *args, **kwargs) + unittest.TextTestResult.stopTest(self, *args, **kwargs) if self.marionette.check_for_crash(): # this tells unittest.TestSuite not to continue running tests self.shouldStop = True ===================================== testing/specialpowers/api.js ===================================== @@ -40,6 +40,18 @@ this.specialpowers = class extends ExtensionAPI { uri, resProto.ALLOW_CONTENT_ACCESS ); + } else { + // This is a hack! + // For some reason, this specific substituion has an extra `/` in the path. + // This is a workaround to fix it. + // + // TODO (#43545): Remove this once we have a proper fix. + let uri = resProto.getSubstitution("testing-common"); + resProto.setSubstitution( + "testing-common", + Services.io.newURI(uri.spec.replace("file:////", "file:///")), + resProto.ALLOW_CONTENT_ACCESS + ); } SpecialPowersParent.registerActor(); ===================================== tools/torbrowser/Makefile ===================================== @@ -53,6 +53,9 @@ build: deploy: ./deploy.sh $(BINARIES) $(BUILD_OUTPUT) +prepare-tests: + ./prepare-tests.sh $(BINARIES) $(BUILD_OUTPUT) + all: build deploy run: ===================================== tools/torbrowser/prepare-tests.sh ===================================== @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +BINARIES="$1" +BUILD_OUTPUT="$2" + +if [ ! -d "$BUILD_OUTPUT" ]; then + echo "Error: $BUILD_OUTPUT directory does not exist." + echo "Make sure to run `mach ./build` or `make -C tools/torbrowser build`." + exit 1 +fi + +if [ ! -d "$BINARIES" ]; then + echo "Error: $BINARIES directory does not exist." + echo "Make sure to run `make -C tools/torbrowser fetch`." + exit 1 +fi + +if [ "$(uname)" = "Darwin" ]; then + cp -r "$BINARIES/Tor Browser.app/Contents/MacOS/Tor" "$BUILD_OUTPUT/dist/firefox/"*.app/Contents/MacOS + cp -r "$BINARIES/Tor Browser.app/Contents/Resources/fonts" "$BUILD_OUTPUT/dist/firefox/"*.app/Contents/Resources +else + cp -r "$BINARIES/dev/Browser/fonts" "$BUILD_OUTPUT/dist/bin" + cp -r "$BINARIES/dev/Browser/TorBrowser" "$BUILD_OUTPUT/dist/bin" +fi View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/347af8… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/347af8… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser] Pushed new tag base-browser-128.8.0esr-14.5-1-build1
by clairehurst (@clairehurst) 05 Mar '25

05 Mar '25
clairehurst pushed new tag base-browser-128.8.0esr-14.5-1-build1 at The Tor Project / Applications / Mullvad Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/base-… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser] Pushed new branch mullvad-browser-128.8.0esr-14.5-1
by clairehurst (@clairehurst) 05 Mar '25

05 Mar '25
clairehurst pushed new branch mullvad-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bump Firefox version to 128.8.0esr for nightly builds.
by clairehurst (@clairehurst) 05 Mar '25

05 Mar '25
clairehurst pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: f3e61226 by clairehurst at 2025-03-05T13:20:04-07:00 Bump Firefox version to 128.8.0esr for nightly builds. - - - - - 2 changed files: - projects/firefox/config - projects/geckoview/config Changes: ===================================== projects/firefox/config ===================================== @@ -14,12 +14,12 @@ container: use_container: 1 var: - firefox_platform_version: '128.7.0' + firefox_platform_version: '128.8.0' firefox_version: '[% c("var/firefox_platform_version") %]esr' browser_series: '14.5' browser_rebase: 1 browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]' - browser_build: 2 + browser_build: 1 branding_directory_prefix: 'tb' copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]' nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]' ===================================== projects/geckoview/config ===================================== @@ -16,12 +16,12 @@ container: build_apk: 1 var: - firefox_platform_version: '128.7.0' + firefox_platform_version: '128.8.0' geckoview_version: '[% c("var/firefox_platform_version") %]esr' browser_series: '14.5' browser_rebase: 1 browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]' - browser_build: 2 + browser_build: 1 gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser git_commit: '[% exec("git rev-parse " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }) %]' deps: View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… 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 base-browser-128.8.0esr-14.5-1-build1
by clairehurst (@clairehurst) 05 Mar '25

05 Mar '25
clairehurst pushed new tag base-browser-128.8.0esr-14.5-1-build1 at The Tor Project / Applications / Tor Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow… 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-128.8.0esr-14.5-1-build1
by clairehurst (@clairehurst) 05 Mar '25

05 Mar '25
clairehurst pushed new tag tor-browser-128.8.0esr-14.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/tor-browser][base-browser-128.8.0esr-14.5-1] 151 commits: Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load...
by clairehurst (@clairehurst) 05 Mar '25

05 Mar '25
clairehurst pushed to branch base-browser-128.8.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 5ca07b51 by Timothy Nikkel at 2025-02-27T17:06:30+00:00 Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load context, use the private browsing field from it's origin attributes. r=necko-reviewers,anti-tracking-reviewers,valentin If the channel is not a nsIPrivateBrowsingChannel, and it also has no load context (eg inside svg images) then we will over write a non-zero mPrivateBrowsingId on the OriginAttributes of the channel with 0, making NS_UsePrivateBrowsing return false for the channel. Differential Revision: https://phabricator.services.mozilla.com/D212083 - - - - - 74bfe8a6 by Jon Coppeard at 2025-02-27T17:06:30+00:00 Bug 1904011 - Ignore finalized scripts when iterating code covarage tables r=iain Differential Revision: https://phabricator.services.mozilla.com/D214799 - - - - - fb06682f by Arturo Mejia at 2025-02-27T17:06:31+00:00 Bug 1908344 - Improve prompts showing a=dmeehan - BP, tor-browser#43005 Original Revision: https://phabricator.services.mozilla.com/D216996 Differential Revision: https://phabricator.services.mozilla.com/D217718 - - - - - b310f20c by Sam Foster at 2025-02-27T17:06:31+00:00 Bug 1909099 - Always clean up old session restore and sync log files. r=markh,sessionstore-reviewers,dao Differential Revision: https://phabricator.services.mozilla.com/D217520 - - - - - e24f0732 by pollymce at 2025-02-27T17:06:32+00:00 Bug 1902996 - Improve messaging for fullscreen notifications. r=android-reviewers,gl Instead of explaining to users that they are in fullscreen mode, which may be obvious, we explain how to get out of it :) Also use a Toast rather than a custom Dialog. Update Focus too. Fix lint errors. Differential Revision: https://phabricator.services.mozilla.com/D215782 - - - - - f8f4af65 by Roger Yang at 2025-02-27T17:06:32+00:00 Bug 1862537 - Do not try to go back when it's a initial load r=android-reviewers,harrisono, a=pascalc Differential Revision: https://phabricator.services.mozilla.com/D219782 - - - - - 787a1860 by Henry Wilkes at 2025-02-27T17:06:33+00:00 Bug 1436462 - Use "Open in new private window" for bookmarks when in PBM. r=places-reviewers,mak This makes the bookmark menu consistent with the "File" and context menu when using private browsing mode. We also share the same hide item logic for these "open" items in one place in PlacesUIUtils so that they can be shared between the two consumers (regular bookmarks and managed bookmarks). This ensures that the "Open in container" item if hidden for managed bookmarks in a private window. Differential Revision: https://phabricator.services.mozilla.com/D220120 - - - - - a1458db2 by Fatih at 2025-02-27T17:06:33+00:00 Bug 1834307: Change StaticPrefs::general_smoothScroll() calls with nsLayoutUtils::IsSmoothScrollingEnabled. r=tjr Differential Revision: https://phabricator.services.mozilla.com/D221363 - - - - - f26cbe1a by Fatih at 2025-02-27T17:06:34+00:00 Bug 1834307: Check RFPTarget::CSSPrefersReducedMotion in nsLayoutUtils::IsSmoothScrollingEnabled. r=tjr Differential Revision: https://phabricator.services.mozilla.com/D221364 - - - - - c8ac612a by Henry Wilkes at 2025-02-27T17:06:34+00:00 Bug 1919363 - Only show one app menu "new window" item in permanent private browsing. r=mconley We also update the browser_private_browsing_window.js test. The previous test was limited because it was referring to non-existent "appmenu_newNavigator" and "appmenu_newPrivateWindow". Differential Revision: https://phabricator.services.mozilla.com/D222507 - - - - - 07271014 by rahulsainani at 2025-02-27T17:06:35+00:00 Bug 1906024 - Format download file names better a=diannaS Original Revision: https://phabricator.services.mozilla.com/D220559 Differential Revision: https://phabricator.services.mozilla.com/D222254 - - - - - 76e0020a by rahulsainani at 2025-02-27T17:06:35+00:00 Bug 1906024 - Format download file names a=diannaS Original Revision: https://phabricator.services.mozilla.com/D221771 Differential Revision: https://phabricator.services.mozilla.com/D222259 - - - - - df425552 by Nika Layzell at 2025-02-27T17:06:36+00:00 Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8 Previously these checks were largely diagnostic tools for finding bugs in other code as it evolves. This unifies the checks a bit more and makes them stronger for BrowsingContexts created over IPC, providing a place for more coherency checks to be added in the future. Differential Revision: https://phabricator.services.mozilla.com/D218860 - - - - - 0f64acf0 by Pier Angelo Vendrame at 2025-02-27T17:06:36+00:00 Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr The spoofed value of the HTTP user-agent header is not consistent with the value of navigator.userAgent on Windows, and this can lead to compatibility issues. Differential Revision: https://phabricator.services.mozilla.com/D223745 - - - - - b9aa9428 by Fatih at 2025-02-27T17:06:37+00:00 Bug 1607032: Spoof screen orientation and angle to primary values. r=tjr,geckoview-reviewers,owlish Differential Revision: https://phabricator.services.mozilla.com/D220904 - - - - - 1d554b76 by Fatih at 2025-02-27T17:06:37+00:00 Bug 1918202: Spoof orientation based on screen size. r=tjr Differential Revision: https://phabricator.services.mozilla.com/D221863 - - - - - 4501f6d4 by Fatih at 2025-02-27T17:06:38+00:00 Bug 1922204: fixup square spoofed orientation. r=tjr Differential Revision: https://phabricator.services.mozilla.com/D224312 - - - - - eecffb21 by Pier Angelo Vendrame at 2025-02-27T17:06:38+00:00 Bug 1923264 - Discard unsupported updates in selectUpdate. r=bytesized,nalexander UpdateService.#selectUpdate currently chooses always the most recent update even when unsupported and an older but supported one is available. This commit makes #selectUpdate discard the unsupported update if a supported alternative is found. Differential Revision: https://phabricator.services.mozilla.com/D224905 - - - - - 5ffde69f by stransky at 2025-02-27T17:06:38+00:00 Bug 1501744 [Linux] Fill PointerEvents on the Gtk backend r=emilio Patch author is tpxp <tpxp(a)live.fr> Differential Revision: https://phabricator.services.mozilla.com/D215201 - - - - - 3a415e20 by Fatih at 2025-02-27T17:06:39+00:00 Bug 1436226: Ignore user prefs and hardware support for media capabilities when RFPTarget::MediaCapabilities is enabled. r=tjr,media-playback-reviewers,padenot This patch mostly targeted Android, as media.mediasource.vp9.enabled is disabled on only Android and HW support takes precedence over pref, hence leaking HW support for VP9. However, we ended up modifying the patch to ignore prefs or HW support, fixing both possible user pref leak and HW support leak. Differential Revision: https://phabricator.services.mozilla.com/D221338 - - - - - 16550559 by hackademix at 2025-02-27T17:06:39+00:00 Bug 1556002 - Update initial window size and letterboxing stepping. r=tjr Differential Revision: https://phabricator.services.mozilla.com/D226598 - - - - - 1a2b0257 by Arturo Mejia at 2025-02-27T17:06:40+00:00 Bug 1836921 - Improve dialogs a=dmeehan Original Revision: https://phabricator.services.mozilla.com/D226961 Differential Revision: https://phabricator.services.mozilla.com/D228842 - - - - - 660f1f57 by Makoto Kato at 2025-02-27T17:06:40+00:00 Bug 1776646 - Support EXTRA_IS_SENSITIVE for clipboard. r=geckoview-reviewers,owlish When nsITransferable.isPrivateData is true, such as coping password or private mode, we should set EXTRA_IS_SENSITIVE to ClipData. AndroidJunit test runner doesn't often get `ClipDescription.extras` from clipboard service in test runner. So we cannot write a unit test using AndroidJUnit test runner. Differential Revision: https://phabricator.services.mozilla.com/D225326 - - - - - 3c85583c by Malte Juergens at 2025-02-27T17:06:41+00:00 Bug 1909396 - Remove HTTPS-Only exception button in iframes r=freddyb,fluent-reviewers Rationale for this can be read in Bug 1909396, but the main reason is that the iframe will get blocked regardless by mixed content blocking. Differential Revision: https://phabricator.services.mozilla.com/D220257 - - - - - 35a49488 by Cathy Lu at 2025-02-27T17:06:41+00:00 Bug 1914797 - Part 1 + 2 + partial backout (details below) Bug 1914797 - Part 1 - Revert bug 1868469 r=android-reviewers,jonalmeida, a=dmeehan Differential Revision: https://phabricator.services.mozilla.com/D226431 Bug 1914797 - Part 2 - Add url change during onPageStart for slow loading sites r=android-reviewers,jonalmeida, a=dmeehan Differential Revision: https://phabricator.services.mozilla.com/D226432 Backed out 1 changesets (bug 1914797) for causing Bug 1929028 Backed out changeset a79554879d7b (bug 1914797) - - - - - 2746a0cb by Emilio Cobos Álvarez at 2025-02-27T17:06:42+00:00 Bug 1909625 - Ignore CSS zoom and text zoom for canvas. r=gfx-reviewers,lsalzman The spec doesn't mention anything about applying them, and other browsers don't, so let's just be consistent... Differential Revision: https://phabricator.services.mozilla.com/D221709 - - - - - 541aa098 by Emilio Cobos Álvarez at 2025-02-27T17:06:42+00:00 Bug 1918454 - Prevent divide by zero when inverting effective zoom. r=firefox-style-system-reviewers,layout-reviewers,boris See comment. Differential Revision: https://phabricator.services.mozilla.com/D222090 - - - - - 1030bdb9 by Pier Angelo Vendrame at 2025-02-27T17:06:43+00:00 Bug 1840385 - Do not spoof the OS in HTTP User Agent. r=tjr Differential Revision: https://phabricator.services.mozilla.com/D234835 - - - - - ba7c412a by Pier Angelo Vendrame at 2025-02-27T14:54:29-07:00 Bug 1923260 - Exempt Android resources from svg.disabled. r=peterv Differential Revision: https://phabricator.services.mozilla.com/D224895 - - - - - a29ed43f by Henry Wilkes at 2025-02-27T14:54:29-07:00 BB 41454: Move focus after calling openPreferences for a sub-category. Temporary fix until mozilla bug 1799153 gets a patch upstream. - - - - - 79bbfcf8 by Henry Wilkes at 2025-02-27T14:54:29-07:00 BB 43072: Add aria label and description to moz-message-bar. Ensures that moz-message-bar, including notifications, are announced on Orca. This addresses upstream bugzilla bug 1895857 and should likely be replaced when it is fixed. - - - - - 10f321e6 by Henry Wilkes at 2025-02-27T14:54:29-07:00 BB 42739: Use the brand name for profile error messages. Some messages in profileSelection.properties use gAppData->name as variable inputs. However, gAppData->name is still "Firefox" for our base-browser builds, rather than the user-facing browser name. We swap these instances with the displayed brand name instead. - - - - - ac50cc61 by hackademix at 2025-02-27T14:54:30-07:00 BB 42194: Fix blank net error page on failed DNS resolution with active proxy. - - - - - 0f32e83c by Henry Wilkes at 2025-02-27T14:54:30-07:00 BB 41483: Remove the firefox override for appstrings.properties Remove this patch after upstream bugzilla bug 1790187 - - - - - 9befb7c6 by hackademix at 2025-02-27T14:54:30-07:00 BB 43101: Deep link to the startup security warning explanation. - - - - - 75b62337 by Marco Simonelli at 2025-02-27T14:54:31-07:00 BB 41459: WebRTC fails to build under mingw (Part 1) - properly define NOMINMAX for just MSVC builds - - - - - 47596441 by Marco Simonelli at 2025-02-27T14:54:31-07:00 BB 41459: WebRTC fails to build under mingw (Part 2) - fixes required to build third_party/libwebrtc - - - - - 0072d069 by Marco Simonelli at 2025-02-27T14:54:31-07:00 BB 41459: WebRTC fails to build under mingw (Part 3) - fixes required to build third_party/sipcc - - - - - 72f1b014 by Marco Simonelli at 2025-02-27T14:54:32-07:00 BB 41459: WebRTC fails to build under mingw (Part 4) - fixes requried to build netwerk/sctp - - - - - 01d58705 by Marco Simonelli at 2025-02-27T14:54:32-07:00 BB 41459: WebRTC fails to build under mingw (Part 5) - fixes required to build dom/media/webrtc - - - - - 1fa54dc7 by Marco Simonelli at 2025-02-27T14:54:32-07:00 BB 41459: WebRTC fails to build under mingw (Part 6) - fixes required to build dom/media/systemservices - - - - - 65e746f3 by june wilde at 2025-02-27T14:54:33-07:00 BB 42758: Fix WebRTC build errors. - - - - - 8b4fd885 by hackademix at 2025-02-27T14:54:33-07:00 BB 41854: Allow overriding download spam protection. - - - - - e440cb57 by hackademix at 2025-02-27T14:54:34-07:00 BB 42832: Download spam prevention exemption for browser extensions. - - - - - cea27ac8 by Pier Angelo Vendrame at 2025-02-27T14:54:34-07:00 BB 42220: Allow for more file types to be forced-inline. Firefox allows to open some files in the browser without any confirmation, but this will result in a disk leak, because the file will be downloaded to the temporary directory first (and not deleted, in some cases). A preference allows PDFs to be opened without being downloaded to disk. So, we introduce a similar one to do the same for all the files that are set to be opened automatically in the browser. - - - - - 54f2f856 by hackademix at 2025-02-27T14:54:34-07:00 BB 42835: Create an actor to filter file data transfers - - - - - 55574d6e by Beatriz Rizental at 2025-02-27T14:54:35-07:00 BB 42728: Modify ./mach lint to skip unused linters - - - - - d9beddba by Gaba at 2025-02-27T14:54:35-07:00 Adding issue and merge request templates - - - - - 86297295 by Morgan at 2025-02-27T15:14:07-07:00 fixup! Adding issue and merge request templates add issue template for mozilla uplifts and tweak MR template to signal to merger an uplift issue should be created after merge - - - - - 13549ac0 by Morgan at 2025-02-27T15:14:07-07:00 fixup! Adding issue and merge request templates add backport template and tweak the uplift template - - - - - 352336a4 by Morgan at 2025-02-27T15:14:07-07:00 fixup! Adding issue and merge request templates include Bugzilla as potential source of backports - - - - - b304ca50 by Morgan at 2025-02-27T15:14:07-07:00 fixup! Adding issue and merge request templates update the auto /label command to Apps::Type::Bug - - - - - 8336d10c by Morgan at 2025-02-27T15:14:08-07:00 fixup! Adding issue and merge request templates update release prep label link - - - - - a4f5561b by hackademix at 2025-02-27T15:14:08-07:00 fixup! Adding issue and merge request templates TBB 41382: Replace gitlab templates ReleasePrep label references with Apps::Type::ReleasePreparation - - - - - 17af6ece by Richard Pospesel at 2025-02-27T15:14:08-07:00 BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs - - - - - 6983dd02 by Henry Wilkes at 2025-02-27T15:14:09-07:00 BB 42305: Add script to combine translation files across versions. - - - - - 616093c7 by Henry Wilkes at 2025-02-27T15:14:09-07:00 fixup! BB 42305: Add script to combine translation files across versions. TB 43446: Allow the combine translation script to select some branding strings from different files. - - - - - 1df35ef6 by Beatriz Rizental at 2025-02-27T15:14:09-07:00 Add CI for Base Browser - - - - - 3e5d8115 by Pier Angelo Vendrame at 2025-02-27T15:14:10-07:00 Base Browser's .mozconfigs. Bug 17858: Cannot create incremental MARs for hardened builds. Define HOST_CFLAGS, etc. to avoid compiling programs such as mbsdiff (which is part of mar-tools and is not distributed to end-users) with ASan. Bug 21849: Don't allow SSL key logging. Bug 25741 - TBA: Disable features at compile-time Define MOZ_ANDROID_NETWORK_STATE and MOZ_ANDROID_LOCATION Bug 27623 - Export MOZILLA_OFFICIAL during desktop builds This fixes a problem where some preferences had the wrong default value. Also see bug 27472 where we made a similar fix for Android. Bug 29859: Disable HLS support for now Bug 30463: Explicitly disable MOZ_TELEMETRY_REPORTING Bug 32493: Disable MOZ_SERVICES_HEALTHREPORT Bug 33734: Set MOZ_NORMANDY to False Bug 33851: Omit Parental Controls. Bug 40252: Add --enable-rust-simd to our tor-browser mozconfig files Bug 41584: Move some configuration options to base-browser level - - - - - 1d30c01d by Pier Angelo Vendrame at 2025-02-27T15:14:10-07:00 Tweaks to the build system Bug 40857: Modified the fat .aar creation file This is a workaround to build fat .aars with the compiling enviornment disabled. Mozilla does not use a similar configuration, but either runs a Firefox build and discards its output, or uses artifacts build. We might switch to artifact builds too, and drop this patch, or write a better one to upstream. But until then we need this patch. See also https://bugzilla.mozilla.org/show_bug.cgi?id=1763770. Bug 41458: Prevent `mach package-multi-locale` from actually creating a package macOS builds need some files to be moved around with ./mach package-multi-locale to create multi-locale packages. The required command isn't exposed through any other mach command. So, we patch package-multi-locale both to prevent it from failing when doing official builds and to detect any future changes on it. - - - - - fc17e314 by Pier Angelo Vendrame at 2025-02-27T15:14:10-07:00 BB 29320: Replace the gnu target with gnullvm for Rust. - - - - - a2eeb47e by Pier Angelo Vendrame at 2025-02-27T15:14:11-07:00 BB 42616: Remove VideoCaptureTest.kt. This is a workaround to fix the GeckoView build with WebRTC disabled. We should replace this workaround with a proper solution, that excludes this test when MOZ_WEBRTC is undefined/False. - - - - - d4b78d66 by Pier Angelo Vendrame at 2025-02-27T15:14:11-07:00 BB 41108: Remove privileged macOS installation from 102 - - - - - 5b6ab42e by Dan Ballard at 2025-02-27T15:14:11-07:00 BB 41149: Re-enable DLL injection protection in all builds not just nightlies - - - - - 5e522a87 by Henry Wilkes at 2025-02-27T15:14:11-07:00 BB 43092: Disable wayland by default in Base Browser. - - - - - 9db961f6 by Matthew Finkel at 2025-02-27T15:14:12-07:00 BB 24796: Comment out excess permissions from GeckoView The GeckoView AndroidManifest.xml is not preprocessed unlike Fennec's manifest, so we can't use the ifdef preprocessor guards around the permissions we do not want. Commenting the permissions is the next-best-thing. - - - - - 8c41040a by Matthew Finkel at 2025-02-27T15:14:12-07:00 BB 28125: Prevent non-Necko network connections - - - - - e5436066 by Mike Perry at 2025-02-27T15:14:12-07:00 BB 12974: Disable NTLM and Negotiate HTTP Auth The Mozilla bugs: https://bugzilla.mozilla.org/show_bug.cgi?id=1046421, https://bugzilla.mozilla.org/show_bug.cgi?id=1261591, tor-browser#27602 - - - - - feeb1f08 by cypherpunks1 at 2025-02-27T15:14:13-07:00 BB 40717: Hide Windows SSO in settings - - - - - cecdf2cb by Georg Koppen at 2025-02-27T15:14:13-07:00 BB 16285: Exclude ClearKey system for now In the past the ClearKey system had not been compiled when specifying --disable-eme. But that changed and it is even bundled nowadays (see: Mozilla's bug 1300654). We don't want to ship it right now as the use case for it is not really visible while the code had security vulnerabilities in the past. - - - - - 96514263 by Kathy Brade at 2025-02-27T15:14:13-07:00 BB 21431: Clean-up system extensions shipped in Firefox Only ship the pdfjs extension. - - - - - 59d94baf by Henry Wilkes at 2025-02-27T15:14:14-07:00 BB 42831: Remove the shopping components. - - - - - e29e293f by Kathy Brade at 2025-02-27T15:14:14-07:00 BB 33852: Clean up about:logins (LockWise) to avoid mentioning sync, etc. Hide elements on about:logins that mention sync, "Firefox LockWise", and Mozilla's LockWise mobile apps. Disable the "Create New Login" button when security.nocertdb is true. - - - - - 3505f141 by Alex Catarineu at 2025-02-27T15:14:14-07:00 BB 41457: Remove Mozilla permissions Bug 40025: Remove Mozilla add-on install permissions - - - - - 652154d2 by Kathy Brade at 2025-02-27T15:14:14-07:00 BB 40002: Remove about:ion Firefox Ion (previously Firefox Pioneer) is an opt-in program in which people volunteer to participate in studies that collect detailed, sensitive data about how they use their browser. Bug 41662: Disable about:sync-logs Even though we disable sync by default with `identity.fxaccounts.enabled`, this about: page is still avilable. We could throw an exception on the constructor of the related component, but it would result only in an error in the console, without a visible "this address does not look right" error page. If we fix the issues with MOZ_SERVICES_SYNC, we can restore the component. - - - - - 8a8057b5 by Morgan at 2025-02-27T15:14:15-07:00 BB 42716: Disable unwanted about: pages - - - - - 00bce81c by Arthur Edelstein at 2025-02-27T15:14:15-07:00 BB 26353: Prevent speculative connect that violated FPI. Connections were observed in the catch-all circuit when the user entered an https or http URL in the URL bar, or typed a search term. - - - - - ef0bd45e by Alex Catarineu at 2025-02-27T15:14:15-07:00 BB 31740: Remove some unnecessary RemoteSettings instances More concretely, SearchService.jsm 'hijack-blocklists' and url-classifier-skip-urls. Avoid creating instance for 'anti-tracking-url-decoration'. If prefs are disabling their usage, avoid creating instances for 'cert-revocations' and 'intermediates'. Do not ship JSON dumps for collections we do not expect to need. For the ones in the 'main' bucket, this prevents them from being synced unnecessarily (the code in remote-settings does so for collections in the main bucket for which a dump or local data exists). For the collections in the other buckets, we just save some size by not shipping their dumps. We also clear the collections database on the v2 -> v3 migration. - - - - - ca805a32 by cypherpunks1 at 2025-02-27T15:14:16-07:00 BB 41092: Add a RemoteSettings JSON dump for query-stripping - - - - - 7e8c7fb6 by cypherpunks1 at 2025-02-27T15:14:16-07:00 BB 42730: Patch RemoteSettings to use only local dumps as a data source - - - - - 87acbb78 by Pier Angelo Vendrame at 2025-02-27T15:14:16-07:00 BB 41635: Disable the Normandy component Do not include Normandy at all whenever MOZ_NORMANDY is False. - - - - - 8c63ddb0 by Georg Koppen at 2025-02-27T15:14:16-07:00 BB 30541: Disable WebGL readPixel() for web content Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034 - - - - - 0eccef40 by Alex Catarineu at 2025-02-27T15:14:17-07:00 BB 28369: Stop shipping pingsender executable - - - - - dc81b199 by Henry Wilkes at 2025-02-27T15:14:17-07:00 BB 42630: Disable LaterRun module. - - - - - d6e25540 by Pier Angelo Vendrame at 2025-02-27T15:14:17-07:00 BB 41599: Always return an empty string as network ID Firefox computes an internal network ID used to detect network changes and act consequently (e.g., to improve WebSocket UX). However, there are a few ways to get this internal network ID, so we patch them out, to be sure any new code will not be able to use them and possibly link users. We also sent a patch to Mozilla to seed the internal network ID, to prevent any accidental leak in the future. Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1817756 - - - - - b5cf607b by Pier Angelo Vendrame at 2025-02-27T15:14:18-07:00 BB 43386: Use Firefox in the UA in RFP-exempt request. XHR requests initiated by extensions are exempt from RFP. Therefore, they report the actual app name, instead of Firefox, and the actual Firefox minor version. This happens whenever the app name has been customized and does not match a hardcoded "Firefox". - - - - - 5b9b5094 by Richard Pospesel at 2025-02-27T15:14:18-07:00 BB 41327: Disable UrlbarProviderInterventions - - - - - fb7688b4 by Richard Pospesel at 2025-02-27T15:14:18-07:00 BB 42037: Disable about:firefoxview page - - - - - 83739561 by Mike Perry at 2025-02-27T15:14:19-07:00 Firefox preference overrides. - - - - - 751a872a by Pier Angelo Vendrame at 2025-02-27T15:14:19-07:00 BB 43140: Tighten up fonts on Linux. We ship a fontconfig configuration to esnure all Linux users have the same defaults and reduce the chances of fingerprinting. We used to add this file in tor-browser-build, but some users might skip it by using the browser executable without the wrapper script. Therefore, we decided to activate the file with the FontConfig API instead of the environment variables. Bug 41043: Hardcode the UI font on Linux The mechanism to choose the UI font does not play well with our fontconfig configuration. As a result, the final criterion to choose the font for the UI was its version. Since we hardcode Arimo as a default sans-serif on preferences, we use it also for the UI. FontConfig will fall back to some other font for scripts Arimo does not cover as expected (we tested with Japanese). Bug 43141: Hardcode system-ui to Arimo. - - - - - 764427c0 by Pier Angelo Vendrame at 2025-02-27T15:14:19-07:00 BB 41901: Hardcode normalized FontSubstitutes. Windows has a system to set font aliases through the registry. This allows some customization that could be used as a fingerprinting vector. Moreover, this mechanism is used by Windows itself, and different SKUs might have different default FontSubstitutes. - - - - - 3cf49e16 by Pier Angelo Vendrame at 2025-02-27T15:14:20-07:00 BB 43322: Customize the font visibility lists. Customize the lists of fonts to assign base visibility to in base browser and derivatives. Also, rename the files with the upstream lists, to make sure we do not use them by mistake. - - - - - ebd21404 by Alex Catarineu at 2025-02-27T15:14:20-07:00 BB 30605: Honor privacy.spoof_english in Android This checks `privacy.spoof_english` whenever `setLocales` is called from Fenix side and sets `intl.accept_languages` accordingly. Bug 40198: Expose privacy.spoof_english pref in GeckoView - - - - - f202f47c by Pier Angelo Vendrame at 2025-02-27T15:14:20-07:00 BB 42562: Normalized the Accepted Languages on Android. The OS language might be outside the list of actually supported languages and it might leak the user's region. Therefore, we force the locale reported in Accept-Language to match one we support with translations, even when it means using a not exact region tag. - - - - - 8a333854 by Alex Catarineu at 2025-02-27T15:14:21-07:00 BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware - - - - - 8e08b71a by Alex Catarineu at 2025-02-27T15:14:21-07:00 BB 26345: Hide tracking protection UI - - - - - fb5eeebf by Henry Wilkes at 2025-02-27T15:14:22-07:00 BB 43109: Hide Firefox Relay from settings. This should remain disabled, see tor-browser#42814. - - - - - cc442cce by Henry Wilkes at 2025-02-27T15:14:22-07:00 BB 42777: Hide Website Privacy Preferences. We hide the Website Privacy Preferences section, which controls the "global privacy control" (GPC) and "do not track" (DNT) settings. - - - - - f9818ad1 by Morgan at 2025-02-27T15:14:22-07:00 BB 42070: Hide "Use smooth scrolling" from settings - - - - - a3986f07 by Arthur Edelstein at 2025-02-27T15:14:23-07:00 BB 18905: Hide unwanted items from help menu Bug 25660: Remove the "New Private Window" option - - - - - cb5f1704 by Pier Angelo Vendrame at 2025-02-27T15:14:23-07:00 BB 41739: Remove "Website appearance" from about:preferences. It is ignored because of RFP and it is confusing for users. - - - - - 61f05e22 by Henry Wilkes at 2025-02-27T15:14:24-07:00 BB 43117: Hide "Always underline links" from settings. - - - - - e3b47e68 by Pier Angelo Vendrame at 2025-02-27T15:14:24-07:00 BB 42774: Always hide the third-pary certs UI. - - - - - e57e042a by Henry Wilkes at 2025-02-27T15:14:25-07:00 BB 43118: Hide feature recommendation (CFR) settings. - - - - - a7f6d8be by Pier Angelo Vendrame at 2025-02-27T15:14:25-07:00 BB 9173: Change the default Firefox profile directory to be relative. This commit makes Firefox look for the default profile directory in a directory relative to the binary path. The directory can be specified through the --with-relative-data-dir. This is relative to the same directory as the firefox main binary for Linux and Windows. On macOS, we remove Contents/MacOS from it. Or, in other words, the directory is relative to the application bundle. This behavior can be overriden at runtime, by placing a file called system-install adjacent to the firefox main binary (also on macOS). - - - - - 35c8864f by Pier Angelo Vendrame at 2025-02-27T15:14:26-07:00 BB 42773: Replace ~ with the original home. In Bug 93141, Mozilla started sending users to their home when they type ~ in the URL bar. On Linux, we change $HOME for various reason, therefore you would be redirected to the spoofed home directory when typing ~. So, we check if the original home directory is known, and use that, instead. - - - - - d9fcaf6e by Alex Catarineu at 2025-02-27T15:14:26-07:00 BB 27604: Fix addon issues when moving the profile directory Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838 - - - - - 402a9676 by Mike Perry at 2025-02-27T15:14:26-07:00 BB 13028: Prevent potential proxy bypass cases. It looks like these cases should only be invoked in the NSS command line tools, and not the browser, but I decided to patch them anyway because there literally is a maze of network function pointers being passed around, and it's very hard to tell if some random code might not pass in the proper proxied versions of the networking code here by accident. Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1433509 - - - - - fd2df1ad by Pier Angelo Vendrame at 2025-02-27T15:14:27-07:00 BB 40309: Avoid using regional OS locales Avoid regional OS locales if the pref `intl.regional_prefs.use_os_locales` is false but RFP is enabled. - - - - - 6fddd934 by Matthew Finkel at 2025-02-27T15:14:27-07:00 BB 40432: Prevent probing installed applications Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084 - - - - - 0fa3f7d1 by cypherpunks1 at 2025-02-27T15:14:27-07:00 BB 33955: When copying an image only copy the image contents to the clipboard - - - - - 5ffb61bc by cypherpunks1 at 2025-02-27T15:14:28-07:00 BB 41791: Omit the source URL when copying page contents to the clipboard - - - - - db083eb5 by hackademix at 2025-02-27T15:14:28-07:00 BB 42288: Allow language spoofing in status messages. - - - - - 172368a6 by Pier Angelo Vendrame at 2025-02-27T15:14:29-07:00 BB 43196: Remove the vendor name from media notifications on Linux. Firefox shows "vendor remoteName" as a title of the "... is playing media" notification on Linux. However, for our browser the remote name is enough, and prepending the vendor to it creates a string users usually never see. - - - - - 7706c02b by Pier Angelo Vendrame at 2025-02-27T15:14:29-07:00 Base Browser strings This commit adds all the strings needed by following Base Browser patches. - - - - - 3cb027c6 by Henry Wilkes at 2025-02-27T15:14:29-07:00 BB 42583: Modify moz-support-link for Base Browser. - - - - - 3426ad69 by Pier Angelo Vendrame at 2025-02-27T15:14:30-07:00 BB 41369: Improve Firefox language settings for multi-lingual packages Change the language selector to be sorted by language code, rather than name, and to display the language code to the user. Bug 41372: Handle Japanese as a special case in preferences on macOS Japanese is treated in a special way on macOS. However, seeing the Japanese language tag could be confusing for users, and moreover the language name is not localized correctly like other langs. Bug 41378: Tell users that they can change their language at the first start With multi-lingual builds, Tor Browser matches the user's system language, but some users might want to change it. So, we tell them that it is possible, but only once. - - - - - 46b64e0a by p13dz at 2025-02-27T15:14:30-07:00 BB 40283: Workaround for the file upload bug - - - - - beeb8c40 by hackademix at 2025-02-27T15:14:30-07:00 BB 42019: Empty browser's clipboard on browser shutdown - - - - - a0c73b1a by hackademix at 2025-02-27T15:14:31-07:00 BB 42084: Ensure English spoofing works even if preferences are set out of order. - - - - - f6e56700 by Pier Angelo Vendrame at 2025-02-27T15:14:31-07:00 BB 41930: Remove the UI to customize accept_languages. - - - - - 08a0ec58 by hackademix at 2025-02-27T15:14:31-07:00 BB 41434: Letterboxing, improve logging. - - - - - 615db592 by hackademix at 2025-02-27T15:14:31-07:00 BB 41434: Letterboxing, preemptively apply margins in a global CSS rule to mitigate race conditions on newly created windows and tabs. - - - - - 15f4cae4 by hackademix at 2025-02-27T15:14:32-07:00 BB 31064: Letterboxing, exempt browser extensions. - - - - - 89235904 by hackademix at 2025-02-27T15:14:32-07:00 BB 32411: Letterboxing, exempt view-source: URIs. - - - - - d98e1b4b by hackademix at 2025-02-27T15:14:32-07:00 BB 42574: Letterboxing, exempt pdf.js. - - - - - 302ea2ed by hackademix at 2025-02-27T15:14:33-07:00 BB 32308: Use direct browser sizing for letterboxing. Bug 30556: align letterboxing with 200x100 new win width stepping - - - - - dea7318d by hackademix at 2025-03-03T12:12:55-07:00 BB 41631: Prevent weird initial window dimensions caused by subpixel computations - - - - - bc139a42 by hackademix at 2025-03-03T12:13:50-07:00 BB 41918: Option to reuse last window size when letterboxing is enabled. - - - - - 837b6061 by hackademix at 2025-03-03T12:13:50-07:00 BB 41916: Letterboxing preferences UI - - - - - 2641ee8a by hackademix at 2025-03-03T12:13:51-07:00 BB 41695: Warn on window maximization without letterboxing in RFPHelper module - - - - - c9804e10 by hackademix at 2025-03-03T12:13:51-07:00 BB 42443: Shrink window to match letterboxing size when the emtpy area is clicked. - - - - - 5bc66f9e by Henry Wilkes at 2025-03-03T12:13:51-07:00 BB 42528: Don't leak system scrollbar size on windows. - - - - - c71fd645 by Henry Wilkes at 2025-03-03T12:13:51-07:00 BB 31575: Disable Firefox Home (Activity Stream) Treat about:blank as the default home page and new tab page. Avoid loading AboutNewTab in BrowserGlue.sys.mjs in order to avoid several network requests that we do not need. Bug 41624: Disable about:pocket-* pages. Bug 40144: Redirect about:privatebrowsing to the user's home - - - - - 810787a1 by Kathy Brade at 2025-03-03T12:13:52-07:00 BB 4234: Use the Firefox Update Process for Base Browser. Windows: disable "runas" code path in updater (15201). Windows: avoid writing to the registry (16236). Also includes fixes for tickets 13047, 13301, 13356, 13594, 15406, 16014, 16909, 24476, and 25909. Also fix bug 27221: purge the startup cache if the Base Browser version changed (even if the Firefox version and build ID did not change), e.g., after a minor Base Browser update. Also fix 32616: Disable GetSecureOutputDirectoryPath() functionality. Bug 26048: potentially confusing "restart to update" message Within the update doorhanger, remove the misleading message that mentions that windows will be restored after an update is applied, and replace the "Restart and Restore" button label with an existing "Restart to update Tor Browser" string. Bug 28885: notify users that update is downloading Add a "Downloading Base Browser update" item which appears in the hamburger (app) menu while the update service is downloading a MAR file. Before this change, the browser did not indicate to the user that an update was in progress, which is especially confusing in Tor Browser because downloads often take some time. If the user clicks on the new menu item, the about dialog is opened to allow the user to see download progress. As part of this fix, the update service was changed to always show update-related messages in the hamburger menu, even if the update was started in the foreground via the about dialog or via the "Check for Tor Browser Update" toolbar menu item. This change is consistent with the Tor Browser goal of making sure users are informed about the update process. Removed #28885 parts of this patch which have been uplifted to Firefox. - - - - - 8a9fb9d7 by Pier Angelo Vendrame at 2025-03-03T12:13:52-07:00 BB 42061: Create an alpha update channel. - - - - - a61cf9f2 by Nicolas Vigier at 2025-03-03T12:13:52-07:00 BB 41682: Add base-browser nightly mar signing key - - - - - a13ec52f by Pier Angelo Vendrame at 2025-03-03T12:13:53-07:00 BB 41603: Customize the creation of MOZ_SOURCE_URL MOZ_SOURCE_URL is created by combining MOZ_SOURCE_REPO and MOZ_SOURCE_CHANGESET. But the code takes for granted that it refers to a Hg instance, so it combines them as `$MOZ_SOURCE_REPO/rev/$MOZ_SOURCE_CHANGESET`. With this commit, we change this logic to combine them to create a URL that is valid for GitLab. $MOZ_SOURCE_CHANGESET needs to be a commit hash, not a branch or a tag. If that is needed, we could use /-/tree/, instead of /-/commit/. - - - - - fc2b55fb by Pier Angelo Vendrame at 2025-03-03T12:13:53-07:00 BB 41698: Reword the recommendation badges in about:addons Firefox strings use { -brand-product-name }. As a result, it seems that the fork is recommending extensions, whereas AMO curators are doing that. So, we replace the strings with custom ones that clarify that Mozilla is recommending them. We assign the strings with JS because our translation backend does not support Fluent attributes, yet, but once it does, we should switch to them, instead. Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1825033 - - - - - 8887091e by Pier Angelo Vendrame at 2025-03-03T12:13:53-07:00 BB 42438: Tweaks to the migration wizard. Remove the items not compatible with our features (such as history) from the migration wizard. On Linux, allow to specify an alternative home directory, since we usually change $HOME in our startup script. - - - - - daf42a9a by Alex Catarineu at 2025-03-03T12:13:53-07:00 BB 40069: Add helpers for message passing with extensions - - - - - a358e791 by Matthew Finkel at 2025-03-03T12:13:54-07:00 BB 41598: Prevent NoScript from being removed/disabled. Bug 40253: Explicitly allow NoScript in Private Browsing mode. - - - - - e962502e by Henry Wilkes at 2025-03-03T12:13:54-07:00 BB 41581: Hide NoScript extension's toolbar button by default. This hides it from both the toolbar and the unified extensions panel. We also hide the unified-extension-button if the panel would be empty: not including the NoScript button when it is hidden. As a result, this will be hidden by default until a user installs another extension (or shows the NoScript button and unpins it). - - - - - be2bcd25 by hackademix at 2025-03-03T12:13:54-07:00 BB 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons - - - - - d36b8a6c by Pier Angelo Vendrame at 2025-03-03T12:13:55-07:00 BB 40925: Implemented the Security Level component This component adds a new Security Level toolbar button which visually indicates the current global security level via icon (as defined by the extensions.torbutton.security_slider pref), a drop-down hanger with a short description of the current security level, and a new section in the about:preferences#privacy page where users can change their current security level. In addition, the hanger and the preferences page will show a visual warning when the user has modified prefs associated with the security level and provide a one-click 'Restore Defaults' button to get the user back on recommended settings. Bug 40125: Expose Security Level pref in GeckoView - - - - - c1c17e97 by Pier Angelo Vendrame at 2025-03-05T12:11:19-07:00 fixup! BB 40925: Implemented the Security Level component BB 43498: Remove our old patch for 43129. This commit should be ignored at the next rebase (and we will likely have a conflict on the security level commit). - - - - - c42dba02 by Pier Angelo Vendrame at 2025-03-05T12:11:19-07:00 BB 40926: Implemented the New Identity feature - - - - - 3cd5f28e by Henry Wilkes at 2025-03-05T12:11:19-07:00 BB 41736: Customize toolbar for base-browser. - - - - - 9840450e by Pier Angelo Vendrame at 2025-03-05T12:11:19-07:00 BB 42027: Base Browser migration procedures. This commit implmenents the the Base Browser's version of _migrateUI. - - - - - 682636bb by Henry Wilkes at 2025-03-05T12:11:20-07:00 BB 29745: Limit remote access to content accessible resources - - - - - cb0e9508 by Pier Angelo Vendrame at 2025-03-05T12:11:20-07:00 BB 43468: ScreenCaptureKit should be a weak link. ScreenCaptureKit is not available on older macOS versions. For some reason, the upstream build have it as a weak import even though they do not specify the -weak_framework flag, whereas our builds have it as a normal import and do not work on macOS 10.15 without this patch. - - - - - 488 changed files: - .eslintignore - + .gitlab-ci.yml - + .gitlab/ci/docker/base/Dockerfile - + .gitlab/ci/jobs/lint/helpers.py - + .gitlab/ci/jobs/lint/lint.yml - + .gitlab/ci/jobs/update-translations.yml - + .gitlab/ci/mixins.yml - + .gitlab/issue_templates/Backport.md - + .gitlab/issue_templates/Emergency Security Issue.md - + .gitlab/issue_templates/QA - Android.md - + .gitlab/issue_templates/QA - Desktop.md - + .gitlab/issue_templates/Uplift.md - + .gitlab/issue_templates/bug.md - + .gitlab/merge_request_templates/Rebase.md - + .gitlab/merge_request_templates/default.md - .prettierignore - − browser/actors/RFPHelperChild.sys.mjs - − browser/actors/RFPHelperParent.sys.mjs - browser/actors/moz.build - browser/app/Makefile.in - browser/app/macbuild/Contents/MacOS-files.in - browser/app/moz.build - browser/app/permissions - + browser/app/profile/001-base-profile.js - browser/app/profile/firefox.js - browser/base/content/aboutDialog-appUpdater.js - browser/base/content/aboutDialog.js - browser/base/content/aboutDialog.xhtml - browser/base/content/appmenu-viewcache.inc.xhtml - browser/base/content/browser-addons.js - browser/base/content/browser-context.inc - browser/base/content/browser-init.js - browser/base/content/browser-menubar.inc - browser/base/content/browser-safebrowsing.js - browser/base/content/browser-sets.inc - browser/base/content/browser.css - browser/base/content/browser.js - browser/base/content/browser.js.globals - browser/base/content/browser.xhtml - + browser/base/content/languageNotification.js - browser/base/content/main-popupset.inc.xhtml - browser/base/content/navigator-toolbox.inc.xhtml - browser/base/content/test/general/browser_private_browsing_window.js - browser/base/jar.mn - browser/base/moz.build - browser/components/BrowserContentHandler.sys.mjs - browser/components/BrowserGlue.sys.mjs - browser/components/about/AboutRedirector.cpp - browser/components/about/components.conf - browser/components/aboutlogins/AboutLoginsParent.sys.mjs - browser/components/aboutlogins/content/aboutLogins.css - browser/components/aboutlogins/content/aboutLogins.mjs - browser/components/aboutlogins/content/components/fxaccounts-button.css - browser/components/customizableui/CustomizableUI.sys.mjs - browser/components/customizableui/content/panelUI.inc.xhtml - browser/components/downloads/DownloadSpamProtection.sys.mjs - browser/components/extensions/parent/ext-browserAction.js - browser/components/migration/ChromeMigrationUtils.sys.mjs - browser/components/migration/content/migration-wizard.mjs - browser/components/moz.build - + browser/components/newidentity/content/newIdentityDialog.css - + browser/components/newidentity/content/newIdentityDialog.js - + browser/components/newidentity/content/newIdentityDialog.xhtml - + browser/components/newidentity/content/newidentity.js - + browser/components/newidentity/jar.mn - + browser/components/newidentity/moz.build - browser/components/newtab/AboutNewTabService.sys.mjs - browser/components/places/PlacesUIUtils.sys.mjs - browser/components/places/content/controller.js - browser/components/places/content/placesContextMenu.inc.xhtml - browser/components/places/tests/browser/browser_bookmark_context_menu_contents.js - browser/components/places/tests/browser/head.js - browser/components/preferences/home.inc.xhtml - browser/components/preferences/home.js - browser/components/preferences/jar.mn - + browser/components/preferences/letterboxing-middle-dark.svg - + browser/components/preferences/letterboxing-middle-light.svg - + browser/components/preferences/letterboxing-top-dark.svg - + browser/components/preferences/letterboxing-top-light.svg - + browser/components/preferences/letterboxing.css - + browser/components/preferences/letterboxing.inc.xhtml - + browser/components/preferences/letterboxing.js - browser/components/preferences/main.inc.xhtml - browser/components/preferences/main.js - browser/components/preferences/preferences.js - browser/components/preferences/preferences.xhtml - browser/components/preferences/privacy.inc.xhtml - browser/components/preferences/privacy.js - browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js - browser/components/resistfingerprinting/test/browser/browser_navigator.js - browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js - browser/components/resistfingerprinting/test/browser/browser_roundedWindow_open_max_inner.js - browser/components/resistfingerprinting/test/browser/head.js - browser/components/search/SearchSERPTelemetry.sys.mjs - + browser/components/securitylevel/content/securityLevel.js - + browser/components/securitylevel/content/securityLevelButton.css - + browser/components/securitylevel/content/securityLevelButton.inc.xhtml - + browser/components/securitylevel/content/securityLevelIcon.svg - + browser/components/securitylevel/content/securityLevelPanel.css - + browser/components/securitylevel/content/securityLevelPanel.inc.xhtml - + browser/components/securitylevel/content/securityLevelPreferences.css - + browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml - + browser/components/securitylevel/jar.mn - + browser/components/securitylevel/moz.build - browser/components/shopping/jar.mn - browser/components/shopping/moz.build - browser/components/tabbrowser/content/tabbrowser.js - browser/components/urlbar/UrlbarProvidersManager.sys.mjs - browser/components/urlbar/UrlbarUtils.sys.mjs - browser/components/urlbar/moz.build - + browser/config/mozconfigs/base-browser - + browser/config/mozconfigs/base-browser-android - browser/confvars.sh - browser/extensions/moz.build - + browser/fonts/fonts.conf - browser/fonts/moz.build - browser/installer/Makefile.in - browser/installer/package-manifest.in - browser/installer/windows/nsis/shared.nsh - browser/locales/Makefile.in - − browser/locales/en-US/chrome/overrides/appstrings.properties - browser/locales/jar.mn - browser/modules/BrowserWindowTracker.sys.mjs - browser/modules/HomePage.sys.mjs - browser/modules/LaterRun.sys.mjs - browser/moz.build - browser/moz.configure - browser/themes/shared/addons/unified-extensions.css - + browser/themes/shared/icons/new_identity.svg - browser/themes/shared/identity-block/identity-block.css - browser/themes/shared/jar.inc.mn - browser/themes/shared/preferences/preferences.css - browser/themes/shared/tabbrowser/tabs.css - browser/themes/shared/toolbarbutton-icons.css - build/application.ini.in - build/moz.build - build/moz.configure/init.configure - build/moz.configure/rust.configure - build/moz.configure/update-programs.configure - build/variables.py - caps/nsScriptSecurityManager.cpp - devtools/client/aboutdebugging/src/actions/runtimes.js - docshell/base/BrowsingContext.cpp - docshell/base/BrowsingContext.h - docshell/base/URIFixup.sys.mjs - docshell/base/nsAboutRedirector.cpp - docshell/build/components.conf - dom/base/Navigator.cpp - dom/base/ScreenOrientation.cpp - dom/base/nsContentUtils.cpp - dom/base/nsContentUtils.h - dom/base/nsCopySupport.cpp - dom/base/nsGlobalWindowInner.cpp - dom/base/nsNodeInfoManager.cpp - dom/base/test/chrome/bug418986-1.js - dom/canvas/CanvasRenderingContext2D.cpp - dom/canvas/ClientWebGLContext.cpp - dom/ipc/WindowGlobalParent.cpp - dom/locales/moz.build - dom/media/eme/MediaKeySystemAccess.cpp - dom/media/mediacapabilities/MediaCapabilities.cpp - dom/media/mediasource/MediaSource.cpp - dom/media/mediasource/MediaSource.h - dom/media/mediasource/SourceBuffer.cpp - dom/media/systemservices/video_engine/desktop_device_info.cc - dom/media/webrtc/libwebrtcglue/VideoConduit.cpp - dom/media/webrtc/sdp/RsdparsaSdpAttributeList.cpp - dom/media/webrtc/transport/nrinterfaceprioritizer.cpp - dom/media/webrtc/transport/sigslot.h - dom/media/webrtc/transport/test/ice_unittest.cpp - dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.c - dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.h - dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c - dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-win32.c - dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c - dom/media/webrtc/transport/third_party/nrappkit/src/log/r_log.c - dom/media/webrtc/transport/third_party/nrappkit/src/registry/registry.c - dom/security/test/https-only/browser.toml - + dom/security/test/https-only/browser_iframe_buttons.js - + dom/security/test/https-only/file_iframe_buttons.html - dom/xslt/xslt/txMozillaXSLTProcessor.cpp - dom/xslt/xslt/txXSLTMsgsURL.h - extensions/auth/nsHttpNegotiateAuth.cpp - gfx/layers/apz/src/APZInputBridge.cpp - gfx/layers/apz/src/APZPublicUtils.cpp - gfx/layers/apz/src/GenericScrollAnimation.cpp - gfx/layers/apz/src/WheelScrollAnimation.cpp - gfx/thebes/StandardFonts-linux.inc → gfx/thebes/StandardFonts-linux-upstream.inc - + gfx/thebes/StandardFonts-macos-bb.inc - gfx/thebes/StandardFonts-macos.inc → gfx/thebes/StandardFonts-macos-upstream.inc - + gfx/thebes/StandardFonts-win10-bb.inc - gfx/thebes/StandardFonts-win10.inc → gfx/thebes/StandardFonts-win10-upstream.inc - gfx/thebes/gfxDWriteFontList.cpp - gfx/thebes/gfxDWriteFontList.h - gfx/thebes/gfxFcPlatformFontList.cpp - gfx/thebes/gfxGDIFontList.cpp - gfx/thebes/gfxMacPlatformFontList.mm - gfx/thebes/gfxPlatformFontList.cpp - hal/android/AndroidHal.cpp - image/test/browser/browser.toml - + image/test/browser/browser_bug1899180.js - + image/test/browser/helper1899180.html - intl/locale/LocaleService.cpp - intl/strres/nsIStringBundle.idl - intl/strres/nsStringBundle.cpp - js/src/gc/Zone.cpp - + js/src/jit-test/tests/debug/bug-1904011.js - js/src/old-configure.in - layout/base/nsLayoutUtils.cpp - layout/xul/nsSliderFrame.cpp - mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt - mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt - mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/SimpleRedirectDialogFragment.kt - mobile/android/android-components/components/feature/app-links/src/test/java/mozilla/components/feature/app/links/SimpleRedirectDialogFragmentTest.kt - mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt - + mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/FullScreenNotification.kt - − mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/FullScreenNotificationDialog.kt - + mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/GestureNavUtils.kt - + mobile/android/android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/dialog/FullScreenNotificationTest.kt - mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt - mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/ext/SearchEngine.kt - mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/internal/SearchUrlBuilder.kt - mobile/android/android-components/components/feature/session/src/main/java/mozilla/components/feature/session/SessionUseCases.kt - mobile/android/android-components/components/feature/session/src/test/java/mozilla/components/feature/session/SessionUseCasesTest.kt - mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt - mobile/android/android-components/components/support/ktx/src/test/java/mozilla/components/support/ktx/kotlin/StringTest.kt - mobile/android/android-components/docs/changelog.md - + mobile/android/basebrowser.configure - mobile/android/confvars.sh - mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java - mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CrashReportingTest.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/UseCases.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt - − mobile/android/fenix/app/src/main/res/layout/full_screen_notification_dialog.xml - mobile/android/fenix/app/src/main/res/values-be/strings.xml - mobile/android/fenix/app/src/main/res/values-bg/strings.xml - mobile/android/fenix/app/src/main/res/values-bs/strings.xml - mobile/android/fenix/app/src/main/res/values-ca/strings.xml - mobile/android/fenix/app/src/main/res/values-co/strings.xml - mobile/android/fenix/app/src/main/res/values-cs/strings.xml - mobile/android/fenix/app/src/main/res/values-cy/strings.xml - mobile/android/fenix/app/src/main/res/values-da/strings.xml - mobile/android/fenix/app/src/main/res/values-de/strings.xml - mobile/android/fenix/app/src/main/res/values-dsb/strings.xml - mobile/android/fenix/app/src/main/res/values-el/strings.xml - mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml - mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml - mobile/android/fenix/app/src/main/res/values-es-rAR/strings.xml - mobile/android/fenix/app/src/main/res/values-es-rCL/strings.xml - mobile/android/fenix/app/src/main/res/values-es-rMX/strings.xml - mobile/android/fenix/app/src/main/res/values-eu/strings.xml - mobile/android/fenix/app/src/main/res/values-fi/strings.xml - mobile/android/fenix/app/src/main/res/values-fr/strings.xml - mobile/android/fenix/app/src/main/res/values-fur/strings.xml - mobile/android/fenix/app/src/main/res/values-fy-rNL/strings.xml - mobile/android/fenix/app/src/main/res/values-gl/strings.xml - mobile/android/fenix/app/src/main/res/values-hsb/strings.xml - mobile/android/fenix/app/src/main/res/values-hy-rAM/strings.xml - mobile/android/fenix/app/src/main/res/values-ia/strings.xml - mobile/android/fenix/app/src/main/res/values-is/strings.xml - mobile/android/fenix/app/src/main/res/values-it/strings.xml - mobile/android/fenix/app/src/main/res/values-iw/strings.xml - mobile/android/fenix/app/src/main/res/values-ja/strings.xml - mobile/android/fenix/app/src/main/res/values-kab/strings.xml - mobile/android/fenix/app/src/main/res/values-kk/strings.xml - mobile/android/fenix/app/src/main/res/values-ko/strings.xml - mobile/android/fenix/app/src/main/res/values-nb-rNO/strings.xml - mobile/android/fenix/app/src/main/res/values-nl/strings.xml - mobile/android/fenix/app/src/main/res/values-nn-rNO/strings.xml - mobile/android/fenix/app/src/main/res/values-oc/strings.xml - mobile/android/fenix/app/src/main/res/values-pa-rIN/strings.xml - mobile/android/fenix/app/src/main/res/values-pl/strings.xml - mobile/android/fenix/app/src/main/res/values-pt-rBR/strings.xml - mobile/android/fenix/app/src/main/res/values-pt-rPT/strings.xml - mobile/android/fenix/app/src/main/res/values-rm/strings.xml - mobile/android/fenix/app/src/main/res/values-ru/strings.xml - mobile/android/fenix/app/src/main/res/values-sat/strings.xml - mobile/android/fenix/app/src/main/res/values-si/strings.xml - mobile/android/fenix/app/src/main/res/values-sk/strings.xml - mobile/android/fenix/app/src/main/res/values-sl/strings.xml - mobile/android/fenix/app/src/main/res/values-sq/strings.xml - mobile/android/fenix/app/src/main/res/values-sv-rSE/strings.xml - mobile/android/fenix/app/src/main/res/values-tg/strings.xml - mobile/android/fenix/app/src/main/res/values-th/strings.xml - mobile/android/fenix/app/src/main/res/values-tr/strings.xml - mobile/android/fenix/app/src/main/res/values-ug/strings.xml - mobile/android/fenix/app/src/main/res/values-vi/strings.xml - mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml - mobile/android/fenix/app/src/main/res/values-zh-rTW/strings.xml - mobile/android/fenix/app/src/main/res/values/strings.xml - mobile/android/focus-android/app/src/main/java/org/mozilla/focus/browser/integration/FullScreenIntegration.kt - mobile/android/focus-android/app/src/main/java/org/mozilla/focus/fragment/BrowserFragment.kt - − mobile/android/focus-android/app/src/main/res/layout/dialog_full_screen_notification.xml - mobile/android/focus-android/app/src/main/res/values/strings.xml - mobile/android/focus-android/app/src/test/java/org/mozilla/focus/browser/integration/FullScreenIntegrationTest.kt - mobile/android/geckoview/api.txt - − mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/VideoCaptureTest.kt - mobile/android/geckoview/src/main/AndroidManifest.xml - mobile/android/geckoview/src/main/java/org/mozilla/gecko/Clipboard.java - mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoInputConnection.java - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java - mobile/android/gradle/with_gecko_binaries.gradle - mobile/android/installer/package-manifest.in - mobile/android/moz.configure - mobile/shared/chrome/geckoview/geckoview.js - mobile/shared/components/geckoview/GeckoViewStartup.sys.mjs - modules/libpref/init/StaticPrefList.yaml - modules/libpref/init/all.js - moz.configure - + mozconfig-android-aarch64 - + mozconfig-android-all - + mozconfig-android-armv7 - + mozconfig-android-x86 - + mozconfig-android-x86_64 - + mozconfig-linux-aarch64 - + mozconfig-linux-aarch64-dev - + mozconfig-linux-arm - + mozconfig-linux-i686 - + mozconfig-linux-x86_64 - + mozconfig-linux-x86_64-asan - + mozconfig-linux-x86_64-dev - + mozconfig-macos - + mozconfig-macos-dev - + mozconfig-windows-i686 - + mozconfig-windows-x86_64 - netwerk/protocol/http/nsHttpHandler.cpp - netwerk/protocol/http/nsHttpNTLMAuth.cpp - netwerk/sctp/src/moz.build - netwerk/sctp/src/netinet/sctp_cc_functions.c - netwerk/sctp/src/netinet/sctp_indata.c - netwerk/sctp/src/netinet/sctp_input.c - netwerk/sctp/src/netinet/sctp_output.c - netwerk/sctp/src/netinet/sctp_usrreq.c - netwerk/sctp/src/netinet/sctputil.c - netwerk/sctp/src/user_mbuf.c - netwerk/sctp/src/user_socket.c - netwerk/system/android/nsAndroidNetworkLinkService.cpp - netwerk/system/linux/nsNetworkLinkService.cpp - netwerk/system/mac/nsNetworkLinkService.mm - netwerk/system/netlink/NetlinkService.cpp - netwerk/system/win32/nsNotifyAddrListener.cpp - netwerk/url-classifier/UrlClassifierFeatureBase.cpp - netwerk/url-classifier/components.conf - old-configure.in - python/mozbuild/mozbuild/artifacts.py - python/mozbuild/mozbuild/mach_commands.py - python/mozlint/mozlint/cli.py - security/manager/ssl/RemoteSecuritySettings.sys.mjs - security/moz.build - security/nss/lib/certhigh/ocsp.c - security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c - security/nss/lib/ssl/Makefile - security/sandbox/common/SandboxUtils.sys.mjs - services/settings/Attachments.sys.mjs - services/settings/IDBHelpers.sys.mjs - services/settings/RemoteSettingsClient.sys.mjs - services/settings/dumps/gen_last_modified.py - services/settings/dumps/main/moz.build - services/settings/remote-settings.sys.mjs - services/settings/servicesSettings.manifest - services/settings/static-dumps/main/moz.build - + services/settings/static-dumps/main/query-stripping.json - services/sync/components.conf - servo/components/style/properties/cascade.rs - servo/components/style/properties/properties.mako.rs - servo/components/style/values/computed/box.rs - servo/components/style/values/specified/length.rs - servo/ports/geckolib/glue.rs - + testing/web-platform/tests/css/css-viewport/zoom/canvas-ref.html - + testing/web-platform/tests/css/css-viewport/zoom/canvas.html - + testing/web-platform/tests/css/css-viewport/zoom/textarea-very-small-zoom-crash.html - third_party/libwebrtc/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h - third_party/libwebrtc/modules/desktop_capture/desktop_capture_types.h - third_party/libwebrtc/modules/desktop_capture/win/desktop_capture_utils.cc - third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc - third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.cc - third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.h - third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h - third_party/libwebrtc/rtc_base/platform_thread_types.cc - third_party/libwebrtc/rtc_base/socket.h - third_party/libwebrtc/rtc_base/system/file_wrapper.cc - third_party/libwebrtc/rtc_base/win/create_direct3d_device.h - third_party/sipcc/cpr_win_types.h - third_party/sipcc/sdp_token.c - toolkit/.eslintrc.js - + toolkit/actors/FilesFilterChild.sys.mjs - + toolkit/actors/FilesFilterParent.sys.mjs - toolkit/actors/NetErrorChild.sys.mjs - toolkit/actors/moz.build - toolkit/components/antitracking/StoragePrincipalHelper.cpp - toolkit/components/antitracking/antitracking.manifest - toolkit/components/antitracking/components.conf - toolkit/components/downloads/DownloadCore.sys.mjs - toolkit/components/downloads/DownloadIntegration.sys.mjs - toolkit/components/extensions/Extension.sys.mjs - toolkit/components/extensions/ExtensionParent.sys.mjs - toolkit/components/httpsonlyerror/content/errorpage.html - toolkit/components/httpsonlyerror/content/errorpage.js - toolkit/components/moz.build - toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs - toolkit/components/resistfingerprinting/RFPHelper.sys.mjs - toolkit/components/resistfingerprinting/nsRFPService.cpp - toolkit/components/resistfingerprinting/nsRFPService.h - toolkit/components/search/SearchEngine.sys.mjs - toolkit/components/search/SearchService.sys.mjs - + toolkit/components/securitylevel/SecurityLevel.manifest - + toolkit/components/securitylevel/SecurityLevel.sys.mjs - + toolkit/components/securitylevel/components.conf - + toolkit/components/securitylevel/moz.build - toolkit/components/shopping/jar.mn - toolkit/components/telemetry/app/TelemetrySend.sys.mjs - toolkit/components/telemetry/moz.build - toolkit/components/windowwatcher/nsWindowWatcher.cpp - toolkit/content/jar.mn - toolkit/content/widgets/moz-message-bar/moz-message-bar.mjs - toolkit/content/widgets/moz-support-link/moz-support-link.mjs - toolkit/content/widgets/notificationbox.js - toolkit/library/moz.build - + toolkit/locales-preview/base-browser-no-translate.ftl - toolkit/locales/en-US/toolkit/about/aboutHttpsOnlyError.ftl - + toolkit/locales/en-US/toolkit/global/base-browser.ftl - toolkit/locales/jar.mn - toolkit/modules/ActorManagerParent.sys.mjs - toolkit/modules/AppConstants.sys.mjs - toolkit/modules/FinderParent.sys.mjs - toolkit/modules/LogManager.sys.mjs - toolkit/modules/RemotePageAccessManager.sys.mjs - toolkit/modules/UpdateUtils.sys.mjs - toolkit/modules/moz.build - toolkit/mozapps/extensions/AddonManager.sys.mjs - toolkit/mozapps/extensions/content/aboutaddons.html - toolkit/mozapps/extensions/content/aboutaddons.js - toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs - toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs - toolkit/mozapps/extensions/test/browser/head.js - toolkit/mozapps/extensions/test/xpcshell/head_addons.js - toolkit/mozapps/update/UpdateService.sys.mjs - toolkit/mozapps/update/UpdateServiceStub.sys.mjs - toolkit/mozapps/update/common/updatehelper.cpp - toolkit/mozapps/update/tests/data/sharedUpdateXML.js - + toolkit/mozapps/update/tests/unit_aus_update/mixedUnsupported.js - toolkit/mozapps/update/tests/unit_aus_update/xpcshell.toml - toolkit/mozapps/update/updater/launchchild_osx.mm - toolkit/mozapps/update/updater/moz.build - toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der - toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der - toolkit/mozapps/update/updater/updater.cpp - toolkit/themes/shared/findbar.css - toolkit/xre/LauncherRegistryInfo.cpp - toolkit/xre/MacLaunchHelper.h - toolkit/xre/MacLaunchHelper.mm - toolkit/xre/MacRunFromDmgUtils.mm - toolkit/xre/ProfileReset.cpp - toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp - toolkit/xre/nsAppRunner.cpp - toolkit/xre/nsIXREDirProvider.idl - toolkit/xre/nsUpdateDriver.cpp - toolkit/xre/nsXREDirProvider.cpp - toolkit/xre/nsXREDirProvider.h - + tools/base-browser/l10n/combine-translation-versions.py - + tools/base-browser/l10n/combine/__init__.py - + tools/base-browser/l10n/combine/combine.py - + tools/base-browser/l10n/combine/tests/README - + tools/base-browser/l10n/combine/tests/__init__.py - + tools/base-browser/l10n/combine/tests/test_android.py - + tools/base-browser/l10n/combine/tests/test_dtd.py - + tools/base-browser/l10n/combine/tests/test_fluent.py - + tools/base-browser/l10n/combine/tests/test_properties.py - tools/lint/fluent-lint/exclusions.yml - + tools/torbrowser/generate-bugzilla-triage-csv.sh - uriloader/base/nsDocLoader.cpp - uriloader/base/nsURILoader.cpp - uriloader/exthandler/nsExternalHelperAppService.cpp - widget/ScrollbarDrawingWin.cpp - widget/ScrollbarDrawingWin11.cpp - widget/android/WebExecutorSupport.cpp - widget/android/nsClipboard.cpp - widget/cocoa/nsChildView.mm - widget/gtk/MPRISServiceHandler.cpp - widget/gtk/nsWindow.cpp - widget/windows/WinTaskbar.cpp - widget/windows/nsDataObj.cpp - xpcom/io/nsAppFileLocationProvider.cpp - xpfe/appshell/AppWindow.cpp The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/0ab79d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/0ab79d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • ...
  • 765
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.