tbb-commits
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
March 2026
- 1 participants
- 117 discussions
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] 3 commits: BB 43243 [android]: Keep processing pending inits after failure
by brizental (@brizental) 24 Mar '26
by brizental (@brizental) 24 Mar '26
24 Mar '26
brizental pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser
Commits:
863fc44a by Beatriz Rizental at 2026-03-24T14:25:12-03:00
BB 43243 [android]: Keep processing pending inits after failure
This is in the process of being uplifted.
Bug 2021618: bugzilla.mozilla.org/show_bug.cgi?id=2021618
Differential Revision: https://phabricator.services.mozilla.com/D286669
- - - - -
33b1e93e by Beatriz Rizental at 2026-03-24T14:25:12-03:00
BB 43243 [android]: Start GeckoEngineSession early when Marionette enabled
This is in the process of being uplifted.
Bug 2021884: https://bugzilla.mozilla.org/show_bug.cgi?id=2021884
Differential Revision: https://phabricator.services.mozilla.com/D286676
- - - - -
24ce6582 by Beatriz Rizental at 2026-03-24T14:25:13-03:00
BB 43243: Modify mozharness scripts for Base Browser
- - - - -
7 changed files:
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- mobile/shared/modules/geckoview/DelayedInit.sys.mjs
- + mobile/shared/modules/geckoview/test/xpcshell/test_DelayedInit.js
- mobile/shared/modules/geckoview/test/xpcshell/xpcshell.toml
- testing/mozharness/configs/android/android14-x86_64.py
- testing/mozharness/configs/android/android_common.py
- testing/mozharness/scripts/android_emulator_unittest.py
Changes:
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
=====================================
@@ -507,6 +507,12 @@ open class FenixApplication : Application(), Provider, ThemeProvider {
logElapsedTime(logger, "Starting Relay feature integration") {
components.relayFeatureIntegration.start()
}
+
+ // If running Marionette tests a GeckoEngineSession needs to be
+ // started and that must happen on the main thread.
+ logElapsedTime(logger, "Maybe setup Marionette") {
+ maybeSetupMarionette()
+ }
}
}
@@ -675,6 +681,13 @@ open class FenixApplication : Application(), Provider, ThemeProvider {
FxNimbus.initialize { nimbus }
}
+ private fun maybeSetupMarionette() {
+ // If Marionette is enabled, start a GeckoEngineSession immediatelly.
+ if (System.getenv("MOZ_MARIONETTE") == "1") {
+ components.core.engine.speculativeCreateSession(components.appStore.state.mode.isPrivate)
+ }
+ }
+
/**
* Initiate Megazord sequence! Megazord Battle Mode!
*
=====================================
mobile/shared/modules/geckoview/DelayedInit.sys.mjs
=====================================
@@ -96,7 +96,11 @@ var Impl = {
return false;
}
this.complete = true;
- this.fn.call();
+ try {
+ this.fn.call();
+ } catch (e) {
+ console.error("Error running init", e);
+ }
this.fn = null;
return true;
},
=====================================
mobile/shared/modules/geckoview/test/xpcshell/test_DelayedInit.js
=====================================
@@ -0,0 +1,48 @@
+/* Any copyright is dedicated to the Public Domain.
+http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+const { DelayedInit } = ChromeUtils.importESModule(
+ "resource://gre/modules/DelayedInit.sys.mjs"
+);
+
+add_task(async function test_delayed_init_continues_queue_on_failure() {
+ const results = [];
+ const waitMs = 0;
+
+ DelayedInit.schedule(
+ () => {
+ results.push("first");
+ },
+ null,
+ null,
+ waitMs
+ );
+
+ DelayedInit.schedule(
+ () => {
+ results.push("second");
+ throw new Error("Deliberate error for testing");
+ },
+ null,
+ null,
+ waitMs
+ );
+
+ DelayedInit.schedule(
+ () => {
+ results.push("third");
+ },
+ null,
+ null,
+ waitMs
+ );
+
+ await new Promise(resolve => ChromeUtils.idleDispatch(resolve));
+
+ Assert.deepEqual(
+ results,
+ ["first", "second", "third"],
+ "Queue processes all inits even when one fails"
+ );
+});
=====================================
mobile/shared/modules/geckoview/test/xpcshell/xpcshell.toml
=====================================
@@ -7,6 +7,8 @@ prefs = "browser.crashReports.onDemand=true"
["test_ChildCrashHandler.js"]
+["test_DelayedInit.js"]
+
["test_GeckoViewAppConstants.js"]
["test_RemoteSettingsCrashPull.js"]
=====================================
testing/mozharness/configs/android/android14-x86_64.py
=====================================
@@ -11,8 +11,9 @@ config = {
"emulator_avd_name": "mozemulator-android34-x86_64",
"emulator_process_name": "qemu-system-x86_64",
"emulator_extra_args": [
- "-gpu",
- "on",
+ "-no-window",
+ "-no-audio",
+ "-no-boot-anim",
"-skip-adb-auth",
"-verbose",
"-show-kernel",
=====================================
testing/mozharness/configs/android/android_common.py
=====================================
@@ -315,6 +315,19 @@ config = {
"--deviceSerial=%(device_serial)s",
],
},
+ "marionette": {
+ "run_filename": "runtests.py",
+ "testsdir": "marionette/harness/marionette_harness",
+ "install": True,
+ "options": [
+ "-vv",
+ "--address=127.0.0.1:2828",
+ "--app=fennec",
+ ],
+ "tests": [
+ "%(abs_marionette_manifest_dir)s/unit-tests.toml",
+ ],
+ },
}, # end suite_definitions
"structured_suites": [
"mochitest-media",
=====================================
testing/mozharness/scripts/android_emulator_unittest.py
=====================================
@@ -7,15 +7,18 @@ import copy
import datetime
import json
import os
+import socket
import subprocess
import sys
+import tempfile
+import time
# load modules from parent dir
here = os.path.abspath(os.path.dirname(__file__))
sys.path.insert(1, os.path.dirname(here))
from mozharness.base.log import WARNING
-from mozharness.base.script import BaseScript, PreScriptAction
+from mozharness.base.script import BaseScript, PostScriptAction, PreScriptAction
from mozharness.mozilla.automation import TBPL_RETRY
from mozharness.mozilla.mozbase import MozbaseMixin
from mozharness.mozilla.testing.android import AndroidMixin
@@ -26,7 +29,7 @@ from mozharness.mozilla.testing.codecoverage import (
from mozharness.mozilla.testing.testbase import TestingMixin, testing_config_options
SUITE_DEFAULT_E10S = ["geckoview-junit", "mochitest", "reftest"]
-SUITE_NO_E10S = ["cppunittest", "gtest", "jittest", "xpcshell"]
+SUITE_NO_E10S = ["cppunittest", "gtest", "jittest", "xpcshell", "marionette"]
SUITE_REPEATABLE = ["mochitest", "reftest", "xpcshell"]
@@ -178,6 +181,15 @@ class AndroidEmulatorTest(
"times in which case the test must contain at least one of the given tags.",
},
],
+ [
+ ["--package-name"],
+ {
+ "action": "store",
+ "default": None,
+ "dest": "package_name",
+ "help": "The Android package name for the app being installed.",
+ },
+ ],
]
+ copy.deepcopy(testing_config_options)
+ copy.deepcopy(code_coverage_config_options)
@@ -228,6 +240,7 @@ class AndroidEmulatorTest(
self.enable_isolated_zygote_process = c.get("enable_isolated_zygote_process")
self.extra_prefs = c.get("extra_prefs")
self.test_tags = c.get("test_tags")
+ self.package_name = c.get("package_name") or self.query_package_name()
def query_abs_dirs(self):
if self.abs_dirs:
@@ -329,6 +342,16 @@ class AndroidEmulatorTest(
"error_summary_file": error_summary_file,
"xpcshell_extra": c.get("xpcshell_extra", ""),
"gtest_dir": os.path.join(dirs["abs_test_install_dir"], "gtest"),
+ "abs_marionette_manifest_dir": os.path.join(
+ dirs["abs_test_install_dir"],
+ "marionette",
+ "tests",
+ "testing",
+ "marionette",
+ "harness",
+ "marionette_harness",
+ "tests",
+ ),
}
user_paths = self._get_mozharness_test_paths(self.test_suite)
@@ -345,7 +368,7 @@ class AndroidEmulatorTest(
if "%(app)" in option:
# only query package name if requested
- cmd.extend([option % {"app": self.query_package_name()}])
+ cmd.extend([option % {"app": self.package_name}])
else:
option = option % str_format_values
if option:
@@ -409,6 +432,7 @@ class AndroidEmulatorTest(
self.config["suite_definitions"][self.test_suite].get("tests"),
None,
try_tests,
+ str_format_values=str_format_values,
)
)
@@ -449,6 +473,7 @@ class AndroidEmulatorTest(
},
),
("xpcshell", {"xpcshell": "xpcshell"}),
+ ("marionette", {"marionette": "marionette"}),
]
suites = []
for category, all_suites in all:
@@ -473,6 +498,61 @@ class AndroidEmulatorTest(
# in the base class, this checks for mozinstall, but we don't use it
pass
+ def _configure_marionette_virtualenv(self, action):
+ dirs = self.query_abs_dirs()
+ requirements = os.path.join(
+ dirs["abs_test_install_dir"], "config", "marionette_requirements.txt"
+ )
+ if not os.path.isfile(requirements):
+ self.fatal(f"Could not find marionette requirements file: {requirements}")
+
+ self.register_virtualenv_module(requirements=[requirements])
+
+ def _marionette_setup(self):
+ adb = self.query_exe("adb")
+
+ self.run_command([adb, "forward", "tcp:2828", "tcp:2828"])
+
+ with tempfile.NamedTemporaryFile(suffix=".yaml") as tmp_file:
+ tmp_file.write(
+ b"""args:
+- --marionette
+- --remote-allow-system-access
+"""
+ )
+ tmp_file.flush()
+
+ remote_path = f"/data/local/tmp/{self.package_name}-geckoview-config.yaml"
+ self.run_command([adb, "push", tmp_file.name, remote_path])
+
+ self.run_command([
+ adb,
+ "shell",
+ "am",
+ "start",
+ "-S",
+ "-W",
+ "-n",
+ f"{self.package_name}/org.mozilla.gecko.BrowserApp",
+ ])
+
+ # Wait for Marionette to be ready
+ for attempt in range(5):
+ try:
+ self.info(
+ f"Checking Marionette on 127.0.0.1:2828 (attempt {attempt + 1}/5)"
+ )
+ socket.create_connection(("127.0.0.1", 2828), 10).close()
+ self.info("Marionette is reachable")
+ break
+ except OSError:
+ if attempt == 4:
+ self.fatal(
+ "Timed out waiting for 127.0.0.1:2828 to become reachable"
+ )
+ self.info("Marionette not reachable yet, retrying in 10s")
+ time.sleep(10)
+
@PreScriptAction("create-virtualenv")
def pre_create_virtualenv(self, action):
dirs = self.query_abs_dirs()
@@ -488,6 +568,9 @@ class AndroidEmulatorTest(
if requirements:
self.register_virtualenv_module(requirements=[requirements])
+ if ("marionette", "marionette") in suites:
+ self._configure_marionette_virtualenv(action)
+
def download_and_extract(self):
"""
Download and extract product APK, tests.zip, and host utils.
@@ -525,6 +608,9 @@ class AndroidEmulatorTest(
for per_test_suite, suite in suites:
self.test_suite = suite
+ if self.test_suite == "marionette":
+ self._marionette_setup()
+
try:
cwd = self._query_tests_dir(self.test_suite)
except Exception:
@@ -594,6 +680,19 @@ class AndroidEmulatorTest(
% (suite_category, suite, tbpl_status),
)
+ @PostScriptAction("run-tests")
+ def marionette_teardown(self, *args, **kwargs):
+ if ("marionette", "marionette") in self._query_suites():
+ adb = self.query_exe("adb")
+ self.run_command([adb, "shell", "am", "force-stop", self.package_name])
+ self.run_command([adb, "uninstall", self.package_name])
+ self.run_command([
+ adb,
+ "shell",
+ "rm",
+ f"/data/local/tmp/{self.package_name}-geckoview-config.yaml",
+ ])
+
if __name__ == "__main__":
test = AndroidEmulatorTest()
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/dd7562…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/dd7562…
You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0
[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-149.0a1-16.0-2-build1
by boklm (@boklm) 24 Mar '26
by boklm (@boklm) 24 Mar '26
24 Mar '26
boklm pushed new tag mullvad-browser-149.0a1-16.0-2-build1 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. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] 29 commits: Add CI for Mullvad Browser
by boklm (@boklm) 24 Mar '26
by boklm (@boklm) 24 Mar '26
24 Mar '26
boklm pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser
Commits:
07fe6c41 by Henry Wilkes at 2026-03-24T12:31:40+01:00
Add CI for Mullvad Browser
- - - - -
b930557c by Pier Angelo Vendrame at 2026-03-24T12:31:41+01:00
MB 38: Mullvad Browser configuration
- - - - -
3a802835 by Pier Angelo Vendrame at 2026-03-24T12:41:52+01: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
- - - - -
2e97da18 by Henry Wilkes at 2026-03-24T16:11:01+01:00
fixup! MB 1: Mullvad Browser branding
MB 515: Use max-width instead of width for #rightBox
- - - - -
a3dd8eb8 by Henry Wilkes at 2026-03-24T16:11:02+01:00
Mullvad Browser strings
This commit adds strings needed by the following Mullvad Browser
patches.
- - - - -
bb4d0baa by Pier Angelo Vendrame at 2026-03-24T16:11:03+01: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.
- - - - -
1e144649 by Pier Angelo Vendrame at 2026-03-24T16:11:04+01:00
MB 63: Customize some about pages for Mullvad Browser
Also:
mullvad-browser#57: Purge unneeded about: pages
- - - - -
51bb9a4e by Pier Angelo Vendrame at 2026-03-24T16:11:05+01:00
MB 37: Customization for the about dialog
- - - - -
0bd1d419 by Henry Wilkes at 2026-03-24T16:11:06+01:00
MB 39: Add home page about:mullvad-browser
- - - - -
75ae5ec7 by Henry Wilkes at 2026-03-24T16:11:07+01:00
fixup! MB 39: Add home page about:mullvad-browser
MB 516: Use new CSS tokens.
- - - - -
69ce282e by hackademix at 2026-03-24T16:11:08+01:00
MB 97: Remove UI cues to install new extensions.
- - - - -
78c8a7d6 by hackademix at 2026-03-24T16:11:09+01:00
MB 47: uBlock Origin customization
- - - - -
14a23d38 by Pier Angelo Vendrame at 2026-03-24T16:11:10+01: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.
- - - - -
b47ff966 by Pier Angelo Vendrame at 2026-03-24T16:11:11+01:00
MB 112: Updater customization for Mullvad Browser
MB 71: Set the updater base URL to Mullvad domain
- - - - -
b71dc454 by Nicolas Vigier at 2026-03-24T16:11:11+01:00
MB 79: Add Mullvad Browser MAR signing keys
MB 256: Add mullvad-browser nightly mar signing key
- - - - -
fd261adc by Pier Angelo Vendrame at 2026-03-24T16:11:12+01: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.
- - - - -
98954dc6 by Pier Angelo Vendrame at 2026-03-24T16:11:13+01: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.
- - - - -
6690c8de by hackademix at 2026-03-24T16:11:14+01:00
MB 163: Prevent uBlock Origin from being uninstalled/disabled
- - - - -
fd90fbee by Richard Pospesel at 2026-03-24T16:11:15+01:00
MB 188: Customize Gitlab Issue and Merge templates
- - - - -
2519f1d2 by Dan Ballard at 2026-03-24T16:11:16+01:00
fixup! MB 188: Customize Gitlab Issue and Merge templates
Add notification final step
- - - - -
351b9644 by rui hildt at 2026-03-24T16:11:17+01:00
MB 213: Customize the search engines list.
- - - - -
b19edae2 by hackademix at 2026-03-24T16:11:18+01:00
MB 214: Enable cross-tab identity leak protection in "quiet" mode
- - - - -
c099b706 by Pier Angelo Vendrame at 2026-03-24T16:11:19+01: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.
- - - - -
9d8faf6a by Henry Wilkes at 2026-03-24T16:11:20+01:00
MB 329: Customize toolbar for mullvad-browser.
- - - - -
6763253e by Pier Angelo Vendrame at 2026-03-24T16:11:21+01:00
fixup! MB 329: Customize toolbar for mullvad-browser.
MB 514: Remove new identity from Mullvad Browser.
- - - - -
dfc7d9b7 by Henry Wilkes at 2026-03-24T16:11:21+01:00
MB 419: Mullvad Browser migration procedures.
This commit implements the the Mullvad Browser's version of _migrateUI.
- - - - -
a53d1009 by Henry Wilkes at 2026-03-24T16:11:22+01:00
MB 488: Adjust search engine removal notification for Mullvad Leta.
- - - - -
03b70ede by Pier Angelo Vendrame at 2026-03-24T16:11:23+01:00
MB 80: Enable Mullvad Browser as a default browser
- - - - -
1d8625c5 by Beatriz Rizental at 2026-03-24T16:11:24+01:00
MB 43564: Modify ./mach bootstrap for Mullvad Browser
- - - - -
259 changed files:
- .gitlab/ci/jobs/update-translations.yml
- .gitlab/issue_templates/000 Bug Report.md
- .gitlab/issue_templates/010 Proposal.md
- .gitlab/issue_templates/020 Web Compatibility.md
- .gitlab/issue_templates/030 Test.md
- .gitlab/issue_templates/040 Feature.md
- .gitlab/issue_templates/041 Time-Gated Feature.md
- .gitlab/issue_templates/051 Revert.md
- + .gitlab/issue_templates/060 Rebase - Alpha.md
- + .gitlab/issue_templates/061 Rebase - Stable.md
- .gitlab/issue_templates/090 Emergency Security Issue.md
- .gitlab/merge_request_templates/Default.md
- + .gitlab/merge_request_templates/Rebase.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.sys.mjs
- 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/document_pdf.svg
- + 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/document_pdf.svg
- + 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/document_pdf.svg
- + 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/DesktopActorRegistry.sys.mjs
- browser/components/ProfileDataUpgrader.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/preferences/home.inc.xhtml
- 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/SearchUIUtils.sys.mjs
- browser/components/shell/ShellService.sys.mjs
- browser/components/shell/WindowsDefaultBrowser.cpp
- browser/components/shell/nsWindowsShellService.cpp
- browser/components/tabbrowser/NewTabPagePreloading.sys.mjs
- browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/mullvad-browser
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/updater_append.ini
- browser/locales/l10n.toml
- browser/modules/HomePage.sys.mjs
- browser/moz.build
- browser/moz.configure
- build/moz.configure/basebrowser-resources.configure
- build/moz.configure/bootstrap.configure
- 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
- 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
- + other-licenses/nsis/Contrib/ApplicationID/Makefile
- other-licenses/nsis/Contrib/ApplicationID/Set.cpp
- + other-licenses/nsis/Contrib/CityHash/Makefile
- python/mozboot/mozboot/bootstrap.py
- python/mozbuild/mozbuild/backend/base.py
- python/mozbuild/mozbuild/tbbutils.py
- toolkit/components/extensions/child/ext-storage.js
- toolkit/components/extensions/parent/ext-storage.js
- toolkit/components/passwordmgr/LoginHelper.sys.mjs
- toolkit/components/remote/nsDBusRemoteClient.cpp
- toolkit/components/remote/nsDBusRemoteServer.cpp
- toolkit/components/search/SearchService.sys.mjs
- toolkit/components/search/content/base-browser-search-engine-icons.json
- toolkit/components/search/content/base-browser-search-engines.json
- + toolkit/components/search/content/brave.svg
- + toolkit/components/search/content/mojeek.ico
- toolkit/components/search/tests/xpcshell/test_base_browser.js
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/content/aboutTelemetryMullvad.xhtml
- toolkit/content/jar.mn
- + 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/d3…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/d3…
You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! Firefox preference overrides.
by Pier Angelo Vendrame (@pierov) 24 Mar '26
by Pier Angelo Vendrame (@pierov) 24 Mar '26
24 Mar '26
Pier Angelo Vendrame pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser
Commits:
dd756207 by Pier Angelo Vendrame at 2026-03-24T16:45:21+01:00
fixup! Firefox preference overrides.
BB 44763: Disable WebGPU until audited.
- - - - -
1 changed file:
- browser/app/profile/001-base-profile.js
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -492,6 +492,8 @@ pref("privacy.resistFingerprinting.skipEarlyBlankFirstPaint", true);
pref("webgl.disable-fail-if-major-performance-caveat", true);
// tor-browser#16404: disable until we investigate it further (#22333)
pref("webgl.enable-webgl2", false);
+// tor-browser#44763: disable WebGPU until audited.
+pref("dom.webgpu.enabled", false);
pref("browser.link.open_newwindow.restriction", 0); // Bug 9881: Open popups in new tabs (to avoid fullscreen popups)
// tor-browser#42767: Disable offscreen canvas until verified it is not fingerprintable
pref("gfx.offscreencanvas.enabled", false);
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dd75620…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dd75620…
You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] 2 commits: fixup! TB 40933: Add tor-launcher functionality
by henry (@henry) 24 Mar '26
by henry (@henry) 24 Mar '26
24 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser
Commits:
edf9758a by Henry Wilkes at 2026-03-24T14:48:48+00:00
fixup! TB 40933: Add tor-launcher functionality
TB 44753: Drop TorProvider.isBootstrapDone.
- - - - -
3dac4f13 by Henry Wilkes at 2026-03-24T14:48:50+00:00
fixup! TB 41668: Tweaks to the Base Browser updater for Tor Browser
TB 44753: Use TorConnect rather than TorProvider to determine if we are
bootstrapped.
This avoids a direct and async call to the provider.
We also add a safety check to determine whether the bootstrap has
already called before adding the listener.
- - - - -
2 changed files:
- toolkit/components/tor-launcher/TorProvider.sys.mjs
- toolkit/mozapps/update/UpdateService.sys.mjs
Changes:
=====================================
toolkit/components/tor-launcher/TorProvider.sys.mjs
=====================================
@@ -137,7 +137,6 @@ export class TorProvider {
*/
#socksSettings = null;
- #isBootstrapDone = false;
/**
* Keep the last warning to avoid broadcasting an async warning if it is the
* same one as the last broadcast.
@@ -510,10 +509,6 @@ export class TorProvider {
return TorLauncherUtil.shouldStartAndOwnTor;
}
- get isBootstrapDone() {
- return this.#isBootstrapDone;
- }
-
/**
* TODO: Rename to isReady once we remove finish the migration.
*
@@ -883,7 +878,6 @@ export class TorProvider {
"Requested to close an already closed control port connection"
);
}
- this.#isBootstrapDone = false;
this.#lastWarning = {};
}
@@ -1005,12 +999,9 @@ export class TorProvider {
Services.obs.notifyObservers(statusObj, TorProviderTopics.BootstrapStatus);
if (statusObj.PROGRESS === 100) {
- this.#isBootstrapDone = true;
return;
}
- this.#isBootstrapDone = false;
-
// Can TYPE ever be ERR for STATUS_CLIENT?
if (
isNotification &&
=====================================
toolkit/mozapps/update/UpdateService.sys.mjs
=====================================
@@ -22,7 +22,9 @@ ChromeUtils.defineESModuleGetters(lazy, {
AddonManager: "resource://gre/modules/AddonManager.sys.mjs",
AsyncShutdown: "resource://gre/modules/AsyncShutdown.sys.mjs",
DeferredTask: "resource://gre/modules/DeferredTask.sys.mjs",
- TorProviderBuilder: "resource://gre/modules/TorProviderBuilder.sys.mjs",
+ TorConnect: "resource://gre/modules/TorConnect.sys.mjs",
+ TorConnectStage: "resource://gre/modules/TorConnect.sys.mjs",
+ TorConnectTopics: "resource://gre/modules/TorConnect.sys.mjs",
UpdateLog: "resource://gre/modules/UpdateLog.sys.mjs",
UpdateUtils: "resource://gre/modules/UpdateUtils.sys.mjs",
WindowsRegistry: "resource://gre/modules/WindowsRegistry.sys.mjs",
@@ -372,15 +374,6 @@ export function testResetIsBackgroundTaskMode() {
resetIsBackgroundTaskMode();
}
-async function _shouldRegisterBootstrapObserver() {
- try {
- const provider = await lazy.TorProviderBuilder.build();
- return !provider.isBootstrapDone && provider.ownsTorDaemon;
- } catch {
- return false;
- }
-}
-
/**
* Changes `nsIApplicationUpdateService.currentState` and causes
* `nsIApplicationUpdateService.stateTransition` to resolve.
@@ -2831,7 +2824,7 @@ export class UpdateService {
case "network:offline-status-changed":
await this._offlineStatusChanged(data);
break;
- case "torconnect:bootstrap-complete":
+ case lazy.TorConnectTopics.BootstrapComplete:
this._bootstrapComplete();
break;
case "quit-application":
@@ -3447,7 +3440,36 @@ export class UpdateService {
await this._attemptResume();
}
+ /**
+ * Whether we should wait for the Tor bootstrap event to try again because we
+ * are not yet bootstrapped.
+ *
+ * If the browser does not monitor the Tor connection state, this will return
+ * `false` since the event will never fire.
+ *
+ * @returns {boolean} - Whether we should wait for the bootstrap event.
+ */
+ _shouldRegisterBootstrapObserver() {
+ return (
+ lazy.TorConnect.enabled &&
+ lazy.TorConnect.stageName !== lazy.TorConnectStage.Bootstrapped
+ );
+ }
+
+ /**
+ * Wait for the Tor connection to be bootstrapped before trying again.
+ */
_registerBootstrapObserver() {
+ // Double check that we haven't since become bootstrapped between the call
+ // to _shouldRegisterBootstrapObserver and _registerBootstrapObserver, which
+ // may be delayed. If so, we do not wait for the BootstrapComplete signal
+ // since it has already fired.
+ if (lazy.TorConnect.stageName === lazy.TorConnectStage.Bootstrapped) {
+ LOG("UpdateService:_registerBootstrapObserver - already bootstrapped");
+ this._bootstrapComplete();
+ return;
+ }
+
if (this._registeredBootstrapObserver) {
LOG(
"UpdateService:_registerBootstrapObserver - observer already registered"
@@ -3460,13 +3482,22 @@ export class UpdateService {
"to be complete, then forcing another check"
);
- Services.obs.addObserver(this, "torconnect:bootstrap-complete");
+ Services.obs.addObserver(this, lazy.TorConnectTopics.BootstrapComplete);
this._registeredBootstrapObserver = true;
}
+ /**
+ * Called when the Tor connection becomes bootstrapped. This will trigger a
+ * retry.
+ */
_bootstrapComplete() {
- Services.obs.removeObserver(this, "torconnect:bootstrap-complete");
- this._registeredBootstrapObserver = false;
+ if (this._registeredBootstrapObserver) {
+ Services.obs.removeObserver(
+ this,
+ lazy.TorConnectTopics.BootstrapComplete
+ );
+ this._registeredBootstrapObserver = false;
+ }
LOG(
"UpdateService:_bootstrapComplete - bootstrapping complete, forcing " +
@@ -3511,7 +3542,7 @@ export class UpdateService {
return;
} else if (
update.errorCode === PROXY_SERVER_CONNECTION_REFUSED &&
- (await _shouldRegisterBootstrapObserver())
+ this._shouldRegisterBootstrapObserver()
) {
// Register boostrap observer to try again, but only when we own the
// tor process.
@@ -7105,7 +7136,7 @@ class Downloader {
deleteActiveUpdate = false;
} else if (
status === PROXY_SERVER_CONNECTION_REFUSED &&
- (await _shouldRegisterBootstrapObserver())
+ this.updateService._shouldRegisterBootstrapObserver()
) {
// Register a bootstrap observer to try again.
// The bootstrap observer will continue the incremental download by
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/abb0be…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/abb0be…
You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] 2 commits: fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser
by henry (@henry) 24 Mar '26
by henry (@henry) 24 Mar '26
24 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser
Commits:
7114c332 by Henry Wilkes at 2026-03-24T14:35:27+00:00
fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser
TB 44621: Move torconnect/ from toolkit/components/ to
browser/components/
- - - - -
abb0be28 by Henry Wilkes at 2026-03-24T14:35:27+00:00
fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
TB 44621: Replace torconnect paths with browser paths.
- - - - -
33 changed files:
- browser/base/content/browser.js
- browser/base/content/browser.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/moz.build
- toolkit/components/torconnect/TorConnectChild.sys.mjs → browser/components/torconnect/TorConnectChild.sys.mjs
- toolkit/components/torconnect/TorConnectParent.sys.mjs → browser/components/torconnect/TorConnectParent.sys.mjs
- toolkit/components/torconnect/content/aboutTorConnect.css → browser/components/torconnect/content/aboutTorConnect.css
- toolkit/components/torconnect/content/aboutTorConnect.html → browser/components/torconnect/content/aboutTorConnect.html
- toolkit/components/torconnect/content/aboutTorConnect.js → browser/components/torconnect/content/aboutTorConnect.js
- toolkit/components/torconnect/content/arrow-right.svg → browser/components/torconnect/content/arrow-right.svg
- toolkit/components/torconnect/content/bridge.svg → browser/components/torconnect/content/bridge.svg
- toolkit/components/torconnect/content/connection-failure.svg → browser/components/torconnect/content/connection-failure.svg
- toolkit/components/torconnect/content/connection-location.svg → browser/components/torconnect/content/connection-location.svg
- toolkit/components/torconnect/content/tor-connect-broken.svg → browser/components/torconnect/content/tor-connect-broken.svg
- toolkit/components/torconnect/content/tor-connect.svg → browser/components/torconnect/content/tor-connect.svg
- toolkit/components/torconnect/content/tor-not-connected-to-connected-animated.svg → browser/components/torconnect/content/tor-not-connected-to-connected-animated.svg
- toolkit/components/torconnect/content/torConnectTitlebarStatus.css → browser/components/torconnect/content/torConnectTitlebarStatus.css
- toolkit/components/torconnect/content/torConnectTitlebarStatus.inc.xhtml → browser/components/torconnect/content/torConnectTitlebarStatus.inc.xhtml
- toolkit/components/torconnect/content/torConnectTitlebarStatus.js → browser/components/torconnect/content/torConnectTitlebarStatus.js
- toolkit/components/torconnect/content/torConnectUrlbarButton.js → browser/components/torconnect/content/torConnectUrlbarButton.js
- + browser/components/torconnect/jar.mn
- toolkit/components/torconnect/moz.build → browser/components/torconnect/moz.build
- browser/components/torpreferences/content/connectionPane.js
- browser/components/torpreferences/content/torPreferences.css
- browser/modules/URILoadingHelper.sys.mjs
- docshell/base/nsAboutRedirector.cpp
- docshell/build/components.conf
- eslint-file-globals.config.mjs
- toolkit/components/moz.build
- − toolkit/components/torconnect/jar.mn
- toolkit/modules/ActorManagerParent.sys.mjs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/b3e39e…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/b3e39e…
You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] 2 commits: fixup! Add CI for Tor Browser
by henry (@henry) 24 Mar '26
by henry (@henry) 24 Mar '26
24 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser
Commits:
99d66178 by Henry Wilkes at 2026-03-24T14:31:19+00:00
fixup! Add CI for Tor Browser
TB 43180: Remove translation CI's legacy 13.5 logic.
- - - - -
b3e39e15 by Henry Wilkes at 2026-03-24T14:31:19+00:00
fixup! BB 42305: Add script to combine translation files across versions.
TB 43180: Remove translation CI's legacy 13.5 logic.
- - - - -
2 changed files:
- .gitlab/ci/jobs/update-translations.yml
- tools/base_browser/l10n/combine-translation-versions.py
Changes:
=====================================
.gitlab/ci/jobs/update-translations.yml
=====================================
@@ -16,7 +16,7 @@
TRANSLATION_FILES: '[
{
"name": "brand.ftl",
- "where": ["browser/branding/tb-release", "toolkit/torbutton"],
+ "where": ["browser/branding/tb-release"],
"branding": {
"versions": [
{
@@ -40,7 +40,7 @@
},
{
"name": "brand.properties",
- "where": ["browser/branding/tb-release", "toolkit/torbutton"],
+ "where": ["browser/branding/tb-release"],
"branding": {
"versions": [
{
@@ -72,11 +72,9 @@
{ "name": "base-browser.ftl", "branch": "base-browser" },
{
"name": "torbrowser_strings.xml",
- "branch": "fenix-torbrowserstringsxml",
- "exclude-legacy": true
+ "branch": "fenix-torbrowserstringsxml"
}
]'
- TRANSLATION_INCLUDE_LEGACY: "true"
combine-en-US-translations:
=====================================
tools/base_browser/l10n/combine-translation-versions.py
=====================================
@@ -194,14 +194,11 @@ class BrowserBranch:
)
-def get_stable_branch(
- compare_version: BrowserBranch,
-) -> tuple[BrowserBranch, BrowserBranch | None]:
+def get_stable_branch(compare_version: BrowserBranch) -> BrowserBranch:
"""Find the most recent stable branch in the origin repository.
:param compare_version: The development branch to compare against.
- :returns: The stable and legacy branches. If no legacy branch is found,
- `None` will be returned instead.
+ :returns: The stable branch.
"""
# We search for build1 tags. These are added *after* the rebase of browser
# commits, so the corresponding branch should contain our strings.
@@ -218,9 +215,7 @@ def get_stable_branch(
fetch_args = ("--depth=1", "--filter=object:type=tag")
git_run(["fetch", *fetch_args, "origin", "tag", tag_glob])
stable_branches = []
- legacy_branches = []
stable_annotation_regex = re.compile(r"\bstable\b")
- legacy_annotation_regex = re.compile(r"\blegacy\b")
tag_pattern = re.compile(
rf"^{re.escape(compare_version.prefix)}-[^-]+-[^-]+-[^-]+-build1$"
)
@@ -230,9 +225,7 @@ def get_stable_branch(
):
if not tag_pattern.match(build_tag):
continue
- is_stable = bool(stable_annotation_regex.search(annotation))
- is_legacy = bool(legacy_annotation_regex.search(annotation))
- if not is_stable and not is_legacy:
+ if not stable_annotation_regex.search(annotation):
continue
try:
# Branch name is the same as the tag, minus "-build1".
@@ -242,40 +235,30 @@ def get_stable_branch(
continue
if branch.prefix != compare_version.prefix:
continue
- if is_stable:
- # Stable can be one release version behind.
- # NOTE: In principle, when switching between versions there may be a
- # window of time where the development branch has not yet progressed
- # to the next ".0" release, so has the same browser version as the
- # stable branch. So we also allow for matching browser versions.
- # NOTE:
- # 1. The "Will be unused in" message will not make sense, but we do
- # not expect string differences in this scenario.
- # 2. We do not expect this scenario to last for long.
- release_diff = compare_version.browser_version - branch.browser_version
- if release_diff < 0.0 or release_diff > 1.0:
- continue
- stable_branches.append(branch)
- elif is_legacy:
- # Legacy can be arbitrary release versions behind.
- legacy_branches.append(branch)
+ # Stable can be one release version behind.
+ # NOTE: In principle, when switching between versions there may be a
+ # window of time where the development branch has not yet progressed
+ # to the next ".0" release, so has the same browser version as the
+ # stable branch. So we also allow for matching browser versions.
+ # NOTE:
+ # 1. The "Will be unused in" message will not make sense, but we do
+ # not expect string differences in this scenario.
+ # 2. We do not expect this scenario to last for long.
+ release_diff = compare_version.browser_version - branch.browser_version
+ if release_diff < 0.0 or release_diff > 1.0:
+ continue
+ stable_branches.append(branch)
if not stable_branches:
raise Exception("No stable build1 branch found")
- return (
- # Return the stable branch with the highest version.
- max(stable_branches),
- max(legacy_branches) if legacy_branches else None,
- )
+ # Return the stable branch with the highest version.
+ return max(stable_branches)
current_branch = BrowserBranch(args.current_branch, is_head=True)
-stable_branch, legacy_branch = get_stable_branch(current_branch)
-
-if os.environ.get("TRANSLATION_INCLUDE_LEGACY", "") != "true":
- legacy_branch = None
+stable_branch = get_stable_branch(current_branch)
files_list = []
@@ -330,32 +313,6 @@ for file_dict in json.loads(args.files):
f"Will be unused in {current_branch.browser_version_name}!",
)
- if legacy_branch and not file_dict.get("exclude-legacy", False):
- legacy_file = legacy_branch.get_file(name, where_dirs)
- if legacy_file is not None and current_file is None and stable_file is None:
- logger.warning(f"{name} still exists in the legacy branch")
- elif legacy_file is None:
- logger.warning(f"{name} does not exist in the legacy branch")
- elif stable_file is not None and legacy_file.path != stable_file.path:
- logger.warning(
- f"{name} has different paths in the stable and legacy branch. "
- f"{stable_file.path} : {legacy_file.path}"
- )
- elif current_file is not None and legacy_file.path != current_file.path:
- logger.warning(
- f"{name} has different paths in the current and legacy branch. "
- f"{current_file.path} : {legacy_file.path}"
- )
-
- content = combine_files(
- name,
- content,
- legacy_file.content,
- f"Unused in {stable_branch.browser_version_name}!",
- )
- elif legacy_branch:
- logger.info(f"Excluding legacy branch for {name}")
-
files_list.append({
"name": name,
# If "directory" is unspecified, we place the file directly beneath
@@ -380,8 +337,5 @@ json_data = {
"files": files_list,
}
-if legacy_branch:
- json_data["legacy-branch"] = legacy_branch.name
-
with open(args.outname, "w") as file:
json.dump(json_data, file)
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e4ec41…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e4ec41…
You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] 2 commits: fixup! BB 43525: Skip Remote Settings for search engine customization.
by Pier Angelo Vendrame (@pierov) 24 Mar '26
by Pier Angelo Vendrame (@pierov) 24 Mar '26
24 Mar '26
Pier Angelo Vendrame pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser
Commits:
edab3fe7 by Pier Angelo Vendrame at 2026-03-24T09:54:08+01:00
fixup! BB 43525: Skip Remote Settings for search engine customization.
BB 44757: Fix search engine tests for Firefox 149.
- - - - -
e4ec416f by Pier Angelo Vendrame at 2026-03-24T09:54:56+01:00
fixup! BB 40925: Implemented the Security Level component
BB 44757: Fix search engine tests for Firefox 149.
- - - - -
2 changed files:
- toolkit/components/search/tests/xpcshell/test_base_browser.js
- toolkit/components/search/tests/xpcshell/test_security_level.js
Changes:
=====================================
toolkit/components/search/tests/xpcshell/test_base_browser.js
=====================================
@@ -10,6 +10,10 @@
"use strict";
+const { SearchService } = ChromeUtils.importESModule(
+ "moz-src:///toolkit/components/search/SearchService.sys.mjs"
+);
+
const expectedURLs = {
ddg: "https://duckduckgo.com/?q=test",
"ddg-noai": "https://noai.duckduckgo.com/?q=test",
@@ -23,24 +27,23 @@ const expectedURLs = {
const defaultEngine = "ddg";
add_setup(async function setup() {
- await Services.search.init();
+ await SearchService.init();
});
add_task(async function test_listEngines() {
- const { engines } =
- await Services.search.wrappedJSObject._fetchEngineSelectorEngines();
+ const { engines } = await SearchService._fetchEngineSelectorEngines();
const foundIdentifiers = engines.map(e => e.identifier);
Assert.deepEqual(foundIdentifiers, Object.keys(expectedURLs));
});
add_task(async function test_default() {
Assert.equal(
- (await Services.search.getDefault()).id,
+ (await SearchService.getDefault()).id,
defaultEngine,
`${defaultEngine} is our default search engine in normal mode.`
);
Assert.equal(
- (await Services.search.getDefaultPrivate()).id,
+ (await SearchService.getDefaultPrivate()).id,
defaultEngine,
`${defaultEngine} is our default search engine in PBM.`
);
@@ -48,7 +51,7 @@ add_task(async function test_default() {
add_task(function test_checkSearchURLs() {
for (const [id, url] of Object.entries(expectedURLs)) {
- const engine = Services.search.getEngineById(id);
+ const engine = SearchService.getEngineById(id);
const foundUrl = engine.getSubmission("test").uri.spec;
Assert.equal(foundUrl, url, `The URL of ${engine.name} is not altered.`);
}
@@ -56,7 +59,7 @@ add_task(function test_checkSearchURLs() {
add_task(async function test_iconsDoesNotFail() {
for (const id of Object.keys(expectedURLs)) {
- const engine = Services.search.getEngineById(id);
+ const engine = SearchService.getEngineById(id);
// No need to assert anything, as in case of error this method should throw.
await engine.getIconURL();
}
=====================================
toolkit/components/search/tests/xpcshell/test_security_level.js
=====================================
@@ -8,6 +8,10 @@
"use strict";
+const { SearchService } = ChromeUtils.importESModule(
+ "moz-src:///toolkit/components/search/SearchService.sys.mjs"
+);
+
const expectedURLs = {
ddg: "https://html.duckduckgo.com/html?q=test",
"ddg-onion":
@@ -15,9 +19,9 @@ const expectedURLs = {
};
add_task(async function test_securityLevel() {
- await Services.search.init();
+ await SearchService.init();
for (const [id, url] of Object.entries(expectedURLs)) {
- const engine = Services.search.getEngineById(id);
+ const engine = SearchService.getEngineById(id);
const foundUrl = engine.getSubmission("test").uri.spec;
Assert.equal(foundUrl, url, `${engine.name} is in HTML mode.`);
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/a9088f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/a9088f…
You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] 136 commits: Bug 2020410 - Ensure search suggestions checkbox on about:preferences#search...
by boklm (@boklm) 24 Mar '26
by boklm (@boklm) 24 Mar '26
24 Mar '26
boklm pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser
Commits:
baa8c6e2 by Stephanie Cunnane at 2026-03-19T17:15:51+01:00
Bug 2020410 - Ensure search suggestions checkbox on about:preferences#search is hidden when browser.urlbar.quicksuggest.enabled is false. r=Standard8,hjones
Differential Revision: https://phabricator.services.mozilla.com/D285898
- - - - -
3597bc47 by Henry Wilkes at 2026-03-19T17:15:53+01:00
BB 41454: Move focus after calling openPreferences for a sub-category.
Temporary fix until mozilla bug 1799153 gets a patch upstream.
- - - - -
dfe881b7 by Henry Wilkes at 2026-03-19T17:15:54+01: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.
- - - - -
fece3e63 by Henry Wilkes at 2026-03-19T17:15:55+01: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.
- - - - -
79157b7b by Henry Wilkes at 2026-03-19T17:15:56+01:00
BB 41483: Remove the firefox override for appstrings.properties
Remove this patch after upstream bugzilla bug 1790187
- - - - -
b2302ec6 by Sukhbir Singh at 2026-03-19T17:15:57+01:00
BB 44167: Don't build the uninstaller for Windows during Firefox compilation
- - - - -
4cd3428c by Marco Simonelli at 2026-03-19T17:15:58+01:00
BB 41459: WebRTC fails to build under mingw (Part 1)
- properly define NOMINMAX for just MSVC builds
- - - - -
fd0ad466 by Marco Simonelli at 2026-03-19T17:15:59+01:00
BB 41459: WebRTC fails to build under mingw (Part 2)
- fixes required to build third_party/libwebrtc
- - - - -
6adca551 by june wilde at 2026-03-19T17:16:00+01:00
fixup! BB 41459: WebRTC fails to build under mingw (Part 2)
- - - - -
b01184fd by Marco Simonelli at 2026-03-19T17:16:01+01:00
BB 41459: WebRTC fails to build under mingw (Part 3)
- fixes required to build third_party/sipcc
- - - - -
a0b129a9 by Marco Simonelli at 2026-03-19T17:16:02+01:00
BB 41459: WebRTC fails to build under mingw (Part 4)
- fixes requried to build netwerk/sctp
- - - - -
af7b6981 by Marco Simonelli at 2026-03-19T17:16:03+01:00
BB 41459: WebRTC fails to build under mingw (Part 5)
- fixes required to build dom/media/webrtc
- - - - -
fd20d13f by Marco Simonelli at 2026-03-19T17:16:04+01:00
BB 41459: WebRTC fails to build under mingw (Part 6)
- fixes required to build dom/media/systemservices
- - - - -
3e5849cf by june wilde at 2026-03-19T17:16:05+01:00
BB 42758: Fix WebRTC build errors.
- - - - -
5d5e3745 by hackademix at 2026-03-19T17:16:06+01:00
BB 41854: Allow overriding download spam protection.
- - - - -
273c05fa by hackademix at 2026-03-19T17:16:07+01:00
BB 42832: Download spam prevention exemption for browser extensions.
- - - - -
865f6fd0 by Pier Angelo Vendrame at 2026-03-19T17:16:08+01: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, except svg and html files
to prevent XSS hazards (see BB 43211).
- - - - -
7c5dcdfb by hackademix at 2026-03-19T17:16:09+01:00
BB 42835: Create an actor to filter file data transfers
- - - - -
a44a0f64 by Pier Angelo Vendrame at 2026-03-19T17:16:10+01:00
BB 44103: Remove ref-names from attr's .git_archival.txt.
The currently vendored copy of python-attrs's .git_archival.txt
includes a ref-names field which might make source tarballs not
reproducible.
Upstream fixed this in da2333cd37747d692d5c78b0c94bd400ff883a9a,
therefore we apply the same change until Mozilla vendors an updated
copy of python-attrs.
See also https://bugzilla.mozilla.org/show_bug.cgi?id=1980103.
- - - - -
3f1f002d by hackademix at 2026-03-19T17:16:11+01:00
BB 44125: Do not offer to save signatures by default in Private Browsing Mode
- - - - -
48663a7f by Beatriz Rizental at 2026-03-19T17:16:12+01:00
BB 43564: Modify ./mach bootstrap for Base Browser
- - - - -
55fc5c3c by Beatriz Rizental at 2026-03-19T17:16:12+01:00
BB 42728: Modify ./mach lint to skip unused linters
- - - - -
73567692 by Henry Wilkes at 2026-03-19T17:16:13+01:00
fixup! BB 42728: Modify ./mach lint to skip unused linters
TB 44406: Re-enable stylelint.
- - - - -
459fea99 by Morgan at 2026-03-19T17:16:14+01:00
BB 43615: Add Gitlab Issue and Merge Request templates
- - - - -
4ee091f6 by Henry Wilkes at 2026-03-19T17:28:47+01:00
BB 41803: Add some developer tools for working on tor-browser.
- - - - -
52d34aca by Henry Wilkes at 2026-03-19T17:28:49+01:00
BB 42305: Add script to combine translation files across versions.
- - - - -
27abcf51 by Beatriz Rizental at 2026-03-19T17:28:50+01:00
BB 43535: Enable tests
- - - - -
34a471cb by Beatriz Rizental at 2026-03-19T17:28:52+01:00
Add CI for Base Browser
- - - - -
cf82e87a by Pier Angelo Vendrame at 2026-03-19T17:28:53+01: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
- - - - -
469d8cff by Pier Angelo Vendrame at 2026-03-19T17:28:54+01:00
BB 44118: Disable Mozilla's nightly and early beta features.
- - - - -
0a8e0186 by Pier Angelo Vendrame at 2026-03-19T17:28:55+01: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.
- - - - -
e5634fb4 by Pier Angelo Vendrame at 2026-03-19T17:28:56+01:00
BB 29320: Replace the gnu target with gnullvm for Rust.
- - - - -
d3d0c97e by Pier Angelo Vendrame at 2026-03-19T17:28:57+01: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.
- - - - -
7f077ef1 by Pier Angelo Vendrame at 2026-03-19T17:28:58+01:00
BB 41108: Remove privileged macOS installation from 102
- - - - -
9d7bdd25 by Dan Ballard at 2026-03-19T17:28:59+01:00
BB 41149: Re-enable DLL injection protection in all builds not just nightlies
- - - - -
c962ea5a by Henry Wilkes at 2026-03-19T17:29:00+01:00
BB 43092: Disable wayland by default in Base Browser.
- - - - -
c2cc6482 by Matthew Finkel at 2026-03-19T17:29:01+01: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.
- - - - -
ad37344f by Matthew Finkel at 2026-03-19T17:29:02+01:00
BB 28125: Prevent non-Necko network connections
- - - - -
bbbc02dc by Mike Perry at 2026-03-19T17:29:03+01: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
- - - - -
129fd42a by cypherpunks1 at 2026-03-19T17:29:04+01:00
BB 40717: Hide Windows SSO in settings
- - - - -
fb36976b by Georg Koppen at 2026-03-19T17:29:06+01: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.
- - - - -
136e341f by Kathy Brade at 2026-03-19T17:29:07+01:00
BB 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
- - - - -
0803e2e0 by Kathy Brade at 2026-03-19T17:29:08+01: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.
- - - - -
56a1d362 by Alex Catarineu at 2026-03-19T17:29:09+01:00
BB 41457: Remove Mozilla permissions
Bug 40025: Remove Mozilla add-on install permissions
- - - - -
b6c10aa0 by Henry Wilkes at 2026-03-19T17:29:10+01:00
BB 44045: Disable ML features.
- - - - -
a244cbbd by Kathy Brade at 2026-03-19T17:29:11+01:00
BB 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.
- - - - -
4a5e0bfd by Morgan at 2026-03-19T17:29:12+01:00
BB 42716: Disable unwanted about: pages
- - - - -
ac1b7f97 by Arthur Edelstein at 2026-03-19T17:29:13+01: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.
- - - - -
6c069f95 by Alex Catarineu at 2026-03-19T17:29:14+01: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.
- - - - -
07e933f4 by Pier Angelo Vendrame at 2026-03-19T17:29:16+01:00
fixup! BB 31740: Remove some unnecessary RemoteSettings instances
BB 44701: Remove unexpected changes on url-classifier's components.conf.
- - - - -
79c74f96 by cypherpunks1 at 2026-03-19T17:29:17+01:00
BB 41092: Add a RemoteSettings JSON dump for query-stripping
- - - - -
dd983949 by cypherpunks1 at 2026-03-19T17:29:18+01:00
BB 42730: Patch RemoteSettings to use only local dumps as a data source
- - - - -
0b4c0ea6 by Pier Angelo Vendrame at 2026-03-19T17:29:19+01:00
BB 43525: Skip Remote Settings for search engine customization.
Also, add some bundled search engines.
- - - - -
8f04df2a by Pier Angelo Vendrame at 2026-03-19T17:29:20+01:00
BB 41635: Disable the Normandy component
Do not include Normandy at all whenever MOZ_NORMANDY is False.
- - - - -
3b6b1155 by Georg Koppen at 2026-03-19T17:29:22+01:00
BB 30541: Disable WebGL readPixel() for web content
Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034
- - - - -
a723fd34 by Alex Catarineu at 2026-03-19T17:29:23+01:00
BB 28369: Stop shipping pingsender executable
- - - - -
ed4f71e1 by Pier Angelo Vendrame at 2026-03-19T17:29:24+01: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
- - - - -
a5dd4644 by Pier Angelo Vendrame at 2026-03-19T17:29:25+01: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".
- - - - -
99d99f97 by Richard Pospesel at 2026-03-19T17:29:26+01:00
BB 41327: Disable UrlbarProviderInterventions
- - - - -
f882d84f by Richard Pospesel at 2026-03-19T17:29:27+01:00
BB 42037: Disable about:firefoxview page
- - - - -
6f414430 by Henry Wilkes at 2026-03-19T17:29:28+01:00
BB 44107: Re-include firefoxview asset view-opentabs.svg.
Should be dropped after bugzilla bug 1987279 is resolved.
- - - - -
7961f966 by Mike Perry at 2026-03-19T17:29:30+01:00
Firefox preference overrides.
- - - - -
cb2fdd5f by Pier Angelo Vendrame at 2026-03-19T17:29:31+01:00
fixup! Firefox preference overrides.
BB 44461: Fix caption buttons on Windows.
They are rendered with the Segoe MDL2 Assets, so we have to add that
font to the list of allowed fonts.
- - - - -
d850c3bf by Pier Angelo Vendrame at 2026-03-19T17:29:32+01:00
fixup! Firefox preference overrides.
BB 43769: Update the comment about overscroll.
We had an issue about gating overscroll behind RFP.
However, as far as I can tell, it cannot really be measured.
So, disabling it is basically a defense-in-depth, so I updated the
comment to include more information about this.
- - - - -
5166fbb4 by Pier Angelo Vendrame at 2026-03-19T17:29:33+01:00
fixup! Firefox preference overrides.
TB 44720: Move new identity to Tor Browser.
Remove the Log levels section from 001-base-profile.js, since it is now
empty.
- - - - -
4f5e373f by Pier Angelo Vendrame at 2026-03-19T17:29:34+01: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.
- - - - -
c70299df by Pier Angelo Vendrame at 2026-03-19T17:29:36+01: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.
- - - - -
4c3d6cc0 by Alex Catarineu at 2026-03-19T17:29:37+01: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
- - - - -
45352961 by Pier Angelo Vendrame at 2026-03-19T17:29:38+01: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.
- - - - -
65da6f31 by Alex Catarineu at 2026-03-19T17:29:39+01:00
BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware
- - - - -
885f4548 by Alex Catarineu at 2026-03-19T17:29:40+01:00
BB 26345: Hide tracking protection UI
- - - - -
09e9c325 by Henry Wilkes at 2026-03-19T17:29:42+01:00
BB 43109: Hide Firefox Relay from settings.
This should remain disabled, see tor-browser#42814.
- - - - -
a67e18c7 by Henry Wilkes at 2026-03-19T17:29:43+01: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.
- - - - -
99f7ea28 by Morgan at 2026-03-19T17:29:44+01:00
BB 42070: Hide "Use smooth scrolling" from settings
- - - - -
67b90b7f by Arthur Edelstein at 2026-03-19T17:29:45+01:00
BB 18905: Hide unwanted items from help menu
Bug 25660: Remove the "New Private Window" option
- - - - -
4c8a5788 by Pier Angelo Vendrame at 2026-03-19T17:29:46+01:00
BB 41739: Remove "Website appearance" from about:preferences.
It is ignored because of RFP and it is confusing for users.
- - - - -
3933e712 by Henry Wilkes at 2026-03-19T17:29:47+01:00
BB 43117: Hide "Always underline links" from settings.
- - - - -
77408612 by Pier Angelo Vendrame at 2026-03-19T17:29:49+01:00
BB 42774: Always hide the third-pary certs UI.
- - - - -
bbfb8b04 by Henry Wilkes at 2026-03-19T17:29:50+01:00
BB 43118: Hide feature recommendation (CFR) settings.
- - - - -
74a2d93f by Henry Wilkes at 2026-03-19T17:29:51+01:00
BB 44520: Disable Experiment API (Firefox Labs).
- - - - -
930da0d3 by Henry Wilkes at 2026-03-19T17:29:52+01:00
BB 44279: Disable contextual search install prompt.
- - - - -
e8dd6cac by Pier Angelo Vendrame at 2026-03-19T17:29:53+01: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).
- - - - -
f8537437 by Pier Angelo Vendrame at 2026-03-19T17:29:55+01: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.
- - - - -
9e48df65 by Alex Catarineu at 2026-03-19T17:29:56+01:00
BB 27604: Fix addon issues when moving the profile directory
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838
- - - - -
d59a9e4c by Mike Perry at 2026-03-19T17:29:57+01: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
- - - - -
d3472469 by Pier Angelo Vendrame at 2026-03-19T17:29:58+01: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.
- - - - -
fbd9ece4 by Matthew Finkel at 2026-03-19T17:30:00+01:00
BB 40432: Prevent probing installed applications
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084
- - - - -
ecb798d0 by Henry Wilkes at 2026-03-19T17:30:01+01:00
BB 29745: Limit remote access to content accessible resources
- - - - -
42bc0bef by cypherpunks1 at 2026-03-19T17:30:02+01:00
BB 33955: When copying an image only copy the image contents to the clipboard
- - - - -
7fba6d15 by cypherpunks1 at 2026-03-19T17:30:03+01:00
BB 41791: Omit the source URL when copying page contents to the clipboard
- - - - -
7a2726d2 by Pier Angelo Vendrame at 2026-03-19T17:30:04+01: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.
- - - - -
ceecb235 by Pier Angelo Vendrame at 2026-03-19T17:30:06+01:00
Base Browser strings
This commit adds all the strings needed by following Base Browser
patches.
- - - - -
6871b2ec by Henry Wilkes at 2026-03-19T17:30:07+01:00
fixup! Base Browser strings
TB 44675: Merge the description into the moz-checkbox element.
- - - - -
60c06020 by Henry Wilkes at 2026-03-19T17:30:08+01:00
BB 42583: Modify moz-support-link for Base Browser.
- - - - -
7e1a9538 by Henry Wilkes at 2026-03-19T17:30:09+01:00
BB 43901: Modify about:license.
We also drop about:rights.
- - - - -
8ee18294 by Pier Angelo Vendrame at 2026-03-19T17:30:11+01: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.
- - - - -
b13765a4 by p13dz at 2026-03-19T17:30:12+01:00
BB 40283: Workaround for the file upload bug
- - - - -
535e3974 by hackademix at 2026-03-19T17:30:13+01:00
BB 42019: Empty browser's clipboard on browser shutdown
- - - - -
6d78b4ab by hackademix at 2026-03-19T17:30:14+01:00
BB 42084: Ensure English spoofing works even if preferences are set out of order.
- - - - -
69592a28 by Pier Angelo Vendrame at 2026-03-19T17:30:16+01:00
BB 41930: Remove the UI to customize accept_languages.
- - - - -
e1abe0bf by hackademix at 2026-03-19T17:30:17+01:00
BB 32308: Use direct browser sizing for letterboxing.
Bug 30556: align letterboxing with 200x100 new win width stepping
- - - - -
c8d5363e by Henry Wilkes at 2026-03-19T17:30:18+01:00
fixup! BB 32308: Use direct browser sizing for letterboxing.
TB 44406: Use size tokens.
- - - - -
d895d983 by hackademix at 2026-03-19T17:30:20+01:00
BB 41631: Prevent weird initial window dimensions caused by subpixel computations
- - - - -
4a91e2ae by hackademix at 2026-03-19T17:30:21+01:00
BB 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
ae852197 by hackademix at 2026-03-19T17:30:22+01:00
BB 41916: Letterboxing preferences UI
- - - - -
d4540de9 by hackademix at 2026-03-19T17:30:24+01:00
BB 41695: Warn on window maximization without letterboxing in RFPHelper module
- - - - -
826cea46 by hackademix at 2026-03-19T17:30:25+01:00
BB 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
2ef7095e by hackademix at 2026-03-19T17:30:26+01:00
BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
- - - - -
d26a9af0 by Henry Wilkes at 2026-03-19T17:30:27+01:00
fixup! BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
TB 44406: Use size tokens.
- - - - -
b6f6036e by Henry Wilkes at 2026-03-19T17:30:28+01:00
BB 42528: Don't leak system scrollbar size on windows.
- - - - -
e8c58f84 by Henry Wilkes at 2026-03-19T17:30:29+01:00
BB 31575: Disable Firefox Home (Activity Stream)
Treat about:blank as the default home page and new tab page.
BB 43886: Disable the newtab component/addon.
Bug 41624: Disable about:pocket-* pages.
Bug 40144: Redirect about:privatebrowsing to the user's home
- - - - -
8283ce72 by Kathy Brade at 2026-03-19T17:30:31+01: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.
- - - - -
b2833d0b by Pier Angelo Vendrame at 2026-03-19T17:30:32+01:00
fixup! BB 4234: Use the Firefox Update Process for Base Browser.
BB 44668: Allow to replace detailsURL with unsupportedURL.
We perform unsupported detection locally, rather than with a
server-side logic, that is what Mozilla does.
So, we send unsupported users to the details of the actual update,
rather than sending them to a page with details of why they are
unsupported.
With this patch, we can distinguish those cases, and send user to a
more appropriate page when needed.
- - - - -
364d6942 by Pier Angelo Vendrame at 2026-03-19T17:30:33+01:00
BB 42061: Create an alpha update channel.
- - - - -
410655fd by Nicolas Vigier at 2026-03-19T17:30:34+01:00
BB 41682: Add base-browser nightly mar signing key
- - - - -
86d66602 by Pier Angelo Vendrame at 2026-03-19T17:30:36+01: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/.
- - - - -
b733eae8 by Pier Angelo Vendrame at 2026-03-19T17:30:37+01: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.
- - - - -
7f731b9e by Alex Catarineu at 2026-03-19T17:30:38+01:00
BB 40069: Add helpers for message passing with extensions
- - - - -
d82ac9ee by Matthew Finkel at 2026-03-19T17:30:39+01:00
BB 41598: Prevent NoScript from being removed/disabled.
Bug 40253: Explicitly allow NoScript in Private Browsing mode.
- - - - -
8b9368ef by Henry Wilkes at 2026-03-19T17:30:41+01: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).
- - - - -
8ca5c0b5 by hackademix at 2026-03-19T17:30:42+01:00
BB 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons
- - - - -
e258e1b3 by Henry Wilkes at 2026-03-19T17:30:43+01:00
BB 41736: Customize toolbar for base-browser.
- - - - -
578561aa by Pier Angelo Vendrame at 2026-03-19T17:30:44+01:00
fixup! BB 41736: Customize toolbar for base-browser.
TB 44720: Move new identity to Tor Browser.
Do not add the new identity button anymore on Base Browser.
- - - - -
9e3cec4b by Henry Wilkes at 2026-03-19T17:30:46+01:00
BB 43864: Modify the urlbar for Base Browser.
- - - - -
f49628ec by Henry Wilkes at 2026-03-19T17:30:47+01:00
BB 44040: Modify prompt service for Base Browser.
- - - - -
211b6e4f by Henry Wilkes at 2026-03-19T17:30:48+01:00
BB 43902: Modify the new sidebar for Base Browser.
- - - - -
375ca4dd by Henry Wilkes at 2026-03-19T17:30:51+01:00
BB 44522: Modify the about dialog.
We hide the Firefox-specific elements and apply some common styling
rules.
- - - - -
439ff412 by Henry Wilkes at 2026-03-19T17:30:53+01:00
fixup! BB 44522: Modify the about dialog.
TB 44713: Restore the top padding that was removed upstream.
- - - - -
2368a6e3 by Beatriz Rizental at 2026-03-19T17:30:54+01:00
BB 44400: Disable liquid app glass icons for MacOS
This reverts commit 7ee252421988d7b3a38dc650986a3b4c3321a823.
- - - - -
1c00c8e9 by Pier Angelo Vendrame at 2026-03-19T17:30:56+01: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
- - - - -
62856ad0 by Henry Wilkes at 2026-03-19T17:30:57+01:00
fixup! BB 40925: Implemented the Security Level component
TB 44687: Expect javascript.options.asmjs to be `false` for all security
levels.
- - - - -
51079f85 by Henry Wilkes at 2026-03-19T17:30:58+01:00
fixup! BB 40925: Implemented the Security Level component
TB 44406: Use size tokens.
- - - - -
1d1dd7d5 by Pier Angelo Vendrame at 2026-03-19T18:41:06+01:00
BB 42027: Base Browser migration procedures.
This commit implmenents the the Base Browser's version of _migrateUI.
- - - - -
0d675de5 by Henry Wilkes at 2026-03-19T18:41:08+01:00
BB 43850: Modify the Contrast Control settings for RFP.
- - - - -
1f10594d by Henry Wilkes at 2026-03-19T21:42:13+01:00
BB 44711: Hide unwanted setting controls in Base Browser.
- - - - -
d3f5aa43 by Henry Wilkes at 2026-03-19T21:47:53+01:00
fixup! BB 44711: Hide unwanted setting controls in Base Browser.
TB 44679: Rehide the autofill preferences.
- - - - -
407 changed files:
- + .gitlab-ci.yml
- + .gitlab/ci/jobs/helpers.py
- + .gitlab/ci/jobs/lint/lint.yml
- + .gitlab/ci/jobs/test/python-test.yml
- + .gitlab/ci/jobs/update-translations.yml
- + .gitlab/ci/mixins.yml
- + .gitlab/issue_templates/000 Bug Report.md
- + .gitlab/issue_templates/010 Proposal.md
- + .gitlab/issue_templates/020 Web Compatibility.md
- + .gitlab/issue_templates/030 Test.md
- + .gitlab/issue_templates/031 Fingerprinting.md
- + .gitlab/issue_templates/040 Feature.md
- + .gitlab/issue_templates/041 Time-Gated Feature.md
- + .gitlab/issue_templates/050 Backport.md
- + .gitlab/issue_templates/051 Revert.md
- + .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/Default.md
- + .gitlab/merge_request_templates/Default.md
- .prettierignore
- .stylelintrc.js
- browser/Makefile.in
- browser/actors/moz.build
- browser/app/Makefile.in
- browser/app/macbuild/Contents/Info.plist.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.css
- 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.js
- browser/base/content/browser-init.js
- browser/base/content/browser-main.js
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-safebrowsing.js
- 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/nsContextMenu.sys.mjs
- browser/base/jar.mn
- browser/base/moz.build
- browser/components/BrowserComponents.manifest
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/DesktopActorRegistry.sys.mjs
- browser/components/ProfileDataUpgrader.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/aboutlogins/content/components/login-command-button.mjs
- browser/components/aboutlogins/content/components/login-list.mjs
- 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/newtab/AboutHomeStartupCache.sys.mjs
- browser/components/places/content/historySidebar.js
- browser/components/places/content/historySidebar.xhtml
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/home.js
- browser/components/preferences/jar.mn
- + browser/components/preferences/letterboxing-middle.svg
- + browser/components/preferences/letterboxing-top.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/preferences/search.js
- browser/components/reportbrokensite/ReportBrokenSite.sys.mjs
- browser/components/search/SERPCategorization.sys.mjs
- browser/components/search/SearchSERPTelemetry.sys.mjs
- browser/components/search/SearchUIUtils.sys.mjs
- + browser/components/securitylevel/SecurityLevelUIUtils.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/securityLevelDialog.js
- + browser/components/securitylevel/content/securityLevelDialog.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/sidebar/browser-sidebar.js
- browser/components/sidebar/sidebar-main.mjs
- browser/components/tabbrowser/content/tabbrowser.js
- browser/components/tabbrowser/content/tabgroup-menu.js
- browser/components/tabbrowser/moz.build
- browser/components/translations/content/selectTranslationsPanel.js
- browser/components/urlbar/ActionsProviderContextualSearch.sys.mjs
- browser/components/urlbar/QuickActionsLoaderDefault.sys.mjs
- browser/components/urlbar/QuickSuggest.sys.mjs
- browser/components/urlbar/SearchModeSwitcher.sys.mjs
- browser/components/urlbar/UrlbarController.sys.mjs
- 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/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/jar.mn
- browser/modules/AboutNewTab.sys.mjs
- + browser/modules/ClipboardPrivacy.sys.mjs
- browser/modules/HomePage.sys.mjs
- + browser/modules/SecurityLevelNotification.sys.mjs
- browser/modules/moz.build
- browser/moz.build
- browser/moz.configure
- browser/themes/shared/identity-block/identity-block.css
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/preferences/preferences.css
- browser/themes/shared/tabbrowser/content-area.css
- browser/themes/shared/tabbrowser/tabs.css
- build/application.ini.in
- build/moz.build
- + build/moz.configure/basebrowser-resources.configure
- build/moz.configure/bootstrap.configure
- build/moz.configure/init.configure
- build/moz.configure/rust.configure
- build/moz.configure/update-programs.configure
- build/moz.configure/windows.configure
- build/variables.py
- caps/nsScriptSecurityManager.cpp
- config/external/moz.build
- devtools/client/aboutdebugging/src/actions/runtimes.js
- docshell/base/URIFixup.sys.mjs
- docshell/base/nsAboutRedirector.cpp
- docshell/build/components.conf
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsCopySupport.cpp
- dom/canvas/ClientWebGLContext.cpp
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/webrtc/libwebrtc_overrides/modules/desktop_capture/desktop_capture_types.h
- 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/webidl/moz.build
- eslint-ignores.config.mjs
- eslint.config.mjs
- extensions/auth/nsHttpNegotiateAuth.cpp
- + gfx/thebes/StandardFonts-macos-bb.inc
- gfx/thebes/StandardFonts-macos.inc
- + gfx/thebes/StandardFonts-win10-bb.inc
- gfx/thebes/StandardFonts-win10.inc
- gfx/thebes/gfxDWriteFontList.cpp
- gfx/thebes/gfxFcPlatformFontList.cpp
- gfx/thebes/gfxMacPlatformFontList.mm
- gfx/thebes/gfxPlatformFontList.cpp
- intl/locale/LocaleService.cpp
- layout/base/nsLayoutUtils.cpp
- 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/basebrowser.configure
- mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
- 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/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/media/GeckoMediaDrmBridgeV21.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/mach_commands.py
- 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/base/nsIPrompt.idl
- 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
- python/mach/mach/telemetry.py
- python/mozboot/mozboot/bootstrap.py
- python/mozbuild/mozbuild/action/tooltool.py
- python/mozbuild/mozbuild/artifact_commands.py
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/backend/base.py
- python/mozbuild/mozbuild/mach_commands.py
- + python/mozbuild/mozbuild/tbbutils.py
- python/mozbuild/mozbuild/test/python.toml
- + python/mozbuild/mozbuild/test/test_tbbutils.py
- python/mozlint/mozlint/cli.py
- python/sites/mach.txt
- 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
- 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
- testing/specialpowers/api.js
- testing/testsuite-targets.mk
- testing/web-platform/tests/tools/third_party/attrs/.git_archival.txt
- third_party/abseil-cpp/absl/base/internal/thread_identity.cc
- third_party/abseil-cpp/absl/base/internal/thread_identity.h
- third_party/libwebrtc/modules/audio_coding/codecs/isac/main/source/os_specific_inline.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/desktop_capture/win/window_capture_utils.h
- third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h
- third_party/libwebrtc/rtc_base/cpu_info.cc
- 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.mjs
- + toolkit/actors/FilesFilterChild.sys.mjs
- + toolkit/actors/FilesFilterParent.sys.mjs
- toolkit/actors/moz.build
- 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/extensions/ext-toolkit.json
- toolkit/components/extensions/parent/ext-trial-ml.js
- toolkit/components/moz.build
- toolkit/components/nimbus/ExperimentAPI.sys.mjs
- toolkit/components/pdfjs/content/PdfjsParent.sys.mjs
- toolkit/components/pdfjs/content/web/viewer.mjs
- toolkit/components/places/moz.build
- toolkit/components/prompts/content/commonDialog.js
- toolkit/components/prompts/src/Prompter.sys.mjs
- toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
- toolkit/components/resistfingerprinting/content/letterboxing.css
- toolkit/components/search/ConfigSearchEngine.sys.mjs
- toolkit/components/search/SearchEngineSelector.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/base-browser-search-engine-icons.json
- + toolkit/components/search/content/base-browser-search-engines.json
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/startpage-16.png
- + toolkit/components/search/content/startpage-32.png
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- + toolkit/components/search/tests/xpcshell/test_base_browser.js
- + toolkit/components/search/tests/xpcshell/test_security_level.js
- toolkit/components/search/tests/xpcshell/xpcshell.toml
- + toolkit/components/securitylevel/SecurityLevel.manifest
- + toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/components/securitylevel/components.conf
- + toolkit/components/securitylevel/moz.build
- toolkit/components/telemetry/app/TelemetrySend.sys.mjs
- toolkit/components/telemetry/moz.build
- toolkit/components/translations/actors/TranslationsChild.sys.mjs
- toolkit/components/translations/actors/TranslationsParent.sys.mjs
- toolkit/components/translations/actors/moz.build
- toolkit/components/translations/jar.mn
- toolkit/components/urlformatter/URLFormatter.sys.mjs
- toolkit/components/windowwatcher/nsIPromptService.idl
- toolkit/components/windowwatcher/nsWindowWatcher.cpp
- toolkit/content/aboutSupport.js
- toolkit/content/jar.mn
- toolkit/content/widgets/dialog.js
- 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/locales-preview/base-browser-no-translate.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/UpdateUtils.sys.mjs
- toolkit/modules/moz.build
- toolkit/moz.configure
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- toolkit/mozapps/extensions/content/components/addon-mlmodel-details.mjs
- toolkit/mozapps/extensions/content/components/mlmodel-card-list-additions.mjs
- toolkit/mozapps/extensions/extensions.manifest
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/extensions/internal/moz.build
- toolkit/mozapps/extensions/test/browser/head.js
- toolkit/mozapps/installer/packager.mk
- toolkit/mozapps/installer/upload-files.mk
- toolkit/mozapps/update/UpdateService.sys.mjs
- toolkit/mozapps/update/UpdateServiceStub.sys.mjs
- toolkit/mozapps/update/common/updatehelper.cpp
- 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/aboutLicense.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/git-rebase-fixup-preprocessor
- + 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/__init__.py
- + tools/base_browser/l10n/combine/tests/python.toml
- + 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/base_browser/missing-css-variables.py
- + tools/base_browser/tb-dev
- tools/lint/fluent-lint/exclusions.yml
- tools/moz.build
- uriloader/base/nsURILoader.cpp
- uriloader/exthandler/nsExternalHelperAppService.cpp
- widget/ScrollbarDrawingWin.cpp
- widget/ScrollbarDrawingWin11.cpp
- widget/android/WebExecutorSupport.cpp
- widget/gtk/MPRISServiceHandler.cpp
- widget/gtk/nsLookAndFeel.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/mullvad-browser/-/compare/ee…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/ee…
You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0
[Git][tpo/applications/mullvad-browser] Pushed new branch mullvad-browser-149.0a1-16.0-2
by boklm (@boklm) 24 Mar '26
by boklm (@boklm) 24 Mar '26
24 Mar '26
boklm pushed new branch mullvad-browser-149.0a1-16.0-2 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. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1
0