Pier Angelo Vendrame pushed to branch tor-browser-150.0a1-16.0-2 at The Tor Project / Applications / Tor Browser
Commits:
-
670bdc68
by Damien Carver at 2026-04-23T09:57:05+02:00
-
c6701ba6
by Pier Angelo Vendrame at 2026-04-23T09:57:06+02:00
-
d4623b2a
by Nicolas Vigier at 2026-04-23T09:57:06+02:00
-
8b69decb
by Beatriz Rizental at 2026-04-23T09:57:06+02:00
-
55665b46
by Beatriz Rizental at 2026-04-23T09:57:07+02:00
-
19407edf
by clairehurst at 2026-04-23T09:57:07+02:00
-
90faa802
by clairehurst at 2026-04-23T09:57:07+02:00
14 changed files:
- .gitlab/issue_templates/050 Backport.md
- .gitlab/issue_templates/080 Security Backports.md
- .gitlab/merge_request_templates/Default.md
- browser/app/profile/001-base-profile.js
- browser/config/mozconfigs/base-browser-android
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorBridgeConfigFragment.kt
- mobile/android/fenix/app/src/main/res/xml/preferences.xml
- mobile/android/fenix/app/src/main/res/xml/tor_bridge_config_preferences.xml
- mozconfig-android-all
- mozglue/baseprofiler/public/BaseProfilerState.h
- testing/tor/test_circuit_isolation.py
- tools/profiler/core/PowerCounters.h
- tools/profiler/moz.build
- tools/profiler/public/ProfilerState.h
Changes:
| ... | ... | @@ -24,7 +24,6 @@ please ensure the title has the following format: |
| 24 | 24 | |
| 25 | 25 | - [ ] Alpha
|
| 26 | 26 | - [ ] Stable
|
| 27 | -- [ ] Legacy
|
|
| 28 | 27 | |
| 29 | 28 | ## Notes
|
| 30 | 29 |
| ... | ... | @@ -20,7 +20,7 @@ |
| 20 | 20 | |
| 21 | 21 | ## **Bookkeeping**
|
| 22 | 22 | |
| 23 | -- [ ] Link this issue to the appropriate [Release Prep](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/?sort=updated_desc&state=opened&label_name%5B%5D=Apps%3A%3AType%3A%3AReleasePreparation) issues (alpha, stable, and legacy).
|
|
| 23 | +- [ ] Link this issue to the appropriate [Release Prep](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/?sort=updated_desc&state=opened&label_name%5B%5D=Apps%3A%3AType%3A%3AReleasePreparation) issues (alpha and stable).
|
|
| 24 | 24 | |
| 25 | 25 | ## **Security Vulnerabilities Report**: https://www.mozilla.org/en-US/security/advisories/
|
| 26 | 26 |
| ... | ... | @@ -29,7 +29,6 @@ |
| 29 | 29 | |
| 30 | 30 | - [ ] **Alpha**: rapid release, 16.0
|
| 31 | 31 | - [ ] **Stable**: esr140-15.0
|
| 32 | -- [ ] **Legacy**: esr115-13.5
|
|
| 33 | 32 | |
| 34 | 33 | ### Backporting
|
| 35 | 34 |
| ... | ... | @@ -585,6 +585,9 @@ pref("widget.wayland.vsync.enabled", false); |
| 585 | 585 | // marked with a specific rating is loaded or not.
|
| 586 | 586 | pref("security.restrict_to_adults.always", false);
|
| 587 | 587 | pref("security.restrict_to_adults.respect_platform", false);
|
| 588 | +// tor-browser#44521: Disable Wayland fractional scaling at least until we keep
|
|
| 589 | +// Xwayland as the default.
|
|
| 590 | +pref("widget.wayland.fractional-scale.enabled", false);
|
|
| 588 | 591 | |
| 589 | 592 | // tor-browser#41943: defense-in-depth, but do not lock anymore (enabled in Firefox 119, http://bugzil.la/1851162)
|
| 590 | 593 | pref("javascript.options.spectre.disable_for_isolated_content", false);
|
| ... | ... | @@ -13,20 +13,6 @@ CC="clang" |
| 13 | 13 | CXX="clang++"
|
| 14 | 14 | ac_add_options --enable-linker=lld
|
| 15 | 15 | |
| 16 | -if test -n "$ANDROID_HOME"; then
|
|
| 17 | - ac_add_options --with-android-sdk=$ANDROID_HOME
|
|
| 18 | -fi
|
|
| 19 | - |
|
| 20 | -if test -n "$ANDROID_NDK_HOME"; then
|
|
| 21 | - ac_add_options --with-android-ndk=$ANDROID_NDK_HOME
|
|
| 22 | -fi
|
|
| 23 | - |
|
| 24 | -if test -n "$GRADLE_HOME"; then
|
|
| 25 | - ac_add_options --with-gradle=$GRADLE_HOME/bin/gradle
|
|
| 26 | -fi
|
|
| 27 | -# Otherwise (as per /mobile/android/gradle.config) a version will be downloaded by the gradle wrapper when needed
|
|
| 28 | -# so don't use this override, and let it do it's thing
|
|
| 29 | - |
|
| 30 | 16 | ac_add_options --enable-strip
|
| 31 | 17 | ac_add_options --enable-install-strip
|
| 32 | 18 | ac_add_options --disable-tests
|
| ... | ... | @@ -8,7 +8,7 @@ import android.os.Bundle |
| 8 | 8 | import androidx.preference.EditTextPreference
|
| 9 | 9 | import androidx.preference.Preference
|
| 10 | 10 | import androidx.preference.PreferenceFragmentCompat
|
| 11 | -import androidx.preference.SwitchPreference
|
|
| 11 | +import androidx.preference.SwitchPreferenceCompat
|
|
| 12 | 12 | import org.mozilla.fenix.Config
|
| 13 | 13 | import org.mozilla.fenix.R
|
| 14 | 14 | import org.mozilla.fenix.ext.components
|
| ... | ... | @@ -50,7 +50,7 @@ class TorBridgeConfigFragment : PreferenceFragmentCompat() { |
| 50 | 50 | val bridgesEnabled = requireContext().components.torController.bridgesEnabled
|
| 51 | 51 | |
| 52 | 52 | val prefBridgeConfig =
|
| 53 | - requirePreference<SwitchPreference>(R.string.pref_key_tor_network_settings_bridge_config_toggle)
|
|
| 53 | + requirePreference<SwitchPreferenceCompat>(R.string.pref_key_tor_network_settings_bridge_config_toggle)
|
|
| 54 | 54 | prefBridgeConfig.apply {
|
| 55 | 55 | isChecked = bridgesEnabled
|
| 56 | 56 | setOnPreferenceChangeListener<Boolean> { preference, enabled ->
|
| ... | ... | @@ -188,7 +188,7 @@ |
| 188 | 188 | android:title="@string/preferences_tor_network_settings_bridge_config"
|
| 189 | 189 | android:summary="@string/preferences_tor_network_settings_bridge_config_description" />
|
| 190 | 190 | |
| 191 | - <SwitchPreference
|
|
| 191 | + <SwitchPreferenceCompat
|
|
| 192 | 192 | android:key="@string/pref_key_quick_start"
|
| 193 | 193 | android:title="@string/tor_connect_automatically_label"
|
| 194 | 194 | app:iconSpaceReserved="false" />
|
| ... | ... | @@ -216,7 +216,7 @@ |
| 216 | 216 | android:key="@string/pref_key_advanced"
|
| 217 | 217 | android:layout="@layout/preference_category_no_icon_style">
|
| 218 | 218 | |
| 219 | - <SwitchPreference
|
|
| 219 | + <SwitchPreferenceCompat
|
|
| 220 | 220 | android:key="@string/pref_key_allow_screenshots_in_private_mode"
|
| 221 | 221 | app:iconSpaceReserved="false"
|
| 222 | 222 | android:title="@string/preferences_allow_screenshots" />
|
| ... | ... | @@ -7,7 +7,7 @@ |
| 7 | 7 | android:key="@string/pref_key_tor_network_settings_bridge_config_explanation"
|
| 8 | 8 | android:summary="@string/preferences_tor_network_settings_bridge_config_explanation"
|
| 9 | 9 | app:allowDividerBelow="false" />
|
| 10 | - <SwitchPreference
|
|
| 10 | + <SwitchPreferenceCompat
|
|
| 11 | 11 | android:defaultValue="false"
|
| 12 | 12 | android:key="@string/pref_key_tor_network_settings_bridge_config_toggle"
|
| 13 | 13 | android:title="@string/preferences_tor_network_settings_bridge_config_toggle"
|
| ... | ... | @@ -8,10 +8,6 @@ ac_add_options --enable-application=mobile/android |
| 8 | 8 | |
| 9 | 9 | ac_add_options --disable-compile-environment
|
| 10 | 10 | |
| 11 | -ac_add_options --with-java-bin-path=$JAVA_HOME/bin
|
|
| 12 | -ac_add_options --with-android-sdk=$ANDROID_HOME
|
|
| 13 | -ac_add_options --with-gradle=$GRADLE_HOME/bin/gradle
|
|
| 14 | - |
|
| 15 | 11 | ac_add_options --disable-tests
|
| 16 | 12 | ac_add_options --disable-debug
|
| 17 | 13 |
| ... | ... | @@ -136,7 +136,7 @@ class MOZ_RAII AutoProfilerStats { |
| 136 | 136 | "Record the power used by the entire system with each sample. " \
|
| 137 | 137 | "Only available with Intel CPUs and requires setting " \
|
| 138 | 138 | "the sysctl kernel.perf_event_paranoid to 0."
|
| 139 | -#elif defined(GP_OS_windows)
|
|
| 139 | +#elif defined(GP_OS_windows) && defined(_MSC_VER)
|
|
| 140 | 140 | # define POWER_HELP \
|
| 141 | 141 | "Record the value of every energy meter available on the system with " \
|
| 142 | 142 | "each sample. Only available on Windows 11 with Intel CPUs."
|
| ... | ... | @@ -81,11 +81,11 @@ class TestCircuitIsolation(MarionetteTestCase, TorBrowserMixin): |
| 81 | 81 | "Some of the IP addresses we got are not unique.",
|
| 82 | 82 | )
|
| 83 | 83 | |
| 84 | - duplicates = set(
|
|
| 84 | + duplicates = set([
|
|
| 85 | 85 | self.extract_from_header("https://test-01.torproject.org"),
|
| 86 | 86 | self.extract_from_header("https://test-02.torproject.org"),
|
| 87 | 87 | self.extract_from_header("https://test.torproject.org"),
|
| 88 | - )
|
|
| 88 | + ])
|
|
| 89 | 89 | self.logger.info(
|
| 90 | 90 | f"Found the following IP addresses, when checking for duplicates: {duplicates}"
|
| 91 | 91 | )
|
| ... | ... | @@ -10,7 +10,7 @@ |
| 10 | 10 | #include "mozilla/UniquePtr.h"
|
| 11 | 11 | #include "mozilla/Vector.h"
|
| 12 | 12 | |
| 13 | -#if defined(GP_OS_windows)
|
|
| 13 | +#if defined(GP_OS_windows) && defined(_MSC_VER)
|
|
| 14 | 14 | class PowerMeterDevice;
|
| 15 | 15 | #endif
|
| 16 | 16 | #if defined(GP_PLAT_arm64_darwin)
|
| ... | ... | @@ -50,20 +50,20 @@ bool GetRailEnergyData(RailEnergyData*, size_t* size_of_arr); |
| 50 | 50 | |
| 51 | 51 | class PowerCounters {
|
| 52 | 52 | public:
|
| 53 | -#if defined(GP_OS_windows) || defined(GP_OS_darwin) || \
|
|
| 53 | +#if (defined(GP_OS_windows) && defined(_MSC_VER)) || defined(GP_OS_darwin) || \
|
|
| 54 | 54 | defined(GP_PLAT_amd64_linux) || defined(GP_PLAT_arm64_android)
|
| 55 | 55 | explicit PowerCounters();
|
| 56 | 56 | #else
|
| 57 | 57 | explicit PowerCounters() {};
|
| 58 | 58 | #endif
|
| 59 | -#if defined(GP_OS_windows) || defined(GP_PLAT_amd64_darwin) || \
|
|
| 60 | - defined(GP_PLAT_arm64_android)
|
|
| 59 | +#if (defined(GP_OS_windows) && defined(_MSC_VER)) || \
|
|
| 60 | + defined(GP_PLAT_amd64_darwin) || defined(GP_PLAT_arm64_android)
|
|
| 61 | 61 | ~PowerCounters();
|
| 62 | 62 | #else
|
| 63 | 63 | ~PowerCounters() = default;
|
| 64 | 64 | #endif
|
| 65 | -#if defined(GP_OS_windows) || defined(GP_PLAT_amd64_darwin) || \
|
|
| 66 | - defined(GP_PLAT_arm64_android)
|
|
| 65 | +#if (defined(GP_OS_windows) && defined(_MSC_VER)) || \
|
|
| 66 | + defined(GP_PLAT_amd64_darwin) || defined(GP_PLAT_arm64_android)
|
|
| 67 | 67 | void Sample();
|
| 68 | 68 | #else
|
| 69 | 69 | void Sample() {};
|
| ... | ... | @@ -75,7 +75,7 @@ class PowerCounters { |
| 75 | 75 | private:
|
| 76 | 76 | CountVector mCounters;
|
| 77 | 77 | |
| 78 | -#if defined(GP_OS_windows)
|
|
| 78 | +#if defined(GP_OS_windows) && defined(_MSC_VER)
|
|
| 79 | 79 | mozilla::Vector<mozilla::UniquePtr<PowerMeterDevice>> mPowerMeterDevices;
|
| 80 | 80 | #endif
|
| 81 | 81 | #if defined(GP_PLAT_amd64_darwin)
|
| ... | ... | @@ -167,6 +167,7 @@ elif CONFIG["OS_TARGET"] == "WINNT" and CONFIG["TARGET_CPU"] in ( |
| 167 | 167 | UNIFIED_SOURCES += [
|
| 168 | 168 | "gecko/nsProfiler.cpp",
|
| 169 | 169 | ]
|
| 170 | + # Keep in sync with PowerCounters.h, BaseProfilerState.h and ProfilerState.h (see __MINGW32__)
|
|
| 170 | 171 | if CONFIG["CC_TYPE"] == "clang-cl":
|
| 171 | 172 | UNIFIED_SOURCES += [
|
| 172 | 173 | "core/PowerCounters-win.cpp",
|
| ... | ... | @@ -31,7 +31,7 @@ |
| 31 | 31 | "Only available with Intel CPUs and requires setting " \
|
| 32 | 32 | "the sysctl kernel.perf_event_paranoid to 0."
|
| 33 | 33 | |
| 34 | -#elif defined(GP_OS_windows)
|
|
| 34 | +#elif defined(GP_OS_windows) && defined(_MSC_VER)
|
|
| 35 | 35 | # define POWER_HELP \
|
| 36 | 36 | "Record the value of every energy meter available on the system with " \
|
| 37 | 37 | "each sample. Only available on Windows 11 with Intel CPUs."
|