lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Threads by month
  • ----- 2026 -----
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 20430 discussions
[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41753: Add pre_go_vendor and go_vendor_patch vars
by Pier Angelo Vendrame (@pierov) 31 Mar '26

31 Mar '26
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 9c867ad5 by Cecylia Bocovich at 2026-03-31T18:18:17+02:00 Bug 41753: Add pre_go_vendor and go_vendor_patch vars Let projects define pre_go_vendor and go_vendor_patch variables for the purpose of patching vendored dependencies. - - - - - 9d1d9a64 by Cecylia Bocovich at 2026-03-31T18:18:17+02:00 Bug 41753: Keep lyrebird support for go1.22 in macos only - - - - - 4 changed files: - Makefile - projects/lyrebird/build - projects/lyrebird/config - rbm.conf Changes: ===================================== Makefile ===================================== @@ -476,6 +476,9 @@ go_vendor-conjure: submodule-update go_vendor-lyrebird: submodule-update $(rbm) build lyrebird --step go_vendor --target alpha --target torbrowser-linux-x86_64 +go_vendor-lyrebird-macos: submodule-update + $(rbm) build lyrebird --step go_vendor --target alpha --target torbrowser-macos + go_vendor-go-licenses: submodule-update $(rbm) build go-licenses --step go_vendor --target alpha --target torbrowser-linux-x86_64 ===================================== projects/lyrebird/build ===================================== @@ -18,6 +18,12 @@ mkdir -p /var/tmp/build tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %] cd /var/tmp/build/[% project %]-[% c('version') %] +[% IF c("var/macos") -%] + if [ -e "go-1.22.patch" ]; then + patch -p1 < "go-1.22.patch" + fi +[% END -%] + tar -xf $rootdir/[% c('input_files_by_name/go_vendor') %] go build -mod=vendor -ldflags '-X main.lyrebirdVersion=[% c("version") %] -s[% IF c("var/android") %] -checklinkname=0[% END %]' ./cmd/lyrebird ===================================== projects/lyrebird/config ===================================== @@ -16,8 +16,13 @@ targets: git_hash: main version: '[% c("abbrev") %]' tag_gpg_id: 0 + macos: var: - go_vendor_sha256sum: '' + go_vendor_sha256sum: 6a054acb7793becdbcb9a08ce7781f3d331f15e85242b399fcef96fb89941f4d + pre_go_vendor: | + if [ -e "/var/tmp/build/[% project %]-[% c('version') %]/go-1.22.patch" ]; then + patch -p1 < "/var/tmp/build/[% project %]-[% c('version') %]/go-1.22.patch" + fi steps: build: @@ -33,9 +38,7 @@ steps: pkg_type: go_vendor project: lyrebird norec: - sha256sum: '[% c("var/go_vendor_sha256sum") %]' - target_replace: - '^torbrowser-(?!testbuild).*': 'torbrowser-linux-x86_64' + sha256sum: '[% IF !c("var/nightly") %][% c("var/go_vendor_sha256sum") %][% END %]' - name: go-licenses project: go-licenses target_replace: ===================================== rbm.conf ===================================== @@ -57,6 +57,7 @@ steps: mkdir -p /var/tmp/build tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %] cd /var/tmp/build/[% project %]-[% c('version') %] + [% IF c("var/pre_go_vendor"); GET c("var/pre_go_vendor"); END -%] go mod vendor [% c('tar', { tar_src => [ 'vendor' ], View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] BB 44801: Redact onion origins from Location.ancestorOrigins.
by ma1 (@ma1) 31 Mar '26

31 Mar '26
ma1 pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: 6a686c89 by hackademix at 2026-03-31T15:49:38+02:00 BB 44801: Redact onion origins from Location.ancestorOrigins. - - - - - 1 changed file: - docshell/base/CanonicalBrowsingContext.cpp Changes: ===================================== docshell/base/CanonicalBrowsingContext.cpp ===================================== @@ -41,6 +41,7 @@ #include "mozilla/StaticPrefs_browser.h" #include "mozilla/StaticPrefs_docshell.h" #include "mozilla/StaticPrefs_fission.h" +#include "mozilla/StaticPrefs_network.h" #include "mozilla/StaticPrefs_security.h" #include "mozilla/glean/DomMetrics.h" #include "nsILayoutHistoryState.h" @@ -3695,6 +3696,10 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // 11. Let masked be false. bool masked = false; + // Tor-specific, not in spec: + // we want to redact cross-origin onions if hideOnionSource is true. + bool redactOnions = StaticPrefs::network_http_referer_hideOnionSource(); + if (referrerPolicy == ReferrerPolicy::No_referrer) { // 12. If referrerPolicy is "no-referrer", then set masked to true. masked = true; @@ -3705,6 +3710,12 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // origin is not same origin with innerDoc's origin, then set masked to // true. masked = true; + } else if (redactOnions && ancestorWGP->DocumentPricipal()->GetIsOnion() && + !ancestorWGP->DocumentPrincipal()->Equals( + aThisDocumentPrincipal)) { + // Tor-specific, not in spec: + // mask parent origin if it's an onion it's different than this document's. + masked = true; } if (masked) { @@ -3721,6 +3732,13 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // 16. For each ancestorOrigin of ancestorOrigins: for (const auto& ancestorOrigin : parentAncestorOriginsList) { + // Tor-specific, not in spec: + // Redact any ancestor onion origin different than this document's origin. + if (redactOnions && ancestorOrigin && ancestorOrigin->GetIsOnion() && + !ancestorOrigin->Equals(aThisDocumentPrincipal)) { + ancestorPrincipals.AppendElement(nullptr); + continue; + } // 16.1 if masked is true if (masked && ancestorOrigin && ancestorOrigin->Equals(ancestorWGP->DocumentPrincipal())) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6a6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6a6… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 40041 [android]: Implement Tor Network Settings
by Pier Angelo Vendrame (@pierov) 31 Mar '26

31 Mar '26
Pier Angelo Vendrame pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: d4bb5dd4 by clairehurst at 2026-03-31T14:41:08+02:00 fixup! TB 40041 [android]: Implement Tor Network Settings - - - - - 1 changed file: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsComposeFragment.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsComposeFragment.kt ===================================== @@ -11,6 +11,7 @@ import android.view.ViewGroup import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding @@ -53,6 +54,7 @@ class TorLogsComposeFragment : Fragment() { Scaffold( floatingActionButton = { CopyLogsButton() }, content = { TorLogs(paddingValues = it) }, + contentWindowInsets = WindowInsets(left = 0, top = 0, right = 0, bottom = 0), ) } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d4bb5dd… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d4bb5dd… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-update-responses][main] Create a 13.5-specific update path (tor-browser-build#41741)
by boklm (@boklm) 31 Mar '26

31 Mar '26
boklm pushed to branch main at The Tor Project / Applications / Tor Browser update responses Commits: 117479d2 by Nicolas Vigier at 2026-03-31T11:54:01+02:00 Create a 13.5-specific update path (tor-browser-build#41741) - - - - - 35 changed files: - update_3/release/.htaccess - update_3/release/linux-i686/.htaccess - update_3/release/linux-i686/update-15.0.5-15.0.8+13.5.29-linux-i686.xml → update_3/release/linux-i686/update-15.0.5-15.0.8-linux-i686.xml - update_3/release/linux-i686/update-15.0.6-15.0.8+13.5.29-linux-i686.xml → update_3/release/linux-i686/update-15.0.6-15.0.8-linux-i686.xml - update_3/release/linux-i686/update-15.0.7-15.0.8+13.5.29-linux-i686.xml → update_3/release/linux-i686/update-15.0.7-15.0.8-linux-i686.xml - update_3/release/linux-i686/update-15.0.8+13.5.29-linux-i686.xml → update_3/release/linux-i686/update-15.0.8-linux-i686.xml - update_3/release/linux-x86_64/.htaccess - update_3/release/linux-x86_64/update-15.0.5-15.0.8+13.5.29-linux-x86_64.xml → update_3/release/linux-x86_64/update-15.0.5-15.0.8-linux-x86_64.xml - update_3/release/linux-x86_64/update-15.0.6-15.0.8+13.5.29-linux-x86_64.xml → update_3/release/linux-x86_64/update-15.0.6-15.0.8-linux-x86_64.xml - update_3/release/linux-x86_64/update-15.0.7-15.0.8+13.5.29-linux-x86_64.xml → update_3/release/linux-x86_64/update-15.0.7-15.0.8-linux-x86_64.xml - update_3/release/linux-x86_64/update-15.0.8+13.5.29-linux-x86_64.xml → update_3/release/linux-x86_64/update-15.0.8-linux-x86_64.xml - update_3/release/macos/.htaccess - − update_3/release/macos/update-13.5.26-15.0.8+13.5.29-macos.xml - − update_3/release/macos/update-13.5.27-15.0.8+13.5.29-macos.xml - − update_3/release/macos/update-13.5.28-15.0.8+13.5.29-macos.xml - update_3/release/macos/update-15.0.5-15.0.8+13.5.29-macos.xml → update_3/release/macos/update-15.0.5-15.0.8-macos.xml - update_3/release/macos/update-15.0.6-15.0.8+13.5.29-macos.xml → update_3/release/macos/update-15.0.6-15.0.8-macos.xml - update_3/release/macos/update-15.0.7-15.0.8+13.5.29-macos.xml → update_3/release/macos/update-15.0.7-15.0.8-macos.xml - update_3/release/macos/update-15.0.8+13.5.29-macos.xml → update_3/release/macos/update-15.0.8-macos.xml - update_3/release/windows-i686/.htaccess - − update_3/release/windows-i686/update-13.5.26-15.0.8+13.5.29-windows-i686.xml - − update_3/release/windows-i686/update-13.5.27-15.0.8+13.5.29-windows-i686.xml - − update_3/release/windows-i686/update-13.5.28-15.0.8+13.5.29-windows-i686.xml - update_3/release/windows-i686/update-15.0.5-15.0.8+13.5.29-windows-i686.xml → update_3/release/windows-i686/update-15.0.5-15.0.8-windows-i686.xml - update_3/release/windows-i686/update-15.0.6-15.0.8+13.5.29-windows-i686.xml → update_3/release/windows-i686/update-15.0.6-15.0.8-windows-i686.xml - update_3/release/windows-i686/update-15.0.7-15.0.8+13.5.29-windows-i686.xml → update_3/release/windows-i686/update-15.0.7-15.0.8-windows-i686.xml - update_3/release/windows-i686/update-15.0.8+13.5.29-windows-i686.xml → update_3/release/windows-i686/update-15.0.8-windows-i686.xml - update_3/release/windows-x86_64/.htaccess - − update_3/release/windows-x86_64/update-13.5.26-15.0.8+13.5.29-windows-x86_64.xml - − update_3/release/windows-x86_64/update-13.5.27-15.0.8+13.5.29-windows-x86_64.xml - − update_3/release/windows-x86_64/update-13.5.28-15.0.8+13.5.29-windows-x86_64.xml - update_3/release/windows-x86_64/update-15.0.5-15.0.8+13.5.29-windows-x86_64.xml → update_3/release/windows-x86_64/update-15.0.5-15.0.8-windows-x86_64.xml - update_3/release/windows-x86_64/update-15.0.6-15.0.8+13.5.29-windows-x86_64.xml → update_3/release/windows-x86_64/update-15.0.6-15.0.8-windows-x86_64.xml - update_3/release/windows-x86_64/update-15.0.7-15.0.8+13.5.29-windows-x86_64.xml → update_3/release/windows-x86_64/update-15.0.7-15.0.8-windows-x86_64.xml - update_3/release/windows-x86_64/update-15.0.8+13.5.29-windows-x86_64.xml → update_3/release/windows-x86_64/update-15.0.8-windows-x86_64.xml The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-15.0] Bug 41741: Remove var/torbrowser_legacy_version from rbm.conf
by boklm (@boklm) 31 Mar '26

31 Mar '26
boklm pushed to branch maint-15.0 at The Tor Project / Applications / tor-browser-build Commits: e10f5a65 by Nicolas Vigier at 2026-03-30T19:01:15+02:00 Bug 41741: Remove var/torbrowser_legacy_version from rbm.conf And var/torbrowser_legacy_platform_version. - - - - - 1 changed file: - rbm.conf Changes: ===================================== rbm.conf ===================================== @@ -134,9 +134,6 @@ var: - '[% IF c("var/mullvad-browser") %]15.0.4[% END %]' mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]' - torbrowser_legacy_version: 13.5.29 - torbrowser_legacy_platform_version: 115.33.0 - # By default, we sort the list of installed packages. This allows sharing # containers with identical list of packages, even if they are not listed # in the same order. In the cases where the installation order is View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-149.0a1-16.0-2] 2 commits: fixup! BB 43902: Modify the new sidebar for Base Browser.
by henry (@henry) 31 Mar '26

31 Mar '26
henry pushed to branch mullvad-browser-149.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser Commits: 1a7a0645 by Henry Wilkes at 2026-03-31T13:35:25+01:00 fixup! BB 43902: Modify the new sidebar for Base Browser. BB 44765: Restore the limited sidebar description. - - - - - 10f9b64c by Henry Wilkes at 2026-03-31T13:35:26+01:00 fixup! Base Browser strings BB 44765: Adjust the sidebar description to include the label attribute. - - - - - 2 changed files: - browser/components/preferences/main.js - toolkit/locales/en-US/toolkit/global/base-browser.ftl Changes: ===================================== browser/components/preferences/main.js ===================================== @@ -3137,7 +3137,9 @@ SettingGroupManager.registerGroups({ }, { id: "browserLayoutShowSidebar", - l10nId: "browser-layout-show-sidebar2", + // Update the sidebar description to remove mentioning features that we + // don't have in Base Browser. See tor-browser#44159. + l10nId: "browser-layout-show-sidebar-limited", }, ], }, ===================================== toolkit/locales/en-US/toolkit/global/base-browser.ftl ===================================== @@ -104,7 +104,11 @@ letterboxing-enable-button = ## Preferences - Sidebar. -browser-layout-show-sidebar-desc-limited = Quickly access bookmarks and more without leaving your main view. +# Here "sidebar" is a term inherited from Firefox. It refers to the panel that is either side of the main browser window, containing the bookmarks and vertical tabs, if they are enabled. +# In general, "Show sidebar" should use the same translation as Firefox translators have chosen for the string "browser-layout-show-sidebar2". See Firefox's translation on Pontoon, using the "LOCALES" tab: https://pontoon.mozilla.org/ar/firefox/browser/browser/preferences/preferen… . Or use the translation for "sidebar": https://pontoon.mozilla.org/af/terminology/common/?string=212298 . +browser-layout-show-sidebar-limited = + .label = Show sidebar + .description = Quickly access bookmarks and more without leaving your main view. ## Preferences - Contrast Control. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/16… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/16… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] 3 commits: fixup! BB 43902: Modify the new sidebar for Base Browser.
by henry (@henry) 31 Mar '26

31 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 31c4bf89 by Henry Wilkes at 2026-03-31T10:20:56+01:00 fixup! BB 43902: Modify the new sidebar for Base Browser. BB 44765: Restore the limited sidebar description. - - - - - 65283c72 by Henry Wilkes at 2026-03-31T10:21:41+01:00 fixup! Base Browser strings BB 44765: Adjust the sidebar description to include the label attribute. - - - - - d44fec0a by Henry Wilkes at 2026-03-31T10:21:42+01:00 fixup! Tor Browser localization migration scripts. TB 44765: Add a Fluent migration. - - - - - 3 changed files: - browser/components/preferences/main.js - toolkit/locales/en-US/toolkit/global/base-browser.ftl - + tools/torbrowser/l10n/migrations/bug-44765-sidebar-description.py Changes: ===================================== browser/components/preferences/main.js ===================================== @@ -3141,7 +3141,9 @@ SettingGroupManager.registerGroups({ }, { id: "browserLayoutShowSidebar", - l10nId: "browser-layout-show-sidebar2", + // Update the sidebar description to remove mentioning features that we + // don't have in Base Browser. See tor-browser#44159. + l10nId: "browser-layout-show-sidebar-limited", }, ], }, ===================================== toolkit/locales/en-US/toolkit/global/base-browser.ftl ===================================== @@ -104,7 +104,11 @@ letterboxing-enable-button = ## Preferences - Sidebar. -browser-layout-show-sidebar-desc-limited = Quickly access bookmarks and more without leaving your main view. +# Here "sidebar" is a term inherited from Firefox. It refers to the panel that is either side of the main browser window, containing the bookmarks and vertical tabs, if they are enabled. +# In general, "Show sidebar" should use the same translation as Firefox translators have chosen for the string "browser-layout-show-sidebar2". See Firefox's translation on Pontoon, using the "LOCALES" tab: https://pontoon.mozilla.org/ar/firefox/browser/browser/preferences/preferen… . Or use the translation for "sidebar": https://pontoon.mozilla.org/af/terminology/common/?string=212298 . +browser-layout-show-sidebar-limited = + .label = Show sidebar + .description = Quickly access bookmarks and more without leaving your main view. ## Preferences - Contrast Control. ===================================== tools/torbrowser/l10n/migrations/bug-44765-sidebar-description.py ===================================== @@ -0,0 +1,22 @@ +from fluent.migrate.helpers import transforms_from + + +def migrate(ctx): + # NOTE: preferences.ftl comes from firefox-l10n repository, under the path: + # <locale>/browser/browser/preferences/preferences.ftl + # which will need to be added the translations worktree under the path: + # <locale>/preferences.ftl + # prior to running this migration. + ctx.add_transforms( + "base-browser.ftl", + "base-browser.ftl", + transforms_from( + """ +browser-layout-show-sidebar-limited = + .label = { COPY_PATTERN(preferences_path, "browser-layout-show-sidebar2.label") } + .description = { COPY_PATTERN(path, "browser-layout-show-sidebar-desc-limited") } +""", + path="base-browser.ftl", + preferences_path="preferences.ftl", + ), + ) View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/144717… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/144717… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] BB 44801: Redact onion origins from Location.ancestorOrigins.
by ma1 (@ma1) 31 Mar '26

31 Mar '26
ma1 pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: 14471768 by hackademix at 2026-03-31T10:04:01+02:00 BB 44801: Redact onion origins from Location.ancestorOrigins. - - - - - 1 changed file: - docshell/base/CanonicalBrowsingContext.cpp Changes: ===================================== docshell/base/CanonicalBrowsingContext.cpp ===================================== @@ -41,6 +41,7 @@ #include "mozilla/StaticPrefs_browser.h" #include "mozilla/StaticPrefs_docshell.h" #include "mozilla/StaticPrefs_fission.h" +#include "mozilla/StaticPrefs_network.h" #include "mozilla/StaticPrefs_security.h" #include "mozilla/glean/DomMetrics.h" #include "nsILayoutHistoryState.h" @@ -3695,6 +3696,10 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // 11. Let masked be false. bool masked = false; + // Tor-specific, not in spec: + // we want to redact cross-origin onions if hideOnionSource is true. + bool redactOnions = StaticPrefs::network_http_referer_hideOnionSource(); + if (referrerPolicy == ReferrerPolicy::No_referrer) { // 12. If referrerPolicy is "no-referrer", then set masked to true. masked = true; @@ -3705,6 +3710,12 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // origin is not same origin with innerDoc's origin, then set masked to // true. masked = true; + } else if (redactOnions && ancestorWGP->DocumentPricipal()->GetIsOnion() && + !ancestorWGP->DocumentPrincipal()->Equals( + aThisDocumentPrincipal)) { + // Tor-specific, not in spec: + // mask parent origin if it's an onion it's different than this document's. + masked = true; } if (masked) { @@ -3721,6 +3732,13 @@ void CanonicalBrowsingContext::CreateRedactedAncestorOriginsList( // 16. For each ancestorOrigin of ancestorOrigins: for (const auto& ancestorOrigin : parentAncestorOriginsList) { + // Tor-specific, not in spec: + // Redact any ancestor onion origin different than this document's origin. + if (redactOnions && ancestorOrigin && ancestorOrigin->GetIsOnion() && + !ancestorOrigin->Equals(aThisDocumentPrincipal)) { + ancestorPrincipals.AppendElement(nullptr); + continue; + } // 16.1 if masked is true if (masked && ancestorOrigin && ancestorOrigin->Equals(ancestorWGP->DocumentPrincipal())) { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1447176… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1447176… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 44591: Force extensions initialization on startup.
by clairehurst (@clairehurst) 30 Mar '26

30 Mar '26
clairehurst pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: b419c1df by clairehurst at 2026-03-30T10:45:38-06:00 fixup! TB 44591: Force extensions initialization on startup. Revert "TB 44591: Force extensions initialization on startup." This reverts commit bd2c6529c5e5c32677673df898983ae1699aff71. - - - - - 1 changed file: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt ===================================== @@ -32,7 +32,6 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.async import kotlinx.coroutines.launch import mozilla.appservices.autofill.AutofillApiException -import mozilla.components.browser.engine.gecko.GeckoEngine import mozilla.components.browser.state.action.SystemAction import mozilla.components.browser.state.selector.selectedTab import mozilla.components.browser.state.store.BrowserStore @@ -839,20 +838,6 @@ open class FenixApplication : Application(), Provider, ThemeProvider { components.useCases.tabsUseCases.selectTab(sessionId) }, onExtensionsLoaded = { extensions -> - - // temp fix for tb#44591 "fails to initialize WebExtensions" - // disable and enable each extension to properly initialize them - extensions.forEach { extension -> - if (extension.isEnabled()) { - (components.core.engine as GeckoEngine).disableWebExtension( - extension, - onSuccess = { - (components.core.engine as GeckoEngine).enableWebExtension(extension) - }, - ) - } - } - // Delay until bootstrap is finished so that it will actually update tor-browser#44303 components.torController.registerRunOnceBootstrapped(object : RunOnceBootstrapped { override fun onBootstrapped() { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b419c1d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b419c1d… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-149.0a1-16.0-2] fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser
by henry (@henry) 30 Mar '26

30 Mar '26
henry pushed to branch tor-browser-149.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: e9a76ea0 by Henry Wilkes at 2026-03-30T16:44:16+01:00 fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser TB 44797: Clean up about:torconnect styling. 1. Do not use `error-pages.css`. This made the previous page too quirky and meant we had to deal with styling interference from mozilla. We only need a few of our own CSS additions to cover the useful styling we inherited before. 2. Rather than share elements, each stage will get its own `torconnect-stage-content` element, which will show the corresponding stage. This should simplify the javascript once this is complete. And it should make future adjustments easier. See below. 3. Change the body `display` to `grid`, which can dynamically handle the spacing of all elements. One improvement is that this will ensure that the progress bar's shadow will not overlap the title when the vertical height is narrow. 4. Simplify some of the styling spacing logic. 5. Some other minor clean ups. Example markup that will be used in the future: ```html <div class="torconnect-stage-content" data-stage-name="Start"> <img class="torconnect-icon" alt="" /> <h1 class="torconnect-heading" tabindex="-1"></h1> <div class="torconnect-text-container"> <!-- Text content, etc. --> </div> <div class="torconnect-controls-container"> <!-- Buttons, etc. --> </div> </div> ``` - - - - - 3 changed files: - browser/components/torconnect/content/aboutTorConnect.css - browser/components/torconnect/content/aboutTorConnect.html - browser/components/torconnect/content/aboutTorConnect.js Changes: ===================================== browser/components/torconnect/content/aboutTorConnect.css ===================================== @@ -1,6 +1,5 @@ /* Copyright (c) 2021, The Tor Project, Inc. */ -@import url("chrome://global/skin/error-pages.css"); @import url("chrome://global/skin/onion-pattern.css"); body:not(.loaded) { @@ -8,7 +7,23 @@ body:not(.loaded) { display: none; } +body { + margin: 0; + min-height: 100vh; + --progress-shadow-height: 66px; + display: grid; + grid-template: + "progress progress progress progress progress" minmax(calc(var(--progress-shadow-height) + var(--space-large)), 10vh) + ". . breadcrumbs . ." auto + ". icon heading . ." auto + ". icon text-container . ." auto + ". . controls-container . ." auto + ". . . . ." minmax(var(--onion-pattern-height), 1fr) + / var(--space-large) minmax(max-content, 1fr) minmax(350px, 700px) 1fr var(--space-large); +} + #breadcrumbs { + grid-area: breadcrumbs; display: flex; align-items: center; margin: 0 0 var(--space-xlarge) 0; @@ -78,11 +93,6 @@ body:not(.loaded) { display: none; } -#tor-connect-heading { - /* Do not show the focus outline. */ - outline: none; -} - #connect-to-tor { margin-inline-start: 0; } @@ -95,10 +105,6 @@ body:not(.loaded) { list-style-image: url("chrome://browser/content/torconnect/tor-connect-broken.svg"); } -#location-settings-icon { - list-style-image: url("chrome://browser/content/torconnect/globe.svg"); -} - #try-bridge { cursor: default; } @@ -107,38 +113,17 @@ body:not(.loaded) { list-style-image: url("chrome://browser/content/torconnect/bridge.svg"); } -#locationDropdownLabel { - margin-block: auto; - margin-inline: var(--space-xsmall); -} - #locationDropdownLabel.error { color: var(--text-color-error); } -/* this follows similar css in error-pages.css for buttons */ -@media only screen and (min-width: 480px) { - form#locationDropdown { - margin-inline: var(--space-xsmall); - /* subtracting out the margin is needeed because by - default forms have different margins than buttons */ - max-width: calc(100% - 2 * var(--space-xsmall)); - } -} - -@media only screen and (max-width: 480px) { - #tryAgainButton { - margin-top: var(--space-xsmall); - } -} - form#locationDropdown { width: 240px; } form#locationDropdown select { - max-width: 100%; - margin-inline: 0; + width: 100%; + margin: 0; font-weight: var(--font-weight-bold); } @@ -154,9 +139,7 @@ form#locationDropdown select { } #progressBar:not([hidden]) { - position: fixed; - inset-block-start: 0; - inset-inline: 0; + grid-area: progress; display: grid; --progress-percent: 0%; --progress-animation: progressAnimation 5s ease infinite; @@ -176,7 +159,7 @@ form#locationDropdown select { #progressBackground { z-index: 1; width: var(--progress-percent); - height: 66px; + height: var(--progress-shadow-height); margin-block-start: -26px; background-image: linear-gradient(var(--progressbar-shadow-start), var(--background-color-canvas) 100%), var(--progressbar-gradient); animation: var(--progress-animation); @@ -223,46 +206,94 @@ form#locationDropdown select { } } -#connectPageContainer { - margin-top: 10vh; - width: 100%; - max-width: 45em; -} - #quickstartToggle { width: max-content; } -/* mirrors p element spacing */ #viewLogButton { - margin: var(--space-large) 0; + margin-inline: 0; + margin-block-start: var(--space-large); } -body.aboutTorConnect { - justify-content: space-between; - /* Always reserve 150px for the background, plus padding with content. */ - padding-block-end: calc(var(--onion-pattern-height) + var(--space-large)); +.torconnect-stage-content:not(.show-stage) { + display: none; } -body.aboutTorConnect .title { - background-image: url("chrome://browser/content/torconnect/tor-connect.svg"); +.torconnect-stage-content { + display: contents; +} + +.torconnect-icon { + grid-area: icon; + justify-self: end; + width: 52px; + height: 52px; + margin-inline-end: var(--space-xlarge); + content: url("chrome://browser/content/torconnect/tor-connect.svg"); -moz-context-properties: stroke, fill, fill-opacity; fill-opacity: 1; fill: var(--icon-color); stroke: var(--icon-color); - /* Make sure there is no padding between the title and #breadcrumbs. */ - padding-block-start: 0; + /* Make non-interactive (non-draggable). */ + pointer-events: none; } -body.aboutTorConnect .title.offline { - background-image: url("chrome://browser/content/torconnect/connection-failure.svg"); +.torconnect-icon.offline-icon { + content: url("chrome://browser/content/torconnect/connection-failure.svg"); } -body.aboutTorConnect .title:is(.assist, .final) { - background-image: url("chrome://browser/content/torconnect/tor-connect-broken.svg"); +.torconnect-icon.assist-icon { + content: url("chrome://browser/content/torconnect/tor-connect-broken.svg"); } -body.aboutTorConnect .title.location { - background-image: url("chrome://browser/content/torconnect/connection-location.svg"); +.torconnect-icon.location-icon { + content: url("chrome://browser/content/torconnect/connection-location.svg"); stroke: var(--icon-color-warning); } + +.torconnect-heading { + grid-area: heading; + /* Do not show the focus outline. */ + outline: none; + font-size: var(--font-size-xxxlarge); + margin: 0; + margin-block-end: var(--space-xxlarge); +} + +.torconnect-text-container { + grid-area: text-container; +} + +.torconnect-text-container p { + margin: 0; +} + +.torconnect-text-container > *:not(:last-child) { + margin-block-end: var(--space-large); +} + +.torconnect-controls-container { + grid-area: controls-container; + margin-block: var(--space-xlarge) var(--space-large); + display: flex; + flex-wrap: wrap; + flex-direction: row; + justify-content: end; + align-items: center; + /* Gap between children and rows. */ + gap: var(--space-small) var(--space-small); +} + +.torconnect-controls-container > * { + flex: 0 0 max-content; + margin: 0; +} + +/* Temporary hacks for the connectPageContainer. */ +#connectPageContainer .torconnect-text-container > *:last-child { + margin-block-end: var(--space-large); +} + +#connectPageContainer .torconnect-controls-container { + margin-block-start: calc(var(--space-xlarge) - var(--space-large)); +} ===================================== browser/components/torconnect/content/aboutTorConnect.html ===================================== @@ -8,12 +8,11 @@ /> <title data-l10n-id="tor-connect-page-title"></title> + <link rel="stylesheet" href="chrome://global/skin/in-content/common.css" /> <link rel="stylesheet" href="chrome://global/skin/tor-common.css" /> <link rel="stylesheet" href="chrome://browser/content/torconnect/aboutTorConnect.css" - type="text/css" - media="all" /> <link rel="localization" href="toolkit/global/tor-browser.ftl" /> @@ -23,39 +22,42 @@ src="chrome://global/content/elements/moz-toggle.mjs" ></script> </head> - <body class="aboutTorConnect onion-pattern-background"> + <body class="onion-pattern-background"> <div id="progressBar" hidden="hidden"> <div id="progressSolid"></div> <div id="progressBackground"></div> <div id="progressBarBackground"></div> </div> - <div id="connectPageContainer" class="container"> - <div id="breadcrumbs" class="hidden"> - <span id="connect-to-tor" class="breadcrumb-item"> - <span id="connect-to-tor-icon" class="breadcrumb-icon"></span> - <span class="breadcrumb-label"></span> - </span> - <span - id="connection-assist-separator" - class="breadcrumb-separator breadcrumb-icon" - ></span> - <span id="connection-assist" class="breadcrumb-item"> - <span id="connection-assist-icon" class="breadcrumb-icon"></span> - <span class="breadcrumb-label"></span> - </span> - <span - id="try-bridge-separator" - class="breadcrumb-separator breadcrumb-icon" - ></span> - <span id="try-bridge" class="breadcrumb-item"> - <span id="try-bridge-icon" class="breadcrumb-icon"></span> - <span class="breadcrumb-label"></span> - </span> - </div> - <div id="text-container"> - <div class="title"> - <h1 id="tor-connect-heading" class="title-text" tabindex="-1"></h1> - </div> + <div id="breadcrumbs" class="hidden"> + <span id="connect-to-tor" class="breadcrumb-item"> + <span id="connect-to-tor-icon" class="breadcrumb-icon"></span> + <span class="breadcrumb-label"></span> + </span> + <span + id="connection-assist-separator" + class="breadcrumb-separator breadcrumb-icon" + ></span> + <span id="connection-assist" class="breadcrumb-item"> + <span id="connection-assist-icon" class="breadcrumb-icon"></span> + <span class="breadcrumb-label"></span> + </span> + <span + id="try-bridge-separator" + class="breadcrumb-separator breadcrumb-icon" + ></span> + <span id="try-bridge" class="breadcrumb-item"> + <span id="try-bridge-icon" class="breadcrumb-icon"></span> + <span class="breadcrumb-label"></span> + </span> + </div> + <div id="connectPageContainer" class="torconnect-stage-content"> + <img id="tor-connect-icon" class="torconnect-icon" alt="" /> + <h1 + id="tor-connect-heading" + class="torconnect-heading" + tabindex="-1" + ></h1> + <div class="torconnect-text-container"> <div id="connectLongContent"> <p id="connectLongContentText"></p> </div> @@ -68,26 +70,21 @@ <div id="quickstartContainer"> <moz-toggle id="quickstartToggle"></moz-toggle> </div> - - <div id="connectButtonContainer" class="button-container"> - <button id="restartButton" hidden="true"></button> - <button id="configureButton" hidden="true"></button> - <button id="cancelButton" hidden="true"></button> - <button id="connectButton" hidden="true" class="tor-button"></button> - <label id="locationDropdownLabel" for="countries"></label> - <form id="locationDropdown" hidden="true"> - <select id="regions-select"> - <option id="first-region-option"></option> - <optgroup id="frequent-regions-option-group"></optgroup> - <optgroup id="full-regions-option-group"></optgroup> - </select> - </form> - <button - id="tryBridgeButton" - hidden="true" - class="tor-button" - ></button> - </div> + </div> + <div class="torconnect-controls-container"> + <button id="restartButton" hidden="true"></button> + <button id="configureButton" hidden="true"></button> + <button id="cancelButton" hidden="true"></button> + <button id="connectButton" hidden="true" class="tor-button"></button> + <label id="locationDropdownLabel" for="countries"></label> + <form id="locationDropdown" hidden="true"> + <select id="regions-select"> + <option id="first-region-option"></option> + <optgroup id="frequent-regions-option-group"></optgroup> + <optgroup id="full-regions-option-group"></optgroup> + </select> + </form> + <button id="tryBridgeButton" hidden="true" class="tor-button"></button> </div> </div> <script src="chrome://browser/content/torconnect/aboutTorConnect.js"></script> ===================================== browser/components/torconnect/content/aboutTorConnect.js ===================================== @@ -28,7 +28,7 @@ const BreadcrumbStatus = Object.freeze({ class AboutTorConnect { selectors = Object.freeze({ textContainer: { - title: "div.title", + icon: "#tor-connect-icon", longContentText: "#connectLongContentText", }, progress: { @@ -72,7 +72,7 @@ class AboutTorConnect { }); elements = Object.freeze({ - title: document.querySelector(this.selectors.textContainer.title), + icon: document.querySelector(this.selectors.textContainer.icon), heading: document.getElementById("tor-connect-heading"), longContentText: document.querySelector( this.selectors.textContainer.longContentText @@ -225,9 +225,9 @@ class AboutTorConnect { setTitle(title, className) { this.elements.heading.textContent = title; - this.elements.title.className = "title"; + this.elements.icon.className = "torconnect-icon"; if (className) { - this.elements.title.classList.add(className); + this.elements.icon.classList.add(className); } } @@ -348,10 +348,22 @@ class AboutTorConnect { // selectRegionOption. this.selectedRegion = stage.defaultRegion; + let prevPageEl = document.querySelector( + ".torconnect-stage-content.show-stage" + ); + let pageEl = document.getElementById("connectPageContainer"); + for (const maybePageEl of document.querySelectorAll( + ".torconnect-stage-content" + )) { + if (maybePageEl.dataset.stageName === stage.name) { + pageEl = maybePageEl; + break; + } + } // By default we want to reset the focus to the top of the page when // changing the displayed page since we want a user to read the new page // before activating a control. - let moveFocus = this.elements.heading; + let moveFocus = pageEl.querySelector(".torconnect-heading"); if (stage.name === "Bootstrapping") { this.preBootstrappingStage = prevStage; @@ -461,6 +473,8 @@ class AboutTorConnect { this.hide(this.elements.viewLogButton); } + prevPageEl?.classList.remove("show-stage"); + pageEl.classList.add("show-stage"); document.body.classList.toggle("loaded", isLoaded); moveFocus.focus(); } @@ -557,7 +571,7 @@ class AboutTorConnect { } showOffline() { - this.setTitle(TorStrings.torConnect.noInternet, "offline"); + this.setTitle(TorStrings.torConnect.noInternet, "offline-icon"); this.setLongText(TorStrings.torConnect.noInternetDescription); this.elements.progressDescription.textContent = TorStrings.torConnect.offline; @@ -573,7 +587,7 @@ class AboutTorConnect { } showChooseRegion(error) { - this.setTitle(TorStrings.torConnect.couldNotConnect, "assist"); + this.setTitle(TorStrings.torConnect.couldNotConnect, "assist-icon"); this.showConfigureConnectionLink(TorStrings.torConnect.assistDescription); this.elements.progressDescription.textContent = this.getMaybeLocalizedError(error); @@ -586,7 +600,7 @@ class AboutTorConnect { } showRegionNotFound() { - this.setTitle(TorStrings.torConnect.errorLocation, "location"); + this.setTitle(TorStrings.torConnect.errorLocation, "location-icon"); this.showConfigureConnectionLink( TorStrings.torConnect.errorLocationDescription ); @@ -601,7 +615,7 @@ class AboutTorConnect { } showConfirmRegion(error) { - this.setTitle(TorStrings.torConnect.isLocationCorrect, "location"); + this.setTitle(TorStrings.torConnect.isLocationCorrect, "location-icon"); this.showConfigureConnectionLink( TorStrings.torConnect.isLocationCorrectDescription ); @@ -616,7 +630,7 @@ class AboutTorConnect { } showFinalError(error) { - this.setTitle(TorStrings.torConnect.finalError, "final"); + this.setTitle(TorStrings.torConnect.finalError, "assist-icon"); this.setLongText(TorStrings.torConnect.finalErrorDescription); this.elements.progressDescription.textContent = this.getMaybeLocalizedError(error); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e9a76ea… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e9a76ea… You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • ...
  • 2043
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.