tbb-commits
Threads by month
- ----- 2025 -----
- 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
- 1 participants
- 18730 discussions

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0esr-15.0-1] fixup! Base Browser strings
by henry (@henry) 10 Jul '25
by henry (@henry) 10 Jul '25
10 Jul '25
henry pushed to branch mullvad-browser-140.0esr-15.0-1 at The Tor Project / Applications / Mullvad Browser
Commits:
6e1ce185 by Henry Wilkes at 2025-07-10T17:45:06+01:00
fixup! Base Browser strings
TB 43905: Add base-browser.ftl to about:addons.
- - - - -
1 changed file:
- toolkit/mozapps/extensions/content/aboutaddons.html
Changes:
=====================================
toolkit/mozapps/extensions/content/aboutaddons.html
=====================================
@@ -35,6 +35,7 @@
<link rel="localization" href="branding/brand.ftl" />
<link rel="localization" href="toolkit/about/aboutAddons.ftl" />
<link rel="localization" href="toolkit/global/extensionPermissions.ftl" />
+ <link rel="localization" href="toolkit/global/base-browser.ftl" />
<!-- Defer scripts so all the templates are loaded by the time they run. -->
<script
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6e1…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6e1…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0esr-15.0-1] fixup! Base Browser strings
by henry (@henry) 10 Jul '25
by henry (@henry) 10 Jul '25
10 Jul '25
henry pushed to branch base-browser-140.0esr-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
6febd5a5 by henry at 2025-07-10T16:33:33+00:00
fixup! Base Browser strings
TB 43905: Add base-browser.ftl to about:addons.
(cherry picked from commit 262a67f5bf72874aaa1df658ed643efb5c13b20a)
Co-authored-by: Henry Wilkes <henry(a)torproject.org>
- - - - -
1 changed file:
- toolkit/mozapps/extensions/content/aboutaddons.html
Changes:
=====================================
toolkit/mozapps/extensions/content/aboutaddons.html
=====================================
@@ -35,6 +35,7 @@
<link rel="localization" href="branding/brand.ftl" />
<link rel="localization" href="toolkit/about/aboutAddons.ftl" />
<link rel="localization" href="toolkit/global/extensionPermissions.ftl" />
+ <link rel="localization" href="toolkit/global/base-browser.ftl" />
<!-- Defer scripts so all the templates are loaded by the time they run. -->
<script
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6febd5a…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6febd5a…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0esr-15.0-1] fixup! Base Browser strings
by ma1 (@ma1) 10 Jul '25
by ma1 (@ma1) 10 Jul '25
10 Jul '25
ma1 pushed to branch tor-browser-140.0esr-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
262a67f5 by Henry Wilkes at 2025-07-10T12:07:17+01:00
fixup! Base Browser strings
TB 43905: Add base-browser.ftl to about:addons.
- - - - -
1 changed file:
- toolkit/mozapps/extensions/content/aboutaddons.html
Changes:
=====================================
toolkit/mozapps/extensions/content/aboutaddons.html
=====================================
@@ -35,6 +35,7 @@
<link rel="localization" href="branding/brand.ftl" />
<link rel="localization" href="toolkit/about/aboutAddons.ftl" />
<link rel="localization" href="toolkit/global/extensionPermissions.ftl" />
+ <link rel="localization" href="toolkit/global/base-browser.ftl" />
<!-- Defer scripts so all the templates are loaded by the time they run. -->
<script
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/262a67f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/262a67f…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-140.0esr-15.0-1-build1
by Pier Angelo Vendrame (@pierov) 10 Jul '25
by Pier Angelo Vendrame (@pierov) 10 Jul '25
10 Jul '25
Pier Angelo Vendrame pushed new tag mullvad-browser-140.0esr-15.0-1-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.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0esr-15.0-1] 2 commits: fixup! TB 41917: Tor brand-specific styles.
by ma1 (@ma1) 10 Jul '25
by ma1 (@ma1) 10 Jul '25
10 Jul '25
ma1 pushed to branch tor-browser-140.0esr-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
bce21b8a by Henry Wilkes at 2025-07-10T12:06:15+02:00
fixup! TB 41917: Tor brand-specific styles.
TB 43879: revert commit 7d3002c8b84ce892f47e3265de50b0746b6b26de.
- - - - -
fe9ee9e7 by Henry Wilkes at 2025-07-10T12:06:29+02:00
TB 41917: Change letterboxing styling for Tor Browser.
- - - - -
4 changed files:
- browser/themes/shared/browser-shared.css
- browser/themes/shared/jar.inc.mn
- − browser/themes/shared/tor-branding.css
- toolkit/components/resistfingerprinting/content/letterboxing.css
Changes:
=====================================
browser/themes/shared/browser-shared.css
=====================================
@@ -27,7 +27,6 @@
@import url("chrome://browser/skin/customizableui/customizeMode.css");
@import url("chrome://browser/skin/UITour.css");
@import url("chrome://browser/skin/formautofill-notification.css");
-@import url("chrome://browser/skin/tor-branding.css");
@import url("chrome://global/skin/tor-colors.css");
@import url("chrome://browser/skin/tor-urlbar-button.css");
@import url("chrome://browser/skin/onionlocation.css");
=====================================
browser/themes/shared/jar.inc.mn
=====================================
@@ -29,7 +29,6 @@
skin/classic/browser/sidebar.css (../shared/sidebar.css)
skin/classic/browser/toolbarbuttons.css (../shared/toolbarbuttons.css)
skin/classic/browser/toolbarbutton-icons.css (../shared/toolbarbutton-icons.css)
- skin/classic/browser/tor-branding.css (../shared/tor-branding.css)
skin/classic/browser/tor-urlbar-button.css (../shared/tor-urlbar-button.css)
skin/classic/browser/urlbar-dynamic-results.css (../shared/urlbar-dynamic-results.css)
skin/classic/browser/urlbar-searchbar.css (../shared/urlbar-searchbar.css)
=====================================
browser/themes/shared/tor-branding.css deleted
=====================================
@@ -1,13 +0,0 @@
-.letterboxing {
- --letterboxing-bgcolor: var(--color-grey-light-20, #F0F0F4);
- --letterboxing-gradient-color1: rgba(0, 219, 222, 0.02);
- --letterboxing-gradient-color2: rgba(252, 0, 255, 0.02);
-}
-
-@media (prefers-color-scheme: dark) {
- .letterboxing {
- --letterboxing-bgcolor: var(--color-grey-dark-10, #52525E);
- --letterboxing-gradient-color1: rgba(0, 219, 222, 0.06);
- --letterboxing-gradient-color2: rgba(252, 0, 255, 0.06);
- }
-}
=====================================
toolkit/components/resistfingerprinting/content/letterboxing.css
=====================================
@@ -19,6 +19,19 @@
--letterboxing-border-color: var(--letterboxing-bgcolor);
--letterboxing-decorator-visibility: visible;
+ /* Re-styling for Tor Browser. */
+ /* stylelint-disable declaration-block-no-duplicate-custom-properties */
+ --letterboxing-bgcolor: light-dark(#F0F0F4, #52525E);
+ --letterboxing-gradient-color1: light-dark(
+ rgba(0, 219, 222, 0.02),
+ rgba(0, 219, 222, 0.06)
+ );
+ --letterboxing-gradient-color2: light-dark(
+ rgba(252, 0, 255, 0.02),
+ rgba(252, 0, 255, 0.06)
+ );
+ /* stylelint-enable declaration-block-no-duplicate-custom-properties */
+
.browserContainer {
/*
* From Firefox 115 on, .browserContainer layout is flex / column,
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/a7e8b0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/a7e8b0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bump Firefox version to 140.0esr for nightly builds.
by Pier Angelo Vendrame (@pierov) 10 Jul '25
by Pier Angelo Vendrame (@pierov) 10 Jul '25
10 Jul '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
cd5a0df4 by Pier Angelo Vendrame at 2025-07-10T12:15:18+02:00
Bump Firefox version to 140.0esr for nightly builds.
- - - - -
2 changed files:
- projects/firefox/config
- projects/geckoview/config
Changes:
=====================================
projects/firefox/config
=====================================
@@ -16,10 +16,10 @@ container:
use_container: 1
var:
- firefox_platform_version: '140.0a1'
- firefox_version: '[% c("var/firefox_platform_version") %]'
+ firefox_platform_version: '140.0'
+ firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '15.0'
- browser_rebase: 2
+ browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
browser_build: 1
copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]'
=====================================
projects/geckoview/config
=====================================
@@ -18,10 +18,10 @@ container:
build_apk: 1
var:
- firefox_platform_version: '140.0a1'
- geckoview_version: '[% c("var/firefox_platform_version") %]'
+ firefox_platform_version: '140.0'
+ geckoview_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '15.0'
- browser_rebase: 2
+ browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
browser_build: 1
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0esr-15.0-1] 27 commits: Add CI for Mullvad Browser
by Pier Angelo Vendrame (@pierov) 10 Jul '25
by Pier Angelo Vendrame (@pierov) 10 Jul '25
10 Jul '25
Pier Angelo Vendrame pushed to branch mullvad-browser-140.0esr-15.0-1 at The Tor Project / Applications / Mullvad Browser
Commits:
56c5df76 by Henry Wilkes at 2025-07-10T11:51:15+02:00
Add CI for Mullvad Browser
- - - - -
74103432 by Pier Angelo Vendrame at 2025-07-10T11:51:15+02:00
MB 38: Mullvad Browser configuration
- - - - -
c7e72180 by Pier Angelo Vendrame at 2025-07-10T11:51:15+02: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
- - - - -
4e429d78 by Pier Angelo Vendrame at 2025-07-10T11:56:29+02:00
fixup! MB 1: Mullvad Browser branding
TB 43776: Mark branding files for l10n merge.
- - - - -
8e3e6d84 by Henry Wilkes at 2025-07-10T11:56:29+02:00
Mullvad Browser strings
This commit adds strings needed by the following Mullvad Browser
patches.
- - - - -
40cd73ac by Pier Angelo Vendrame at 2025-07-10T11:56:29+02: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.
- - - - -
f3f608dd by Pier Angelo Vendrame at 2025-07-10T11:56:30+02:00
MB 63: Customize some about pages for Mullvad Browser
Also:
mullvad-browser#57: Purge unneeded about: pages
- - - - -
fb2329b2 by Pier Angelo Vendrame at 2025-07-10T11:56:30+02:00
MB 37: Customization for the about dialog
- - - - -
ccbe396c by Henry Wilkes at 2025-07-10T11:56:30+02:00
MB 39: Add home page about:mullvad-browser
- - - - -
7f74c19a by Pier Angelo Vendrame at 2025-07-10T11:56:30+02:00
fixup! MB 39: Add home page about:mullvad-browser
Drop the unnecessary font CSP directive.
Debug builds complain about this, and they crash with a failed
assertion.
- - - - -
12bc9c38 by hackademix at 2025-07-10T11:56:31+02:00
MB 97: Remove UI cues to install new extensions.
- - - - -
6b1bf052 by hackademix at 2025-07-10T11:56:31+02:00
MB 47: uBlock Origin customization
- - - - -
85996aac by Pier Angelo Vendrame at 2025-07-10T11:56:31+02: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.
- - - - -
634951b5 by Pier Angelo Vendrame at 2025-07-10T11:56:31+02:00
MB 112: Updater customization for Mullvad Browser
MB 71: Set the updater base URL to Mullvad domain
- - - - -
f0edfb1a by Nicolas Vigier at 2025-07-10T11:56:32+02:00
MB 79: Add Mullvad Browser MAR signing keys
MB 256: Add mullvad-browser nightly mar signing key
- - - - -
b1e653e1 by Pier Angelo Vendrame at 2025-07-10T11:56:32+02: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.
- - - - -
f1ffc94e by Pier Angelo Vendrame at 2025-07-10T11:56:32+02: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.
- - - - -
c2a10aea by hackademix at 2025-07-10T11:56:32+02:00
MB 163: prevent uBlock Origin from being uninstalled/disabled
- - - - -
e17cfa10 by Richard Pospesel at 2025-07-10T11:56:33+02:00
MB 188: Customize Gitlab Issue and Merge templates
- - - - -
a804a681 by rui hildt at 2025-07-10T11:56:33+02:00
MB 213: Customize the search engines list
MB 328: Refactor the search engine patch.
Upstream switched to a completely different search engine configuration
between ESR 115 and ESR 128.
We moved our configuration to a couple of JSON files that do not follow
upstream's schemas, as they are overcomplicated for our needs.
Also, we keep the old search engine extensions for now, as upstream
also kept them, and planned of removing them with Bug 1885953.
- - - - -
5ebb3d1e by Pier Angelo Vendrame at 2025-07-10T11:57:07+02:00
fixup! MB 213: Customize the search engines list
TB 43728: Fix search engines also on MB.
- - - - -
e538d1be by hackademix at 2025-07-10T11:57:07+02:00
MB 214: Enable cross-tab identity leak protection in "quiet" mode
- - - - -
404bf23d by Pier Angelo Vendrame at 2025-07-10T11:57:07+02:00
MB 80: Enable Mullvad Browser as a default browser
- - - - -
1548c494 by Pier Angelo Vendrame at 2025-07-10T11:57:07+02:00
fixup! MB 80: Enable Mullvad Browser as a default browser
Comment a definition since mingw now defines it as well.
- - - - -
3f3fcfa4 by Pier Angelo Vendrame at 2025-07-10T11:57:08+02: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.
- - - - -
653367b9 by Henry Wilkes at 2025-07-10T11:57:08+02:00
MB 329: Customize toolbar for mullvad-browser.
- - - - -
b68f2a16 by Henry Wilkes at 2025-07-10T11:57:08+02:00
MB 419: Mullvad Browser migration procedures.
This commit implements the the Mullvad Browser's version of _migrateUI.
- - - - -
271 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/060 Rebase - Alpha.md
- .gitlab/issue_templates/061 Rebase - Stable.md
- .gitlab/issue_templates/063 Rebase - Rapid.md
- .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/Rebase Browser - Alpha.md
- + .gitlab/issue_templates/Rebase Browser - Rapid.md
- + .gitlab/issue_templates/Rebase Browser - Stable.md
- .gitlab/merge_request_templates/Default.md
- + .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/firefox-wordmark.svg
- + browser/branding/mb-alpha/content/icon128.png
- + browser/branding/mb-alpha/content/icon16.png
- + browser/branding/mb-alpha/content/icon256.png
- + browser/branding/mb-alpha/content/icon32.png
- + browser/branding/mb-alpha/content/icon48.png
- + browser/branding/mb-alpha/content/icon64.png
- + browser/branding/mb-alpha/content/jar.mn
- + browser/branding/mb-alpha/content/moz.build
- + browser/branding/mb-alpha/content/mullvad-branding.css
- + browser/branding/mb-alpha/default128.png
- + browser/branding/mb-alpha/default16.png
- + browser/branding/mb-alpha/default22.png
- + browser/branding/mb-alpha/default24.png
- + browser/branding/mb-alpha/default256.png
- + browser/branding/mb-alpha/default32.png
- + browser/branding/mb-alpha/default48.png
- + browser/branding/mb-alpha/default64.png
- + browser/branding/mb-alpha/document.icns
- + browser/branding/mb-alpha/document.ico
- + browser/branding/mb-alpha/document_pdf.ico
- + browser/branding/mb-alpha/firefox.icns
- + browser/branding/mb-alpha/firefox.ico
- + browser/branding/mb-alpha/firefox.svg
- + browser/branding/mb-alpha/locales/en-US/brand.ftl
- + browser/branding/mb-alpha/locales/en-US/brand.properties
- + browser/branding/mb-alpha/locales/jar.mn
- + browser/branding/mb-alpha/locales/moz.build
- + browser/branding/mb-alpha/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-alpha/moz.build
- + browser/branding/mb-alpha/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-alpha/newtab.ico
- + browser/branding/mb-alpha/newwindow.ico
- + browser/branding/mb-alpha/pbmode.ico
- + browser/branding/mb-alpha/pref/firefox-branding.js
- + browser/branding/mb-nightly/VisualElements_150.png
- + browser/branding/mb-nightly/VisualElements_70.png
- + browser/branding/mb-nightly/configure.sh
- + browser/branding/mb-nightly/content/about-logo.png
- + browser/branding/mb-nightly/content/about-logo.svg
- + browser/branding/mb-nightly/content/about-logo(a)2x.png
- + browser/branding/mb-nightly/content/about-wordmark.svg
- + browser/branding/mb-nightly/content/about.png
- + browser/branding/mb-nightly/content/aboutDialog.css
- + browser/branding/mb-nightly/content/firefox-wordmark.svg
- + browser/branding/mb-nightly/content/icon128.png
- + browser/branding/mb-nightly/content/icon16.png
- + browser/branding/mb-nightly/content/icon256.png
- + browser/branding/mb-nightly/content/icon32.png
- + browser/branding/mb-nightly/content/icon48.png
- + browser/branding/mb-nightly/content/icon64.png
- + browser/branding/mb-nightly/content/jar.mn
- + browser/branding/mb-nightly/content/moz.build
- + browser/branding/mb-nightly/content/mullvad-branding.css
- + browser/branding/mb-nightly/default128.png
- + browser/branding/mb-nightly/default16.png
- + browser/branding/mb-nightly/default22.png
- + browser/branding/mb-nightly/default24.png
- + browser/branding/mb-nightly/default256.png
- + browser/branding/mb-nightly/default32.png
- + browser/branding/mb-nightly/default48.png
- + browser/branding/mb-nightly/default64.png
- + browser/branding/mb-nightly/document.icns
- + browser/branding/mb-nightly/document.ico
- + browser/branding/mb-nightly/document_pdf.ico
- + browser/branding/mb-nightly/firefox.icns
- + browser/branding/mb-nightly/firefox.ico
- + browser/branding/mb-nightly/firefox.svg
- + browser/branding/mb-nightly/locales/en-US/brand.ftl
- + browser/branding/mb-nightly/locales/en-US/brand.properties
- + browser/branding/mb-nightly/locales/jar.mn
- + browser/branding/mb-nightly/locales/moz.build
- + browser/branding/mb-nightly/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-nightly/moz.build
- + browser/branding/mb-nightly/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-nightly/newtab.ico
- + browser/branding/mb-nightly/newwindow.ico
- + browser/branding/mb-nightly/pbmode.ico
- + browser/branding/mb-nightly/pref/firefox-branding.js
- + browser/branding/mb-release/VisualElements_150.png
- + browser/branding/mb-release/VisualElements_70.png
- + browser/branding/mb-release/configure.sh
- + browser/branding/mb-release/content/about-logo.png
- + browser/branding/mb-release/content/about-logo.svg
- + browser/branding/mb-release/content/about-logo(a)2x.png
- + browser/branding/mb-release/content/about-wordmark.svg
- + browser/branding/mb-release/content/about.png
- + browser/branding/mb-release/content/aboutDialog.css
- + browser/branding/mb-release/content/firefox-wordmark.svg
- + browser/branding/mb-release/content/icon128.png
- + browser/branding/mb-release/content/icon16.png
- + browser/branding/mb-release/content/icon256.png
- + browser/branding/mb-release/content/icon32.png
- + browser/branding/mb-release/content/icon48.png
- + browser/branding/mb-release/content/icon64.png
- + browser/branding/mb-release/content/jar.mn
- + browser/branding/mb-release/content/moz.build
- + browser/branding/mb-release/content/mullvad-branding.css
- + browser/branding/mb-release/default128.png
- + browser/branding/mb-release/default16.png
- + browser/branding/mb-release/default22.png
- + browser/branding/mb-release/default24.png
- + browser/branding/mb-release/default256.png
- + browser/branding/mb-release/default32.png
- + browser/branding/mb-release/default48.png
- + browser/branding/mb-release/default64.png
- + browser/branding/mb-release/document.icns
- + browser/branding/mb-release/document.ico
- + browser/branding/mb-release/document_pdf.ico
- + browser/branding/mb-release/firefox.icns
- + browser/branding/mb-release/firefox.ico
- + browser/branding/mb-release/firefox.svg
- + browser/branding/mb-release/locales/en-US/brand.ftl
- + browser/branding/mb-release/locales/en-US/brand.properties
- + browser/branding/mb-release/locales/jar.mn
- + browser/branding/mb-release/locales/moz.build
- + browser/branding/mb-release/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-release/moz.build
- + browser/branding/mb-release/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-release/newtab.ico
- + browser/branding/mb-release/newwindow.ico
- + browser/branding/mb-release/pbmode.ico
- + browser/branding/mb-release/pref/firefox-branding.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/DesktopActorRegistry.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/moz.build
- + browser/components/mullvad-browser/AboutMullvadBrowserChild.sys.mjs
- + browser/components/mullvad-browser/AboutMullvadBrowserParent.sys.mjs
- + browser/components/mullvad-browser/content/2728-sparkles.svg
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.css
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.html
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.js
- + browser/components/mullvad-browser/jar.mn
- + browser/components/mullvad-browser/moz.build
- browser/components/newtab/AboutNewTabRedirector.sys.mjs
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/preferences/search.inc.xhtml
- + browser/components/search/extensions/brave/favicon.svg
- + browser/components/search/extensions/brave/manifest.json
- + browser/components/search/extensions/ddg-html/favicon.ico
- + browser/components/search/extensions/ddg-html/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/metager/favicon.ico
- + browser/components/search/extensions/metager/manifest.json
- + browser/components/search/extensions/mojeek/favicon.ico
- + browser/components/search/extensions/mojeek/manifest.json
- + browser/components/search/extensions/mullvad-leta/favicon.svg
- + browser/components/search/extensions/mullvad-leta/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- browser/components/shell/ShellService.sys.mjs
- browser/components/shell/WindowsDefaultBrowser.cpp
- browser/components/shell/nsWindowsShellService.cpp
- browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/mullvad-browser
- browser/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
- 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
- toolkit/components/extensions/child/ext-storage.js
- toolkit/components/extensions/parent/ext-storage.js
- toolkit/components/passwordmgr/LoginHelper.sys.mjs
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/brave.svg
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/metager.ico
- + toolkit/components/search/content/mojeek.ico
- + toolkit/components/search/content/mullvad-leta.svg
- + toolkit/components/search/content/mullvadBrowserSearchEngineIcons.json
- + toolkit/components/search/content/mullvadBrowserSearchEngines.json
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/content/aboutRightsMullvad.xhtml
- + toolkit/content/aboutTelemetryMullvad.xhtml
- toolkit/content/jar.mn
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- + toolkit/locales/en-US/toolkit/global/mullvad-browser.ftl
- toolkit/mozapps/defaultagent/EventLog.h
- toolkit/mozapps/defaultagent/SetDefaultBrowser.cpp
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/content/aboutaddons.css
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- + toolkit/themes/shared/icons/mullvadbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- toolkit/xre/nsAppRunner.cpp
- tools/lint/fluent-lint/exclusions.yml
- widget/windows/WinTaskbar.cpp
- widget/windows/moz.build
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/dd…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/dd…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new branch mullvad-browser-140.0esr-15.0-1
by Pier Angelo Vendrame (@pierov) 10 Jul '25
by Pier Angelo Vendrame (@pierov) 10 Jul '25
10 Jul '25
Pier Angelo Vendrame pushed new branch mullvad-browser-140.0esr-15.0-1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag base-browser-140.0esr-15.0-1-build1
by Pier Angelo Vendrame (@pierov) 10 Jul '25
by Pier Angelo Vendrame (@pierov) 10 Jul '25
10 Jul '25
Pier Angelo Vendrame pushed new tag base-browser-140.0esr-15.0-1-build1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/base-…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-bundle-testsuite][main] Bug 40086: Enable dev artifacts for our nightly builds
by boklm (@boklm) 10 Jul '25
by boklm (@boklm) 10 Jul '25
10 Jul '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-bundle-testsuite
Commits:
af3a6137 by Nicolas Vigier at 2025-07-10T11:35:03+02:00
Bug 40086: Enable dev artifacts for our nightly builds
- - - - -
1 changed file:
- rbm-config/tb-build-06.torproject.org.rbm.local.conf
Changes:
=====================================
rbm-config/tb-build-06.torproject.org.rbm.local.conf
=====================================
@@ -54,6 +54,9 @@ var:
### and sha256sums-unsigned-build.incrementals.txt files.
#sign_build_gpg_opts: '--local-user XXXXXXXX'
+ ### This option enables generation of development artifacts
+ dev_artifacts: 1
+
### The clean configuration is used by the cleaning script to find the
### branches and build targets you are using, to compute the list of
### files that should be kept.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-bundle-testsuite…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-bundle-testsuite…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch base-browser-140.0esr-15.0-1
by Pier Angelo Vendrame (@pierov) 10 Jul '25
by Pier Angelo Vendrame (@pierov) 10 Jul '25
10 Jul '25
Pier Angelo Vendrame pushed new branch base-browser-140.0esr-15.0-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag base-browser-140.0esr-15.0-1-build1
by Pier Angelo Vendrame (@pierov) 10 Jul '25
by Pier Angelo Vendrame (@pierov) 10 Jul '25
10 Jul '25
Pier Angelo Vendrame pushed new tag base-browser-140.0esr-15.0-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-140.0esr-15.0-1-build1
by Pier Angelo Vendrame (@pierov) 10 Jul '25
by Pier Angelo Vendrame (@pierov) 10 Jul '25
10 Jul '25
Pier Angelo Vendrame pushed new tag tor-browser-140.0esr-15.0-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41465: Disable development artifacts generation by default
by boklm (@boklm) 10 Jul '25
by boklm (@boklm) 10 Jul '25
10 Jul '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
18e1ee58 by Nicolas Vigier at 2025-07-09T12:34:30+02:00
Bug 41465: Disable development artifacts generation by default
- - - - -
7 changed files:
- projects/browser/build
- projects/browser/build.android
- projects/firefox/build
- projects/geckoview/build
- projects/geckoview/build_apk
- rbm.conf
- rbm.local.conf.example
Changes:
=====================================
projects/browser/build
=====================================
@@ -411,7 +411,7 @@ cd $distdir
popd
[% END %]
-[% IF c("var/nightly") -%]
+[% IF c("var/dev_artifacts") -%]
[% IF c("var/macos_universal") -%]
mkdir -p "$OUTDIR"/artifacts/aarch64
cp -a $rootdir/[% c('input_files_by_name/firefox-aarch64') %]/artifacts/. "$OUTDIR/artifacts/aarch64"
=====================================
projects/browser/build.android
=====================================
@@ -120,7 +120,7 @@ apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $
cp "$rootdir/[% c("input_files_by_name/tor-expert-bundle") %]/tor-expert-bundle.tar.gz" [% dest_dir %]/[% c('filename') %]/$tor_expert_bundle_dest
[% END -%]
-[% IF c("var/nightly") -%]
+[% IF c("var/dev_artifacts") -%]
mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts/"
mv $rootdir/[% c('input_files_by_name/fenix') %]/artifacts[% IF !c('var/android_single_arch') %]/[% c("var/abi") %][% END %] [% dest_dir %]/[% c('filename') %]/artifacts
[% END %]
=====================================
projects/firefox/build
=====================================
@@ -123,7 +123,7 @@ echo "Starting ./mach build $(date)"
./mach build stage-package
[% END -%]
-[% IF c("var/nightly") -%]
+[% IF c("var/dev_artifacts") -%]
echo "Building development artifacts"
[% IF c("var/macos") -%]
=====================================
projects/geckoview/build
=====================================
@@ -34,7 +34,7 @@ echo "Starting ./mach configure $(date)"
echo "Starting ./mach build $(date)"
./mach build --verbose
-[% IF c("var/nightly") -%]
+[% IF c("var/dev_artifacts") -%]
echo "Building development artifacts"
./mach package
=====================================
projects/geckoview/build_apk
=====================================
@@ -5,9 +5,8 @@ echo "Starting the creation of the fat AAR $(date)"
tar -C $builddir -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
-mkdir -p $outdir/[% project %]/artifacts
-[% IF c("var/nightly") -%]
+[% IF c("var/dev_artifacts") -%]
mkdir -p $outdir/[% project %]/artifacts/armeabi-v7a
mv $rootdir/[% c('input_files_by_name/geckoview_armv7') %]/artifacts/* $outdir/[% project %]/artifacts/armeabi-v7a
mkdir -p $outdir/[% project %]/artifacts/arm64-v8a
=====================================
rbm.conf
=====================================
@@ -285,6 +285,10 @@ var:
- zip
- zstd
+ # Generation of development artifacts is disabled by default. This can
+ # be enabled in rbm.local.conf.
+ dev_artifacts: 0
+
targets:
notarget: linux-x86_64
noint:
=====================================
rbm.local.conf.example
=====================================
@@ -65,6 +65,9 @@ var:
### upload the files to
#tpo_user: username
+ ### This option enables generation of development artifacts
+ #dev_artifacts: '[% c("var/nightly") %]'
+
### The clean configuration is used by the cleaning script to find the
### branches and build targets you are using, to compute the list of
### files that should be kept.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/1…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/1…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0esr-15.0-1] 226 commits: BB 43843: Do not bootstrap MacOS packaging tools if available
by Pier Angelo Vendrame (@pierov) 10 Jul '25
by Pier Angelo Vendrame (@pierov) 10 Jul '25
10 Jul '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0esr-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
60928031 by Beatriz Rizental at 2025-07-07T10:42:16+02:00
BB 43843: Do not bootstrap MacOS packaging tools if available
Do not bootstrap MacOS packing tools if they are already available in
the environment. This can be uplifted.
- - - - -
d93e1e77 by Henry Wilkes at 2025-07-07T10:42:16+02:00
BB 41454: Move focus after calling openPreferences for a sub-category.
Temporary fix until mozilla bug 1799153 gets a patch upstream.
- - - - -
50c61954 by Henry Wilkes at 2025-07-07T10:42:16+02: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.
- - - - -
ff7b6a8d by Henry Wilkes at 2025-07-07T10:42:16+02: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.
- - - - -
ca171c4f by Henry Wilkes at 2025-07-07T10:42:17+02:00
BB 41483: Remove the firefox override for appstrings.properties
Remove this patch after upstream bugzilla bug 1790187
- - - - -
f91b560f by Marco Simonelli at 2025-07-07T10:42:17+02:00
BB 41459: WebRTC fails to build under mingw (Part 1)
- properly define NOMINMAX for just MSVC builds
- - - - -
50a843c6 by Marco Simonelli at 2025-07-07T10:42:17+02:00
BB 41459: WebRTC fails to build under mingw (Part 2)
- fixes required to build third_party/libwebrtc
- - - - -
0dc73aad by Marco Simonelli at 2025-07-07T10:42:17+02:00
BB 41459: WebRTC fails to build under mingw (Part 3)
- fixes required to build third_party/sipcc
- - - - -
e05cd334 by Marco Simonelli at 2025-07-07T10:42:18+02:00
BB 41459: WebRTC fails to build under mingw (Part 4)
- fixes requried to build netwerk/sctp
- - - - -
d4d8ee7b by Marco Simonelli at 2025-07-07T10:42:18+02:00
BB 41459: WebRTC fails to build under mingw (Part 5)
- fixes required to build dom/media/webrtc
- - - - -
c0ef136b by Marco Simonelli at 2025-07-07T10:42:18+02:00
BB 41459: WebRTC fails to build under mingw (Part 6)
- fixes required to build dom/media/systemservices
- - - - -
e02ed7b4 by june wilde at 2025-07-07T10:42:18+02:00
BB 42758: Fix WebRTC build errors.
- - - - -
32c82ee8 by Pier Angelo Vendrame at 2025-07-07T10:42:18+02:00
fixup! BB 42758: Fix WebRTC build errors.
MB 440: Change abseil's thread mode.
Remove pthread again and use win32 threads also when building with
mingw.
- - - - -
cb549f44 by hackademix at 2025-07-07T10:42:19+02:00
BB 41854: Allow overriding download spam protection.
- - - - -
2ed6a95c by hackademix at 2025-07-07T10:42:19+02:00
BB 42832: Download spam prevention exemption for browser extensions.
- - - - -
83c3f7ee by Pier Angelo Vendrame at 2025-07-07T10:42:19+02: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.
- - - - -
fa71c19b by hackademix at 2025-07-07T10:42:19+02:00
BB 42835: Create an actor to filter file data transfers
- - - - -
1e408cad by Beatriz Rizental at 2025-07-07T10:42:20+02:00
BB 42728: Modify ./mach lint to skip unused linters
- - - - -
8bd115a0 by Morgan at 2025-07-07T10:42:20+02:00
BB 43615: Add Gitlab Issue and Merge Request templates
- - - - -
535bc3f9 by Morgan at 2025-07-07T10:42:20+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add ~Emergency label and explicit optional Mullvad communication step
- - - - -
85dcb40e by Morgan at 2025-07-07T10:42:20+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
update target channels with esr140-15.0 and esr128-14.5
- - - - -
d2a7766a by Morgan at 2025-07-07T10:42:21+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add fingerprinting issue template
- - - - -
bb2e1c62 by Morgan at 2025-07-07T10:42:21+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
now instruct users to /request_review instead of /cc
- - - - -
d65018ad by Richard Pospesel at 2025-07-07T10:42:21+02:00
BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs
- - - - -
67fc89a0 by Henry Wilkes at 2025-07-07T10:42:21+02:00
BB 42305: Add script to combine translation files across versions.
- - - - -
67d9b022 by Henry Wilkes at 2025-07-07T10:42:22+02:00
fixup! BB 42305: Add script to combine translation files across versions.
TB 43891: Update the translation CI for the 15.0 cycle.
Handles non-esr branch/tag names. E.g. 140.0a1 rather than 140.0esr.
Allows legacy branch (13.5) to be more than 1.0 versions behind (15.0).
Disables `--depth` and `--filter` arguments when running outside the
gitlab CI. This makes the script safe to run locally for testing without
having to make any adjustments.
- - - - -
1f145640 by Beatriz Rizental at 2025-07-07T10:42:22+02:00
BB 43535: Enable tests
- - - - -
11fcb041 by Beatriz Rizental at 2025-07-07T10:42:22+02:00
Add CI for Base Browser
- - - - -
e8d2fa94 by Pier Angelo Vendrame at 2025-07-07T10:42:22+02: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
- - - - -
cb214a24 by Pier Angelo Vendrame at 2025-07-07T10:42:23+02: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.
- - - - -
ba282712 by Beatriz Rizental at 2025-07-07T10:42:23+02:00
fixup! Tweaks to the build system
Make it possible to provide MOZ_PKG_MAC_DSSTORE, MOZ_PKG_MAC_BACKGROUND,
MOZ_PKG_MAC_ICON as environment variables. These files are not where the
build system expects it.
In our build system these files are in
tor-browser-build/projects/browser/Bundle-Data/BaseBrowser.dmg while the
build system expects it to be in browser/branding/tb-*.
For ./mach package to work properly when building for macos we need
these locations. Passing them as env vars is fine for building artifacts
in tbb.
- - - - -
c9f51173 by Beatriz Rizental at 2025-07-07T10:42:23+02:00
fixup! Tweaks to the build system
Disable inclusion of browser/installer/windows into packaged development
artifacts. That file is not included by our builds -- at least not by
the ones done by tor-browser-build.
Attempting to zip the unexisting folder will crash `./mach package` when
building inside tor-browser-build.
- - - - -
eed497fc by Pier Angelo Vendrame at 2025-07-07T10:42:23+02:00
BB 29320: Replace the gnu target with gnullvm for Rust.
- - - - -
9230a667 by Pier Angelo Vendrame at 2025-07-07T10:42:23+02: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.
- - - - -
8147e71e by Pier Angelo Vendrame at 2025-07-07T10:42:24+02:00
BB 41108: Remove privileged macOS installation from 102
- - - - -
fd7a1c58 by Dan Ballard at 2025-07-07T10:42:24+02:00
BB 41149: Re-enable DLL injection protection in all builds not just nightlies
- - - - -
2ca65061 by Henry Wilkes at 2025-07-07T10:42:24+02:00
BB 43092: Disable wayland by default in Base Browser.
- - - - -
a55ebd47 by Matthew Finkel at 2025-07-07T10:42:24+02: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.
- - - - -
4b299333 by Matthew Finkel at 2025-07-07T10:42:25+02:00
BB 28125: Prevent non-Necko network connections
- - - - -
01da8a34 by Mike Perry at 2025-07-07T10:42:25+02: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
- - - - -
49ec5b3a by cypherpunks1 at 2025-07-07T10:42:25+02:00
BB 40717: Hide Windows SSO in settings
- - - - -
db8a4532 by Georg Koppen at 2025-07-07T10:42:25+02: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.
- - - - -
dd05f8d8 by Kathy Brade at 2025-07-07T10:42:26+02:00
BB 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
- - - - -
d738bd42 by Kathy Brade at 2025-07-07T10:42:26+02: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.
- - - - -
cd892053 by Alex Catarineu at 2025-07-07T10:42:26+02:00
BB 41457: Remove Mozilla permissions
Bug 40025: Remove Mozilla add-on install permissions
- - - - -
6bdd63fc by Kathy Brade at 2025-07-07T10:42:26+02: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.
- - - - -
121872f0 by Morgan at 2025-07-07T10:42:27+02:00
BB 42716: Disable unwanted about: pages
- - - - -
44dcaddf by Arthur Edelstein at 2025-07-07T10:42:27+02: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.
- - - - -
c6a8b0b1 by Alex Catarineu at 2025-07-07T10:42:27+02: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.
- - - - -
e448be8a by cypherpunks1 at 2025-07-07T10:42:27+02:00
BB 41092: Add a RemoteSettings JSON dump for query-stripping
- - - - -
3509b7a3 by cypherpunks1 at 2025-07-07T10:42:28+02:00
BB 42730: Patch RemoteSettings to use only local dumps as a data source
- - - - -
c0156843 by Pier Angelo Vendrame at 2025-07-07T10:42:28+02:00
BB 41635: Disable the Normandy component
Do not include Normandy at all whenever MOZ_NORMANDY is False.
- - - - -
de379786 by Georg Koppen at 2025-07-07T10:42:28+02:00
BB 30541: Disable WebGL readPixel() for web content
Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034
- - - - -
21610419 by Alex Catarineu at 2025-07-07T10:42:28+02:00
BB 28369: Stop shipping pingsender executable
- - - - -
d5221053 by Henry Wilkes at 2025-07-07T10:42:29+02:00
BB 42630: Disable LaterRun module.
- - - - -
0281637e by Pier Angelo Vendrame at 2025-07-07T10:42:29+02: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
- - - - -
6fb4ebad by Pier Angelo Vendrame at 2025-07-07T10:42:29+02: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".
- - - - -
2023dd85 by Richard Pospesel at 2025-07-07T10:42:29+02:00
BB 41327: Disable UrlbarProviderInterventions
- - - - -
c7df7397 by Richard Pospesel at 2025-07-07T10:42:29+02:00
BB 42037: Disable about:firefoxview page
- - - - -
e3fb953c by Mike Perry at 2025-07-07T10:42:30+02:00
Firefox preference overrides.
- - - - -
4913bb62 by hackademix at 2025-07-07T10:42:30+02:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
f3d24571 by Pier Angelo Vendrame at 2025-07-07T10:42:30+02: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.
- - - - -
0dc1e101 by Pier Angelo Vendrame at 2025-07-07T10:42:30+02:00
BB 41901: Hardcode normalized FontSubstitutes.
Windows has a system to set font aliases through the registry.
This allows some customization that could be used as a fingerprinting
vector.
Moreover, this mechanism is used by Windows itself, and different SKUs
might have different default FontSubstitutes.
- - - - -
7d455b6c by Pier Angelo Vendrame at 2025-07-07T10:42:31+02: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.
- - - - -
1c600106 by Alex Catarineu at 2025-07-07T10:42:31+02: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
- - - - -
29cdad47 by Pier Angelo Vendrame at 2025-07-07T10:42:31+02: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.
- - - - -
2d4d9e52 by Alex Catarineu at 2025-07-07T10:42:31+02:00
BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware
- - - - -
3d8f3d7f by Alex Catarineu at 2025-07-07T10:42:32+02:00
BB 26345: Hide tracking protection UI
- - - - -
62b95333 by Henry Wilkes at 2025-07-07T10:42:32+02:00
BB 43109: Hide Firefox Relay from settings.
This should remain disabled, see tor-browser#42814.
- - - - -
fb824a3d by Henry Wilkes at 2025-07-07T10:42:32+02: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.
- - - - -
e5516ed9 by Morgan at 2025-07-07T10:42:32+02:00
BB 42070: Hide "Use smooth scrolling" from settings
- - - - -
129f32ac by Arthur Edelstein at 2025-07-07T10:42:33+02:00
BB 18905: Hide unwanted items from help menu
Bug 25660: Remove the "New Private Window" option
- - - - -
0e327a91 by Pier Angelo Vendrame at 2025-07-07T10:42:33+02:00
BB 41739: Remove "Website appearance" from about:preferences.
It is ignored because of RFP and it is confusing for users.
- - - - -
78d3a475 by Henry Wilkes at 2025-07-07T10:42:33+02:00
BB 43117: Hide "Always underline links" from settings.
- - - - -
073f3572 by Pier Angelo Vendrame at 2025-07-07T10:42:33+02:00
BB 42774: Always hide the third-pary certs UI.
- - - - -
cdb7a592 by Henry Wilkes at 2025-07-07T10:42:33+02:00
BB 43118: Hide feature recommendation (CFR) settings.
- - - - -
c5fb6c13 by Pier Angelo Vendrame at 2025-07-07T10:42:34+02: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).
- - - - -
974e7684 by Pier Angelo Vendrame at 2025-07-07T10:42:34+02: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.
- - - - -
398df156 by Alex Catarineu at 2025-07-07T10:42:34+02:00
BB 27604: Fix addon issues when moving the profile directory
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838
- - - - -
9e67f008 by Mike Perry at 2025-07-07T10:42:34+02: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
- - - - -
001c35b5 by Pier Angelo Vendrame at 2025-07-07T10:42:35+02: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.
- - - - -
fee2b2a2 by Matthew Finkel at 2025-07-07T10:42:35+02:00
BB 40432: Prevent probing installed applications
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084
- - - - -
1c294fcd by Henry Wilkes at 2025-07-07T10:42:35+02:00
BB 29745: Limit remote access to content accessible resources
- - - - -
7e3420e0 by cypherpunks1 at 2025-07-07T10:42:35+02:00
BB 33955: When copying an image only copy the image contents to the clipboard
- - - - -
ea523229 by cypherpunks1 at 2025-07-07T10:42:36+02:00
BB 41791: Omit the source URL when copying page contents to the clipboard
- - - - -
d9584e98 by Pier Angelo Vendrame at 2025-07-07T10:42:36+02: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.
- - - - -
7f4ff72d by Pier Angelo Vendrame at 2025-07-07T10:42:36+02:00
Base Browser strings
This commit adds all the strings needed by following Base Browser
patches.
- - - - -
3a55c7b2 by Henry Wilkes at 2025-07-07T10:42:36+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
85e558ed by Henry Wilkes at 2025-07-07T10:42:37+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
d8ba4630 by Henry Wilkes at 2025-07-07T10:42:37+02:00
BB 42583: Modify moz-support-link for Base Browser.
- - - - -
dcb1d2f6 by Pier Angelo Vendrame at 2025-07-07T10:42:37+02: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.
- - - - -
ff6e9e63 by p13dz at 2025-07-07T10:42:37+02:00
BB 40283: Workaround for the file upload bug
- - - - -
af7fe237 by hackademix at 2025-07-07T10:42:37+02:00
BB 42019: Empty browser's clipboard on browser shutdown
- - - - -
9a88798f by hackademix at 2025-07-07T10:42:38+02:00
BB 42084: Ensure English spoofing works even if preferences are set out of order.
- - - - -
4a154702 by Pier Angelo Vendrame at 2025-07-07T10:42:38+02:00
BB 41930: Remove the UI to customize accept_languages.
- - - - -
0a33cbee by hackademix at 2025-07-07T10:42:38+02:00
BB 32308: Use direct browser sizing for letterboxing.
Bug 30556: align letterboxing with 200x100 new win width stepping
- - - - -
5167fe9f by hackademix at 2025-07-07T10:42:38+02:00
BB 41631: Prevent weird initial window dimensions caused by subpixel computations
- - - - -
79fc1917 by hackademix at 2025-07-07T10:42:39+02:00
BB 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
38c02b7f by Beatriz Rizental at 2025-07-07T10:42:39+02:00
fixup! BB 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
58369bec by hackademix at 2025-07-07T10:42:39+02:00
BB 41916: Letterboxing preferences UI
- - - - -
d6a951a4 by hackademix at 2025-07-07T10:42:39+02:00
BB 41695: Warn on window maximization without letterboxing in RFPHelper module
- - - - -
9cea560f by hackademix at 2025-07-07T10:42:40+02:00
BB 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
abf54c19 by hackademix at 2025-07-07T10:42:40+02:00
BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
- - - - -
ea3f3313 by Henry Wilkes at 2025-07-07T10:42:40+02:00
BB 42528: Don't leak system scrollbar size on windows.
- - - - -
af5a2250 by Henry Wilkes at 2025-07-07T10:42:40+02:00
BB 31575: Disable Firefox Home (Activity Stream)
Treat about:blank as the default home page and new tab page.
Avoid loading AboutNewTab in BrowserGlue.sys.mjs in order
to avoid several network requests that we do not need.
Bug 41624: Disable about:pocket-* pages.
Bug 40144: Redirect about:privatebrowsing to the user's home
- - - - -
6d7e21d5 by Kathy Brade at 2025-07-07T10:42:41+02: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.
- - - - -
c2838ff9 by Pier Angelo Vendrame at 2025-07-07T10:42:41+02:00
BB 42061: Create an alpha update channel.
- - - - -
5f126857 by Nicolas Vigier at 2025-07-07T10:42:41+02:00
BB 41682: Add base-browser nightly mar signing key
- - - - -
61a3f708 by Pier Angelo Vendrame at 2025-07-07T10:42:41+02: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/.
- - - - -
22260ca5 by Pier Angelo Vendrame at 2025-07-07T10:42:41+02: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.
- - - - -
d932fc58 by Alex Catarineu at 2025-07-07T10:42:42+02:00
BB 40069: Add helpers for message passing with extensions
- - - - -
0a90ce66 by Henry Wilkes at 2025-07-07T10:42:42+02:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
8f3da663 by Matthew Finkel at 2025-07-07T10:42:42+02:00
BB 41598: Prevent NoScript from being removed/disabled.
Bug 40253: Explicitly allow NoScript in Private Browsing mode.
- - - - -
20fa2dbf by Henry Wilkes at 2025-07-07T10:42:42+02: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).
- - - - -
aa760856 by hackademix at 2025-07-07T10:42:43+02:00
BB 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons
- - - - -
748cfc72 by Pier Angelo Vendrame at 2025-07-07T10:42:43+02: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
- - - - -
9ee7921e by Henry Wilkes at 2025-07-07T10:42:43+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
a972f6ed by Henry Wilkes at 2025-07-07T10:42:43+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
021c1ce5 by Pier Angelo Vendrame at 2025-07-07T10:42:44+02:00
fixup! BB 40925: Implemented the Security Level component
Restore the resource:// URL for SecurityLevel.sys.mjs.
- - - - -
452ed459 by Pier Angelo Vendrame at 2025-07-07T10:42:44+02:00
BB 40926: Implemented the New Identity feature
- - - - -
73ee1ff9 by Henry Wilkes at 2025-07-07T10:42:44+02:00
BB 41736: Customize toolbar for base-browser.
- - - - -
dd497cbb by Pier Angelo Vendrame at 2025-07-07T10:42:44+02:00
BB 42027: Base Browser migration procedures.
This commit implmenents the the Base Browser's version of _migrateUI.
- - - - -
66731be8 by Henry Wilkes at 2025-07-07T10:42:45+02:00
TB 42308: Create README for tor-browser.
We drop the README.txt that comes from Mozilla Firefox and add README.md
for tor-browser.
- - - - -
99eaf690 by Morgan at 2025-07-07T10:42:45+02:00
TB 43616: Customize Gitlab Issue and Merge Request templates
- - - - -
106b512d by Beatriz Rizental at 2025-07-07T10:42:45+02:00
Add CI for Tor Browser
- - - - -
e944a684 by Richard Pospesel at 2025-07-07T10:42:45+02:00
TB 41089: Add tor-browser build scripts + Makefile to tor-browser
- - - - -
fdc1e24b by Henry Wilkes at 2025-07-07T10:42:46+02:00
TB 41803: Add some developer tools for working on tor-browser.
- - - - -
8b897f6a by Alex Catarineu at 2025-07-07T10:42:46+02:00
Add TorStrings module for localization
- - - - -
eb7d5d3f by Henry Wilkes at 2025-07-07T10:42:46+02:00
Tor Browser strings
This commit adds all the strings needed for Tor Browser patches.
- - - - -
7fa23f6d by Henry Wilkes at 2025-07-07T10:42:46+02:00
Tor Browser localization migration scripts.
- - - - -
045c7938 by Mike Perry at 2025-07-07T10:42:47+02:00
TB 2176: Rebrand Firefox to TorBrowser
See also Bugs #5194, #7187, #8115, #8219.
This patch does some basic renaming of Firefox to TorBrowser. The rest of the
branding is done by images and icons.
Also fix bug 27905.
Bug 25702: Update Tor Browser icon to follow design guidelines
- Updated all of the branding in /browser/branding/official with new 'stable'
icon series.
- Updated /extensions/onboarding/content/img/tor-watermark.png with new icon and
add the source svg in the same directory
- Copied /browser/branding/official over /browser/branding/nightly and the new
/browser/branding/alpha directories. Replaced content with 'nightly' and
'alpha' icon series.
Updated VisualElements_70.png and VisualElements_150.png with updated icons in
each branding directory (fixes #22654)
- Updated firefox.VisualElementsManfiest.xml with updated colors in each
branding directory
- Added firefox.svg to each branding directory from which all the other icons
are derived (apart from document.icns and document.ico)
- Added default256.png and default512.png icons
- Updated aboutTBUpdate.css to point to branding-aware icon128.png and removed
original icon
- Use the Tor Browser icon within devtools/client/themes/images/.
Bug 30631: Blurry Tor Browser icon on macOS app switcher
It would seem the png2icns tool does not generate correct icns files and
so on macOS the larger icons were missing resulting in blurry icons in
the OS chrome. Regenerated the padded icons in a macOS VM using
iconutil.
Bug 28196: preparations for using torbutton tor-browser-brand.ftl
A small change to Fluent FileSource class is required so that we
can register a new source without its supported locales being
counted as available locales for the browser.
Bug 31803: Replaced about:debugging logo with flat version
Bug 21724: Make Firefox and Tor Browser distinct macOS apps
When macOS opens a document or selects a default browser, it sometimes
uses the CFBundleSignature. Changing from the Firefox MOZB signature to
a different signature TORB allows macOS to distinguish between Firefox
and Tor Browser.
Bug 32092: Fix Tor Browser Support link in preferences
For bug 40562, we moved onionPattern* from bug 27476 to here, as
about:tor needs these files but it is included earlier.
Bug 41278: Create Tor Browser styled pdf logo similar to the vanilla Firefox one
Bug 42088: New application icons (used in-app and on linux).
Bug 42087: New application icons (windows).
- - - - -
0c9ecace by Pier Angelo Vendrame at 2025-07-07T10:42:47+02:00
fixup! TB 2176: Rebrand Firefox to TorBrowser
TB 43855: Set Android branding for l10n merging.
- - - - -
d1614c12 by Henry Wilkes at 2025-07-07T10:42:47+02:00
Customize moz-toggle for tor-browser.
- - - - -
20eed264 by Henry Wilkes at 2025-07-07T10:42:47+02:00
TB 43087: Add onion-pattern to be used on Tor pages.
- - - - -
6557e3ac by hackademix at 2025-07-07T10:42:47+02:00
TB 41917: Tor brand-specific styles.
- - - - -
d91f0c9e by Henry Wilkes at 2025-07-07T10:42:48+02:00
TB 41817: tor-browser semantic colors.
- - - - -
5695f68e by Henry Wilkes at 2025-07-07T10:42:48+02:00
TB 42110: Add TorUIUtils module for common tor component methods.
- - - - -
8b01d4fd by Henry Wilkes at 2025-07-07T10:42:48+02:00
Add purple tor version of the loading APNG.
- - - - -
20acdb3f by Henry Wilkes at 2025-07-07T10:42:48+02:00
TB 42583: Modify moz-support-link for Tor Browser.
- - - - -
f1a8018f by sanketh at 2025-07-07T10:42:49+02:00
TB 40209: Implement Basic Crypto Safety
Adds a CryptoSafety actor which detects when you've copied a crypto
address from a HTTP webpage and shows a warning.
Closes #40209.
Bug 40428: Fix string attribute names
- - - - -
dae994c7 by Mike Perry at 2025-07-07T10:42:49+02:00
TB3: Tor Browser's official .mozconfigs.
Also:
Add an --enable-tor-browser-data-outside-app-dir configure option
Add --with-tor-browser-version configure option
Bug 31457: disable per-installation profiles
The dedicated profiles (per-installation) feature does not interact
well with our bundled profiles on Linux and Windows, and it also causes
multiple profiles to be created on macOS under TorBrowser-Data.
Bug 31935: Disable profile downgrade protection.
Since Tor Browser does not support more than one profile, disable
the prompt and associated code that offers to create one when a
version downgrade situation is detected.
Add --enable-tor-browser-update build option
Bug 40793: moved Tor configuration options from old-configure.in to moz.configure
Bug 41584: Move some configuration options to base-browser level
- - - - -
ff22d57d by Henry Wilkes at 2025-07-07T10:42:49+02:00
TB 41340: Enable TOR_BROWSER_NIGHTLY_BUILD features for dev and nightly builds
tor-browser#41285: Enable fluent warnings.
- - - - -
f8ec956a by Pier Angelo Vendrame at 2025-07-07T10:42:49+02:00
TB 40562: Added Tor Browser preferences to 000-tor-browser.js
Before reordering patches, we used to keep the Tor-related patches
(torbutton and tor-launcher) at the beginning.
After that issue, we decided to move them towards the end.
In addition to that, we have decided to move Tor Browser-only
preferences there, too, to make Base Browser-only fixups easier to
apply.
- - - - -
ac4731a9 by Morgan at 2025-07-07T10:42:50+02:00
fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js
use netlify for moat's domain fronting
- - - - -
ca85e0e4 by Pier Angelo Vendrame at 2025-07-07T10:42:50+02:00
TB 13252: Customize profile management on macOS
On macOS we allow both portable mode and system installation.
However, in the latter case, we customize Firefox's directories to
match the hierarchy we use for the portable mode.
Also, display an informative error message if the TorBrowser-Data
directory cannot be created due to an "access denied" or a
"read only volume" error.
- - - - -
bb63d0e7 by Pier Angelo Vendrame at 2025-07-07T10:42:50+02:00
TB 40933: Add tor-launcher functionality
Bug 41926: Reimplement the control port
- - - - -
70944200 by Henry Wilkes at 2025-07-07T10:42:50+02:00
fixup! TB 40933: Add tor-launcher functionality
TB 43636: Distinguish between bootstrap errors and TorProvider
initialisation errors.
- - - - -
c2e686a0 by Henry Wilkes at 2025-07-07T10:42:51+02:00
fixup! TB 40933: Add tor-launcher functionality
TB 43577: Do not try and flush settings to torrc on android.
- - - - -
ba63d8ac by Cecylia Bocovich at 2025-07-07T10:42:51+02:00
Lox integration
- - - - -
c72a73b9 by Richard Pospesel at 2025-07-07T10:42:51+02:00
TB 40597: Implement TorSettings module
- migrated in-page settings read/write implementation from about:preferences#tor
to the TorSettings module
- TorSettings initially loads settings from the tor daemon, and saves them to
firefox prefs
- TorSettings notifies observers when a setting has changed; currently only
QuickStart notification is implemented for parity with previous preference
notify logic in about:torconnect and about:preferences#tor
- about:preferences#tor, and about:torconnect now read and write settings
thorugh the TorSettings module
- all tor settings live in the torbrowser.settings.* preference branch
- removed unused pref modify permission for about:torconnect content page from
AsyncPrefs.jsm
Bug 40645: Migrate Moat APIs to Moat.jsm module
- - - - -
ae1cca0e by Henry Wilkes at 2025-07-07T10:42:51+02:00
fixup! TB 40597: Implement TorSettings module
TB 43636: Move to the Start stage when a bootstrap fails due to a
TorProvider initialisation error.
- - - - -
40204c7d by Henry Wilkes at 2025-07-07T10:42:51+02:00
fixup! TB 40597: Implement TorSettings module
TB 43853: Use setByteStringData instead of setData.
- - - - -
09b6c337 by Arthur Edelstein at 2025-07-07T10:42:52+02:00
TB 3455: Add DomainIsolator, for isolating circuit by domain.
Add an XPCOM component that registers a ProtocolProxyChannelFilter
which sets the username/password for each web request according to
url bar domain.
Bug 9442: Add New Circuit button
Bug 13766: Set a 10 minute circuit dirty timeout for the catch-all circ.
Bug 19206: Include a 128 bit random tag as part of the domain isolator nonce.
Bug 19206: Clear out the domain isolator state on `New Identity`.
Bug 21201.2: Isolate by firstPartyDomain from OriginAttributes
Bug 21745: Fix handling of catch-all circuit
Bug 41741: Refactor the domain isolator and new circuit
- - - - -
56e34cf4 by Henry Wilkes at 2025-07-07T10:42:52+02:00
TB 41600: Add a tor circuit display panel.
- - - - -
0e6ea0fc by Pier Angelo Vendrame at 2025-07-07T10:42:52+02:00
TB 42247: Android helpers for the TorProvider
GeckoView is missing some API we use on desktop for the integration
with the tor daemon, such as subprocess.
Therefore, we need to implement them in Java and plumb the data
back and forth between JS and Java.
- - - - -
3b69c5a6 by hackademix at 2025-07-07T10:42:52+02:00
TB 8324: Prevent DNS proxy bypasses caused by Drag&Drop
Bug 41613: Skip Drang & Drop filtering for DNS-safe URLs
- - - - -
ebef8754 by Matthew Finkel at 2025-07-07T10:42:53+02:00
TB 25741: TBA: Disable GeckoNetworkManager
The browser should not need information related to the network
interface or network state, tor should take care of that.
- - - - -
3c2510b1 by Pier Angelo Vendrame at 2025-07-07T10:42:53+02:00
TB 40807: Added QRCode.js to toolkit/modules
- - - - -
63bd2a77 by Richard Pospesel at 2025-07-07T10:42:53+02:00
TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
This patch adds a new about:preferences#connection page which allows
modifying bridge, proxy, and firewall settings from within Tor Browser.
All of the functionality present in tor-launcher's Network
Configuration panel is present:
- Setting built-in bridges
- Requesting bridges from BridgeDB via moat
- Using user-provided bridges
- Configuring SOCKS4, SOCKS5, and HTTP/HTTPS proxies
- Setting firewall ports
- Viewing and Copying Tor's logs
- The Networking Settings in General preferences has been removed
Bug 40774: Update about:preferences page to match new UI designs
- - - - -
0e9d3ff2 by Richard Pospesel at 2025-07-07T10:42:53+02:00
TB 27476: Implement about:torconnect captive portal within Tor Browser
- implements new about:torconnect page as tor-launcher replacement
- adds new torconnect component to browser
- tor process management functionality remains implemented in tor-launcher through the TorProtocolService module
- adds warning/error box to about:preferences#tor when not connected to tor
Bug 40773: Update the about:torconnect frontend page to match additional UI flows.
Bug 41608: Add a toolbar status button and a urlbar "Connect" button.
- - - - -
76578e7e by Pier Angelo Vendrame at 2025-07-07T10:42:54+02:00
Temporary changes to about:torconnect for Android.
We are planning of tempoorarily using about:torconnect on Android, until
the native UX is ready.
- - - - -
5a288b3a by Henry Wilkes at 2025-07-07T10:42:54+02:00
TB 43405: Show a prompt whenever we fail to apply Tor settings.
- - - - -
2d151d07 by Henry Wilkes at 2025-07-07T10:42:54+02:00
TB 7494: Create local home page for TBB.
Bug 41333: Update about:tor to new design. Including:
+ make the favicon match the branding icon.
+ make the location bar show a search icon.
- - - - -
8403b7a9 by Pier Angelo Vendrame at 2025-07-07T10:42:54+02:00
TB 41668: Tweaks to the Base Browser updater for Tor Browser
This commit was once part of "Bug 4234: Use the Firefox Update Process
for Tor Browser.".
However, some parts of it were not needed for Base Browser and some
derivative browsers.
Therefore, we extracted from that commit the parts for Tor Browser
legacy, and we add them back to the patch set with this commit.
- - - - -
462d9bc0 by Kathy Brade at 2025-07-07T10:42:55+02:00
TB 12647: Support symlinks in the updater.
- - - - -
2c95b80d by Georg Koppen at 2025-07-07T10:42:55+02:00
TB 32658: Create a new MAR signing key
It's time for our rotation again: Move the backup key in the front
position and add a new backup key.
Bug 33803: Move our primary nightly MAR signing key to tor-browser
Bug 33803: Add a secondary nightly MAR signing key
- - - - -
09da1cb0 by Pier Angelo Vendrame at 2025-07-07T10:42:55+02:00
TB 42891: Set the bundled search engine for Tor Browser.
After upstream changes between Firefox 115 and 128, we had to
completely rework the way in which we define our search engines.
This commit replaces the old "Omnibox: Add DDG, Startpage, Disconnect,
Youtube, Twitter; remove Amazon, eBay, bing".
With that commit, we customized a list of addons IDs to ship as
built-in search engines, but then upsteam moved to using only
RemoteSettings.
The configuration has many more fields, and it would be quite long to
include it in the source code. Therefore, we use some local JSON files
and load the settings from them.
- - - - -
f444e266 by Pier Angelo Vendrame at 2025-07-07T10:42:55+02:00
fixup! TB 42891: Set the bundled search engine for Tor Browser.
TB 43728: Update our custom icon fetching code.
Upstream added the possibility to have search engine icons in various
size, so we needed to update our code for getting search engines.
- - - - -
559d08ae by Henry Wilkes at 2025-07-07T10:42:56+02:00
TB 41906: Hide DNS over HTTPS preferences.
- - - - -
a4bc3097 by Richard Pospesel at 2025-07-07T10:42:56+02:00
TB 23247: Communicating security expectations for .onion
Encrypting pages hosted on Onion Services with SSL/TLS is redundant
(in terms of hiding content) as all traffic within the Tor network is
already fully encrypted. Therefore, serving HTTP pages from an Onion
Service is more or less fine.
Prior to this patch, Tor Browser would mostly treat pages delivered
via Onion Services as well as pages delivered in the ordinary fashion
over the internet in the same way. This created some inconsistencies
in behaviour and misinformation presented to the user relating to the
security of pages delivered via Onion Services:
- HTTP Onion Service pages did not have any 'lock' icon indicating
the site was secure
- HTTP Onion Service pages would be marked as unencrypted in the Page
Info screen
- Mixed-mode content restrictions did not apply to HTTP Onion Service
pages embedding Non-Onion HTTP content
This patch fixes the above issues, and also adds several new 'Onion'
icons to the mix to indicate all of the various permutations of Onion
Services hosted HTTP or HTTPS pages with HTTP or HTTPS content.
Strings for Onion Service Page Info page are pulled from Torbutton's
localization strings.
- - - - -
06113e49 by Kathy Brade at 2025-07-07T10:42:56+02:00
TB 30237: Add v3 onion services client authentication prompt
When Tor informs the browser that client authentication is needed,
temporarily load about:blank instead of about:neterror and prompt
for the user's key.
If a correctly formatted key is entered, use Tor's ONION_CLIENT_AUTH_ADD
control port command to add the key (via Torbutton's control port
module) and reload the page.
If the user cancels the prompt, display the standard about:neterror
"Unable to connect" page. This requires a small change to
browser/actors/NetErrorChild.jsm to account for the fact that the
docShell no longer has the failedChannel information. The failedChannel
is used to extract TLS-related error info, which is not applicable
in the case of a canceled .onion authentication prompt.
Add a leaveOpen option to PopupNotifications.show so we can display
error messages within the popup notification doorhanger without
closing the prompt.
Add support for onion services strings to the TorStrings module.
Add support for Tor extended SOCKS errors (Tor proposal 304) to the
socket transport and SOCKS layers. Improved display of all of these
errors will be implemented as part of bug 30025.
Also fixes bug 19757:
Add a "Remember this key" checkbox to the client auth prompt.
Add an "Onion Services Authentication" section within the
about:preferences "Privacy & Security section" to allow
viewing and removal of v3 onion client auth keys that have
been stored on disk.
Also fixes bug 19251: use enhanced error pages for onion service errors.
- - - - -
2a6da86d by Alex Catarineu at 2025-07-07T10:42:56+02:00
TB 21952: Implement Onion-Location
Whenever a valid Onion-Location HTTP header (or corresponding HTML
<meta> http-equiv attribute) is found in a document load, we either
redirect to it (if the user opted-in via preference) or notify the
presence of an onionsite alternative with a badge in the urlbar.
- - - - -
2b189318 by Pier Angelo Vendrame at 2025-07-07T10:42:57+02:00
TB 40458: Implement .tor.onion aliases
We have enabled HTTPS-Only mode, therefore we do not need
HTTPS-Everywhere anymore.
However, we want to keep supporting .tor.onion aliases (especially for
securedrop).
Therefore, in this patch we implemented the parsing of HTTPS-Everywhere
rulesets, and the redirect of .tor.onion domains.
Actually, Tor Browser believes they are actual domains. We change them
on the fly on the SOCKS proxy requests to resolve the domain, and on
the code that verifies HTTPS certificates.
- - - - -
2d37d2ec by Pier Angelo Vendrame at 2025-07-07T10:42:57+02:00
TB 11698: Incorporate Tor Browser Manual pages into Tor Browser
This patch associates the about:manual page to a translated page that
must be injected to browser/omni.ja after the build.
The content must be placed in chrome/browser/content/browser/manual/, so
that is then available at chrome://browser/content/manual/.
We preferred giving absolute freedom to the web team, rather than having
to change the patch in case of changes on the documentation.
- - - - -
f3ab3fbf by Pier Angelo Vendrame at 2025-07-07T10:42:57+02:00
TB 41435: Add a Tor Browser migration function
For now this function only deletes old language packs for which we are
already packaging the strings with the application.
- - - - -
7ea27e6d by Dan Ballard at 2025-07-07T10:42:57+02:00
TB 40701: Add security warning when downloading a file
Shown in the downloads panel, about:downloads and places.xhtml.
- - - - -
92e1f2f3 by Henry Wilkes at 2025-07-07T10:42:58+02:00
TB 41736: Customize toolbar for tor-browser.
- - - - -
d4dbb3c1 by hackademix at 2025-07-07T10:42:58+02:00
TB 41728: Pin bridges.torproject.org domains to Let's Encrypt's root cert public key
- - - - -
ac923e2e by Richard Pospesel at 2025-07-07T10:42:58+02:00
TB 41822: Unconditionally disable default browser UX in about:preferences
- - - - -
6825f756 by Cecylia Bocovich at 2025-07-07T10:42:58+02:00
Temporary commit: manually place generated wasm files
These files are built reproducibly using tor-browser-build: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_re…
We're manually adding them here while working on the interface, but
eventually these should be placed in the right location using
tor-browser-build.
- - - - -
f158eb49 by Pier Angelo Vendrame at 2025-07-07T10:42:58+02:00
[android] TBA strings
- - - - -
4bcc7256 by clairehurst at 2025-07-07T10:42:59+02:00
fixup! [android] TBA strings
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
1793c2b7 by Dan Ballard at 2025-07-07T10:42:59+02:00
TB 42660: Disable ProxySelector.openConnectionWithProxy and NOPify CrashReporter.sendCrashReport
- - - - -
9d51b2c2 by Dan Ballard at 2025-07-07T10:42:59+02:00
TB 43006: Disable RFP for Font Visibility on Android
- - - - -
5796dd02 by Matthew Finkel at 2025-07-07T10:42:59+02:00
TB 40005: [android] Modify Default toolbar menu
Originally android-components#40005.
- - - - -
7c67e27f by Alex Catarineu at 2025-07-07T10:43:00+02:00
TB 34378: [android] Port external helper app prompting
Together with the corresponding fenix patch, this allows all `startActivity`
that may open external apps to be replaced by `TorUtils.startActivityPrompt`.
Originally, android-components#40007 and fenix#34378.
- - - - -
ebbe358f by Alex Catarineu at 2025-07-07T10:43:00+02:00
TB 40002: [android] Ensure system download manager is not used
Originally, android-components#40002.
android-components#40075: Support scoped storage to enable downloads on API < 29
- in android-components!7, we blocked all usage of Scoped
Storage in an attempt to block usage of Android's
DownloadManager, which is known to cause proxy bypasses
- as of Android API 29, downloads will not work without Scoped Storage,
causing all downlaods to fail (see: fenix##40192)
- here, we enable usage of scoped storage for API >= 29, but block
calls to DownloadManager on API < 29
- - - - -
7a8a7ebd by Alex Catarineu at 2025-07-07T10:43:00+02:00
TB 40009: [android] Change the default search engines
Originally, android-components#40009.
This matches the search engines from desktop, that is:
DDG as the default, then YouTube, Google, DDGOnion,
Startpage, Twitter, Wikipedia and Yahoo.
android-components#40062: Update DuckDuckGo onion search plugin
- - - - -
f3cb6534 by hackademix at 2025-07-07T10:43:00+02:00
TB 42191: [android] Temporary StrictMode relaxation to clear the thumbnail cache.
- - - - -
1245c3de by hackademix at 2025-07-07T10:43:01+02:00
[android] Modify add-on support
Bug 41160: One-time ultimate switch Tor Browser Android to HTTPS-Only.
Bug 41159: Remove HTTPS-Everywhere extension from Tor Browser Android.
Bug 41094: Enable HTTPS-Only Mode by default in Tor Browser Android.
Turn shouldUseHttpsOnly's default to true.
Bug 40225: Bundled extensions don't get updated with Android Tor
Browser updates.
Bug 40030: Install NoScript addon on startup.
Also 40070: Consider storing the list of recommended addons
This implements our own AddonsProvider, which loads the list of
available addons from assets instead of fetching it from an
endpoint.
Also, we hide the uninstall button for builtin addons.
Bug 40058: Hide option for disallowing addon in private mode
- - - - -
073c55c6 by Alex Catarineu at 2025-07-07T10:43:01+02:00
[android] Modify Addon support
android-components#40011: Hide option for disallowing addons in private mode
android-components#40016: Allow inheriting from AddonCollectionProvider
This will allow implementing our own AddonsProvider in fenix.
- - - - -
b1516800 by Alex Catarineu at 2025-07-07T10:43:01+02:00
TB 40015: [android] Port padlock states for .onion services
Originally, android-components#40015.
- - - - -
2b9b9927 by Matthew Finkel at 2025-07-07T10:43:01+02:00
[android] Modify Tracking Protection configuration
android-components#40020: Disable third-party cookies
android-components#40024: Disable tracking protection by default
- - - - -
6924e90e by Matthew Finkel at 2025-07-07T10:43:02+02:00
TB 40023: [android] Stop PrivateNotificationService
Originally, android-components#40023.
- - - - -
1c21f3cd by Alex Catarineu at 2025-07-07T10:43:02+02:00
TB 34439 [android]: Isolate Icon loader on Android.
Originally, android-components#34439.
- - - - -
409cd38a by Matthew Finkel at 2025-07-07T10:43:02+02:00
[android] Disable features and functionality
Bug 33594: Disable data collection by default (Glean)
Bug 40019: Adjust is disabled on Release when data collection is disabled
Bug 34338: Disable the crash reporter
Bug 40014: Neuter Google Advertising ID
Bug 40018: Disable Push service
Bug 40034: Disable PWA onboading
Bug 40072: Disable Tracking Protection
Bug 40061: Do not show "Send to device" in sharing menu
Bug 40109: Reduce requested permissions
Exclude LOCATION and NETWORK_STATE
- - - - -
4d8adefe by Matthew Finkel at 2025-07-07T10:43:02+02:00
TB 40032 [android]: Set usesCleartextTraffic as false
Originally, fenix#40032.
- - - - -
d7316b8a by Matthew Finkel at 2025-07-07T10:43:03+02:00
[android] Rename as Tor Browser
Bug 40020: Change applicationId
Bug 40020: Change app name
Bug 40020: Change deeplink scheme
Bug 40020: Change App icons
Bug 40073: Use correct branding on About page
Bug 40088: Use Tor Browser logo in migration screen
- - - - -
3107a16a by Georg Koppen at 2025-07-07T10:43:03+02:00
[android] Modify build system
Bug 40083: Make locale ordering in BuildConfig deterministic
Bug 40042: Add option do overwrite timestamp in extension version
Bug 40059: Use MOZ_BUILD_DATE for versionCode
At the same time we adapt MOZ_BUILD_DATE to our needs where it is
actually used and not in tor-browser-build. This gives us more
flexibility. See: tor-browser-build#40084.
Bug 40067: Fix reproducibility issue in classes2.dex
We make sure our MOZ_BUILD_DATE gets used as a source for showing date
related information on the Fenix about page.
Bug 40071: Show only supported locales
Bug 40064: Use Gecko Beta for Nightly and Debug variants
Bug 40123: Allow building the instrumented tests apks for variants other than debug
This allows to specify the variant of the instrumented tests via
a `testBuildType` gradle argument. It also applies a workaround for
a R8 issue from https://issuetracker.google.com/issues/140851070.
Bug 40143: Use deterministic date in Test apk
The build config was using Date() when generating the Test apk's
versionName.
- - - - -
e980f5b2 by Dan Ballard at 2025-07-07T10:43:03+02:00
fixup! [android] Modify build system
Bug 43809: allow tba-fetch-deps to download from nightlies
- - - - -
de7a6c05 by Matthew Finkel at 2025-07-07T10:43:03+02:00
TB 40185: [android] Use NimbusDisabled
Originally, fenix#40185.
- - - - -
4cf8be72 by Beatriz Rizental at 2025-07-09T21:51:03+02:00
Revert "TB 40185: [android] Use NimbusDisabled"
This reverts commit c98c78c527f11856aab9f7e16ff503f267e665e2.
- - - - -
d7c423e6 by Beatriz Rizental at 2025-07-09T21:51:03+02:00
[android] Override settings
- - - - -
b05c55b0 by Beatriz Rizental at 2025-07-09T21:51:04+02:00
fixup! [android] Override settings
Disable the tab-strip experiment for all channels. Having this
experiment enabled overrides the toolbar position to always be on the
top, which we don't want.
- - - - -
ec93fbcf by Alex Catarineu at 2025-07-09T21:51:04+02:00
TB 40087 [android]: Implement a switch for spoof English.
Originally, fenix#40087 and android-components#40019.
- - - - -
470b6c73 by Matthew Finkel at 2025-07-09T21:51:04+02:00
TB 34403 [android]: Disable Normal mode by default.
Originally, fenix#34403.
- - - - -
b3156192 by Matthew Finkel at 2025-07-09T21:51:04+02:00
TB 40016 [android]: Don't install WebCompat webext.
Originally, fenix#40016.
- - - - -
fcb09370 by Matthew Finkel at 2025-07-09T21:51:05+02:00
[android] Modify UI/UX
Bug 40015: Modify Home menu
Bug 40016: Hide unwanted Settings
Bug 40016: Modify Default toolbar menu
Bug 40016: Add Donate settings button
Bug 40016: Move Allow Screenshots under Advanced
Bug 40016: Don't install WebCompat webext
Bug 40016: Don't onboard Search Suggestions
Bug 40094: Do not use MasterPasswordTipProvider in HomeFragment
Bug 40095: Hide "Sign in to sync" in bookmarks
Bug 40031: Hide Mozilla-specific items on About page
Bug 40063: Do not sort search engines alphabetically
Bug 40141: Hide EME site permission
Bug 40166: Hide "Normal" tab (again) and Sync tab in TabTray
Bug 40167: Hide "Save to Collection" in menu
Bug 40172: Find the Quit button
Bug 40186: Hide Credit Cards in Settings
Bug 40198: Spoof English toggle now overlaps with locale list
- - - - -
ae59b254 by Matthew Finkel at 2025-07-09T21:51:05+02:00
TB 40026 [android]: Implement Security Level settings on Android.
Originally, fenix#40026.
- - - - -
31401f2d by Henry Wilkes at 2025-07-09T21:51:05+02:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43783: Expose SecurityLevelPrefs.setSecurityLevelAndRestart to
android integration.
- - - - -
7f48d8ce by clairehurst at 2025-07-09T21:51:05+02:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
1739c7a0 by Pier Angelo Vendrame at 2025-07-09T21:51:06+02:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43856 (workaround): allow a deprecated call.
- - - - -
aa9c86f3 by Dan Ballard at 2025-07-09T21:51:06+02:00
TB 41972: [android] Disable Mozilla onboarding
- - - - -
dbf8d73f by Dan Ballard at 2025-07-09T21:51:06+02:00
TB 41878: [android] Add standalone Tor Bootstrap
- - - - -
afed3b69 by Matthew Finkel at 2025-07-09T21:51:06+02:00
TB 40041 [android]: Implement Tor Network Settings
Originally, fenix#40041.
- - - - -
776d0259 by clairehurst at 2025-07-09T21:51:07+02:00
[android] Implement Android-native Connection Assist UI
- - - - -
f709f5df by clairehurst at 2025-07-09T21:51:07+02:00
fixup! [android] Implement Android-native Connection Assist UI
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
fa64ccbf by clairehurst at 2025-07-09T21:51:07+02:00
TB 42655 [android]: Implement "New circuit for this site" on Android
- - - - -
40eaf3d6 by clairehurst at 2025-07-09T21:51:07+02:00
TB 42089: [android] Remove ability to submit site support requests
- - - - -
5632b9c2 by clairehurst at 2025-07-09T21:51:08+02:00
[android] Delete unused media
- - - - -
d6db13d2 by Beatriz Rizental at 2025-07-09T21:51:08+02:00
TB 43243: [android] Implement Android launch test
Also remove exit call from terminate function.
It causes all espresso tests to crash on exit and otherwise doesn't do anything.
- - - - -
066e0d83 by Beatriz Rizental at 2025-07-09T21:51:08+02:00
TB 42669: [android] Use custom no-op app-services
Fetch the custom built no-op application services library
from tor-browser-build when building for Android.
- - - - -
09c1703d by Dan Ballard at 2025-07-09T21:51:08+02:00
fixup! TB 42669: [android] Use custom no-op app-services
Bug 43809: allow tba-fetch-deps to download nightlies
- - - - -
cf77e93b by Beatriz Rizental at 2025-07-09T21:51:09+02:00
fixup! TB 42669: [android] Use custom no-op app-services
- - - - -
53b031c4 by Dan Ballard at 2025-07-09T21:51:09+02:00
fixup! TB 42669: [android] Use custom no-op app-services
Fix application-services detection in tba-fetch-deps
- - - - -
a7e8b0c3 by Beatriz Rizental at 2025-07-09T21:51:09+02:00
Various Android workarounds
- - - - -
1825 changed files:
- .gitignore
- + .gitlab-ci.yml
- + .gitlab/ci/containers/base/Containerfile
- + .gitlab/ci/jobs/lint/helpers.py
- + .gitlab/ci/jobs/lint/lint.yml
- + .gitlab/ci/jobs/startup-test/startup-test-android.py
- + .gitlab/ci/jobs/startup-test/startup-test.py
- + .gitlab/ci/jobs/startup-test/startup-test.yml
- + .gitlab/ci/jobs/update-containers.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/050 Backport.md
- + .gitlab/issue_templates/060 Rebase - Alpha.md
- + .gitlab/issue_templates/061 Rebase - Stable.md
- + .gitlab/issue_templates/062 Rebase - Legacy.md
- + .gitlab/issue_templates/063 Rebase - Rapid.md
- + .gitlab/issue_templates/070 Uplift.md
- + .gitlab/issue_templates/080 Security Backports.md
- + .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/100 Release QA - Desktop.md
- + .gitlab/issue_templates/101 Release QA - Android.md
- + .gitlab/issue_templates/110 Bugzilla Triage.md
- + .gitlab/issue_templates/120 Bugzilla Audit.md
- + .gitlab/issue_templates/Default.md
- + .gitlab/merge_request_templates/Default.md
- .prettierignore
- README.md
- + browser/actors/CryptoSafetyChild.sys.mjs
- + browser/actors/CryptoSafetyParent.sys.mjs
- 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/000-tor-browser.js
- + browser/app/profile/001-base-profile.js
- browser/app/profile/firefox.js
- browser/base/content/aboutDialog-appUpdater.js
- browser/base/content/aboutDialog.js
- browser/base/content/aboutDialog.xhtml
- + browser/base/content/aboutDialogTor.css
- 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-menubar.js
- browser/base/content/browser-places.js
- browser/base/content/browser-safebrowsing.js
- browser/base/content/browser-sets.inc
- browser/base/content/browser-sets.js
- browser/base/content/browser-siteIdentity.js
- browser/base/content/browser.js
- browser/base/content/browser.js.globals
- browser/base/content/browser.xhtml
- browser/base/content/default-bookmarks.html
- + browser/base/content/languageNotification.js
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/base/content/navigator-toolbox.js
- browser/base/content/pageinfo/pageInfo.xhtml
- browser/base/content/pageinfo/security.js
- browser/base/content/popup-notifications.inc.xhtml
- browser/base/content/utilityOverlay.js
- browser/base/jar.mn
- browser/base/moz.build
- browser/branding/branding-common.mozbuild
- + browser/branding/tb-alpha/VisualElements_150.png
- + browser/branding/tb-alpha/VisualElements_70.png
- + browser/branding/tb-alpha/configure.sh
- + browser/branding/tb-alpha/content/about-logo.png
- + browser/branding/tb-alpha/content/about-logo.svg
- + browser/branding/tb-alpha/content/about-logo(a)2x.png
- + browser/branding/tb-alpha/content/about-wordmark.svg
- + browser/branding/tb-alpha/content/about.png
- + browser/branding/tb-alpha/content/aboutDialog.css
- + browser/branding/tb-alpha/content/firefox-wordmark.svg
- + browser/branding/tb-alpha/content/jar.mn
- + browser/branding/tb-alpha/content/moz.build
- + browser/branding/tb-alpha/default128.png
- + browser/branding/tb-alpha/default16.png
- + browser/branding/tb-alpha/default22.png
- + browser/branding/tb-alpha/default24.png
- + browser/branding/tb-alpha/default256.png
- + browser/branding/tb-alpha/default32.png
- + browser/branding/tb-alpha/default48.png
- + browser/branding/tb-alpha/default64.png
- + browser/branding/tb-alpha/document.icns
- + browser/branding/tb-alpha/document.ico
- + browser/branding/tb-alpha/document_pdf.ico
- + browser/branding/tb-alpha/firefox.VisualElementsManifest.xml
- + browser/branding/tb-alpha/firefox.icns
- + browser/branding/tb-alpha/firefox.ico
- + browser/branding/tb-alpha/locales/en-US/brand.ftl
- + browser/branding/tb-alpha/locales/en-US/brand.properties
- + browser/branding/tb-alpha/locales/jar.mn
- + browser/branding/tb-alpha/locales/moz.build
- + browser/branding/tb-alpha/moz.build
- + browser/branding/tb-alpha/newtab.ico
- + browser/branding/tb-alpha/newwindow.ico
- + browser/branding/tb-alpha/pbmode.ico
- + browser/branding/tb-alpha/pref/firefox-branding.js
- + browser/branding/tb-nightly/VisualElements_150.png
- + browser/branding/tb-nightly/VisualElements_70.png
- + browser/branding/tb-nightly/configure.sh
- + browser/branding/tb-nightly/content/about-logo.png
- + browser/branding/tb-nightly/content/about-logo.svg
- + browser/branding/tb-nightly/content/about-logo(a)2x.png
- + browser/branding/tb-nightly/content/about-wordmark.svg
- + browser/branding/tb-nightly/content/about.png
- + browser/branding/tb-nightly/content/aboutDialog.css
- + browser/branding/tb-nightly/content/firefox-wordmark.svg
- + browser/branding/tb-nightly/content/jar.mn
- + browser/branding/tb-nightly/content/moz.build
- + browser/branding/tb-nightly/default128.png
- + browser/branding/tb-nightly/default16.png
- + browser/branding/tb-nightly/default22.png
- + browser/branding/tb-nightly/default24.png
- + browser/branding/tb-nightly/default256.png
- + browser/branding/tb-nightly/default32.png
- + browser/branding/tb-nightly/default48.png
- + browser/branding/tb-nightly/default64.png
- + browser/branding/tb-nightly/document.icns
- + browser/branding/tb-nightly/document.ico
- + browser/branding/tb-nightly/document_pdf.ico
- + browser/branding/tb-nightly/firefox.VisualElementsManifest.xml
- + browser/branding/tb-nightly/firefox.icns
- + browser/branding/tb-nightly/firefox.ico
- + browser/branding/tb-nightly/locales/en-US/brand.ftl
- + browser/branding/tb-nightly/locales/en-US/brand.properties
- + browser/branding/tb-nightly/locales/jar.mn
- + browser/branding/tb-nightly/locales/moz.build
- + browser/branding/tb-nightly/moz.build
- + browser/branding/tb-nightly/newtab.ico
- + browser/branding/tb-nightly/newwindow.ico
- + browser/branding/tb-nightly/pbmode.ico
- + browser/branding/tb-nightly/pref/firefox-branding.js
- + browser/branding/tb-release/VisualElements_150.png
- + browser/branding/tb-release/VisualElements_70.png
- + browser/branding/tb-release/configure.sh
- + browser/branding/tb-release/content/about-logo.png
- + browser/branding/tb-release/content/about-logo.svg
- + browser/branding/tb-release/content/about-logo(a)2x.png
- + browser/branding/tb-release/content/about-wordmark.svg
- + browser/branding/tb-release/content/about.png
- + browser/branding/tb-release/content/aboutDialog.css
- + browser/branding/tb-release/content/firefox-wordmark.svg
- + browser/branding/tb-release/content/jar.mn
- + browser/branding/tb-release/content/moz.build
- + browser/branding/tb-release/default128.png
- + browser/branding/tb-release/default16.png
- + browser/branding/tb-release/default22.png
- + browser/branding/tb-release/default24.png
- + browser/branding/tb-release/default256.png
- + browser/branding/tb-release/default32.png
- + browser/branding/tb-release/default48.png
- + browser/branding/tb-release/default64.png
- + browser/branding/tb-release/document.icns
- + browser/branding/tb-release/document.ico
- + browser/branding/tb-release/document_pdf.ico
- + browser/branding/tb-release/firefox.VisualElementsManifest.xml
- + browser/branding/tb-release/firefox.icns
- + browser/branding/tb-release/firefox.ico
- + browser/branding/tb-release/locales/en-US/brand.ftl
- + browser/branding/tb-release/locales/en-US/brand.properties
- + browser/branding/tb-release/locales/jar.mn
- + browser/branding/tb-release/locales/moz.build
- + browser/branding/tb-release/moz.build
- + browser/branding/tb-release/newtab.ico
- + browser/branding/tb-release/newwindow.ico
- + browser/branding/tb-release/pbmode.ico
- + browser/branding/tb-release/pref/firefox-branding.js
- browser/components/BrowserComponents.manifest
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/DesktopActorRegistry.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/abouttor/AboutTorChild.sys.mjs
- + browser/components/abouttor/AboutTorMessage.sys.mjs
- + browser/components/abouttor/AboutTorParent.sys.mjs
- + browser/components/abouttor/HomepageOverride.sys.mjs
- + browser/components/abouttor/content/1f44b-waving-hand.svg
- + browser/components/abouttor/content/1f4e3-megaphone.svg
- + browser/components/abouttor/content/26a1-high-voltage.svg
- + browser/components/abouttor/content/2728-sparkles.svg
- + browser/components/abouttor/content/2764-red-heart.svg
- + browser/components/abouttor/content/aboutTor.css
- + browser/components/abouttor/content/aboutTor.html
- + browser/components/abouttor/content/aboutTor.js
- + browser/components/abouttor/content/dax-logo.svg
- + browser/components/abouttor/jar.mn
- + browser/components/abouttor/moz.build
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/customizableui/content/panelUI.inc.xhtml
- browser/components/customizableui/content/panelUI.js
- browser/components/downloads/DownloadSpamProtection.sys.mjs
- + browser/components/downloads/DownloadsTorWarning.sys.mjs
- browser/components/downloads/content/contentAreaDownloadsView.js
- browser/components/downloads/content/contentAreaDownloadsView.xhtml
- browser/components/downloads/content/downloads.css
- browser/components/downloads/content/downloads.js
- browser/components/downloads/content/downloadsPanel.inc.xhtml
- browser/components/downloads/moz.build
- browser/components/extensions/parent/ext-browserAction.js
- browser/components/extensions/schemas/chrome_settings_overrides.json
- browser/components/migration/ChromeMigrationUtils.sys.mjs
- browser/components/migration/content/migration-wizard.mjs
- browser/components/moz.build
- + browser/components/newidentity/content/newIdentityDialog.css
- + browser/components/newidentity/content/newIdentityDialog.js
- + browser/components/newidentity/content/newIdentityDialog.xhtml
- + browser/components/newidentity/content/newidentity.js
- + browser/components/newidentity/jar.mn
- + browser/components/newidentity/moz.build
- browser/components/newtab/AboutHomeStartupCache.sys.mjs
- browser/components/newtab/AboutNewTabRedirector.sys.mjs
- + browser/components/onionservices/OnionAliasStore.sys.mjs
- + browser/components/onionservices/OnionLocationChild.sys.mjs
- + browser/components/onionservices/OnionLocationParent.sys.mjs
- + browser/components/onionservices/TorRequestWatch.sys.mjs
- + browser/components/onionservices/content/authNotificationIcon.inc.xhtml
- + browser/components/onionservices/content/authPopup.inc.xhtml
- + browser/components/onionservices/content/authPreferences.css
- + browser/components/onionservices/content/authPreferences.inc.xhtml
- + browser/components/onionservices/content/authPreferences.js
- + browser/components/onionservices/content/authPrompt.js
- + browser/components/onionservices/content/onionlocation-urlbar.inc.xhtml
- + browser/components/onionservices/content/onionlocation.css
- + browser/components/onionservices/content/onionservices.css
- + browser/components/onionservices/content/savedKeysDialog.js
- + browser/components/onionservices/content/savedKeysDialog.xhtml
- + browser/components/onionservices/jar.mn
- + browser/components/onionservices/moz.build
- browser/components/places/PlacesUIUtils.sys.mjs
- browser/components/places/content/controller.js
- browser/components/places/content/places.css
- browser/components/places/content/places.js
- browser/components/places/content/places.xhtml
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/home.js
- browser/components/preferences/jar.mn
- + browser/components/preferences/letterboxing-middle-dark.svg
- + browser/components/preferences/letterboxing-middle-light.svg
- + browser/components/preferences/letterboxing-top-dark.svg
- + browser/components/preferences/letterboxing-top-light.svg
- + browser/components/preferences/letterboxing.css
- + browser/components/preferences/letterboxing.inc.xhtml
- + browser/components/preferences/letterboxing.js
- browser/components/preferences/main.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- + browser/components/rulesets/RulesetsChild.sys.mjs
- + browser/components/rulesets/RulesetsParent.sys.mjs
- + browser/components/rulesets/content/aboutRulesets.css
- + browser/components/rulesets/content/aboutRulesets.html
- + browser/components/rulesets/content/aboutRulesets.js
- + browser/components/rulesets/content/securedrop.svg
- + browser/components/rulesets/jar.mn
- + browser/components/rulesets/moz.build
- browser/components/search/SERPCategorization.sys.mjs
- browser/components/search/SearchSERPTelemetry.sys.mjs
- + browser/components/search/extensions/ddg-onion/favicon.ico
- + browser/components/search/extensions/ddg-onion/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/startpage-onion/favicon.png
- + browser/components/search/extensions/startpage-onion/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- + 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/tabbrowser/content/tabbrowser.js
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f4-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f6-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fd-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/README.txt
- + browser/components/torcircuit/content/tor-circuit-icon-mask.svg
- + browser/components/torcircuit/content/tor-circuit-node-end.svg
- + browser/components/torcircuit/content/tor-circuit-node-middle.svg
- + browser/components/torcircuit/content/tor-circuit-node-relays.svg
- + browser/components/torcircuit/content/tor-circuit-node-start.svg
- + browser/components/torcircuit/content/tor-circuit-redirect.svg
- + browser/components/torcircuit/content/torCircuitPanel.css
- + browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
- + browser/components/torcircuit/content/torCircuitPanel.js
- + browser/components/torcircuit/jar.mn
- + browser/components/torcircuit/moz.build
- + browser/components/torpreferences/content/bridge-bot.svg
- + browser/components/torpreferences/content/bridge-qr.svg
- + browser/components/torpreferences/content/bridge.svg
- + browser/components/torpreferences/content/bridgeQrDialog.js
- + browser/components/torpreferences/content/bridgeQrDialog.xhtml
- + browser/components/torpreferences/content/bridgemoji/BridgeEmoji.js
- + browser/components/torpreferences/content/bridgemoji/annotations.json
- + browser/components/torpreferences/content/bridgemoji/bridge-emojis.json
- + browser/components/torpreferences/content/bridgemoji/svgs/1f300.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f308.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f319.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f31f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f321.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f332.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f333.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f334.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f335.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f336.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f337.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f339.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f341.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f344.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f345.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f346.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f347.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f348.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f349.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f350.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f351.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f352.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f353.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f354.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f355.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f368.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f369.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f37f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f380.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f381.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f382.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f383.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f388.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f389.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f38f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f392.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f399.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f39f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ac.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3af.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ba.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3bb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3be.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3dd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f417.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f418.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f419.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f420.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f422.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f425.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f426.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f428.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f430.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f431.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f432.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f433.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f434.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f435.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f436.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f437.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f441.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f451.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f455.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f457.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f45f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f47d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f484.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f488.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f490.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4b3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4bf.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4cc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4ce.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4fb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f50b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f511.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f525.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f526.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f54a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f5ff.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f680.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f681.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f686.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f695.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f697.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fa.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f916.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f93f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f941.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f950.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f951.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f955.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f956.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f965.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f966.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f968.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f980.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f981.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f984.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f986.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f987.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f988.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f989.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f992.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f993.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f994.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f995.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f998.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f999.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ad.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9d9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9da.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9dc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ea.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ec.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ed.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa73.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa80.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa81.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa83.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa90.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa91.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa95.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa97.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fab6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/23f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2600.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2602.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2604.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/260e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2693.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2696.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26bd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2708.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/270f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2728.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2744.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/README.txt
- + browser/components/torpreferences/content/builtinBridgeDialog.js
- + browser/components/torpreferences/content/builtinBridgeDialog.xhtml
- + browser/components/torpreferences/content/connectionCategory.inc.xhtml
- + browser/components/torpreferences/content/connectionPane.js
- + browser/components/torpreferences/content/connectionPane.xhtml
- + browser/components/torpreferences/content/connectionSettingsDialog.js
- + browser/components/torpreferences/content/connectionSettingsDialog.xhtml
- + browser/components/torpreferences/content/lox-bridge-icon.svg
- + browser/components/torpreferences/content/lox-bridge-pass.svg
- + browser/components/torpreferences/content/lox-complete-ring.svg
- + browser/components/torpreferences/content/lox-invite-icon.svg
- + browser/components/torpreferences/content/lox-progress-ring.svg
- + browser/components/torpreferences/content/lox-success.svg
- + browser/components/torpreferences/content/loxInviteDialog.js
- + browser/components/torpreferences/content/loxInviteDialog.xhtml
- + browser/components/torpreferences/content/mail.svg
- + browser/components/torpreferences/content/network-broken.svg
- + browser/components/torpreferences/content/network.svg
- + browser/components/torpreferences/content/provideBridgeDialog.js
- + browser/components/torpreferences/content/provideBridgeDialog.xhtml
- + browser/components/torpreferences/content/requestBridgeDialog.js
- + browser/components/torpreferences/content/requestBridgeDialog.xhtml
- + browser/components/torpreferences/content/telegram-logo.svg
- + browser/components/torpreferences/content/torLogDialog.js
- + browser/components/torpreferences/content/torLogDialog.xhtml
- + browser/components/torpreferences/content/torPreferences.css
- + browser/components/torpreferences/jar.mn
- + browser/components/torpreferences/moz.build
- 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/config/mozconfigs/tor-browser
- + browser/config/mozconfigs/tor-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/en-US/chrome/overrides/appstrings.properties
- browser/locales/jar.mn
- browser/locales/l10n.toml
- browser/modules/BrowserWindowTracker.sys.mjs
- browser/modules/HomePage.sys.mjs
- browser/modules/LaterRun.sys.mjs
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- + browser/modules/TorSettingsNotification.sys.mjs
- + browser/modules/TorUIUtils.sys.mjs
- browser/modules/URILoadingHelper.sys.mjs
- browser/modules/moz.build
- browser/moz.build
- browser/moz.configure
- browser/themes/shared/addons/unified-extensions.css
- browser/themes/shared/browser-shared.css
- browser/themes/shared/controlcenter/panel.css
- browser/themes/shared/downloads/contentAreaDownloadsView.css
- + browser/themes/shared/icons/new_circuit.svg
- + browser/themes/shared/icons/new_identity.svg
- browser/themes/shared/identity-block/identity-block.css
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/notification-icons.css
- browser/themes/shared/preferences/preferences.css
- browser/themes/shared/tabbrowser/content-area.css
- browser/themes/shared/tabbrowser/tabs.css
- browser/themes/shared/toolbarbutton-icons.css
- + browser/themes/shared/tor-branding.css
- + browser/themes/shared/tor-urlbar-button.css
- build.gradle
- build/application.ini.in
- build/moz.build
- 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/createprecomplete.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/netmonitor/src/components/SecurityState.js
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- docshell/base/URIFixup.sys.mjs
- docshell/base/nsAboutRedirector.cpp
- docshell/base/nsDocShell.cpp
- docshell/build/components.conf
- dom/base/ContentAreaDropListener.sys.mjs
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsCopySupport.cpp
- dom/base/nsGlobalWindowOuter.cpp
- dom/canvas/ClientWebGLContext.cpp
- dom/ipc/BrowserParent.cpp
- dom/ipc/BrowserParent.h
- dom/ipc/PBrowser.ipdl
- dom/ipc/WindowGlobalActor.cpp
- dom/ipc/WindowGlobalChild.cpp
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/webrtc/libwebrtcglue/VideoConduit.cpp
- dom/media/webrtc/sdp/RsdparsaSdpAttributeList.cpp
- dom/media/webrtc/transport/nrinterfaceprioritizer.cpp
- dom/media/webrtc/transport/sigslot.h
- dom/media/webrtc/transport/test/ice_unittest.cpp
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.c
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.h
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-win32.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
- dom/media/webrtc/transport/third_party/nrappkit/src/log/r_log.c
- dom/media/webrtc/transport/third_party/nrappkit/src/registry/registry.c
- dom/security/nsContentSecurityUtils.cpp
- dom/security/nsMixedContentBlocker.cpp
- dom/webidl/Document.webidl
- dom/websocket/WebSocket.cpp
- eslint-file-globals.config.mjs
- eslint-ignores.config.mjs
- extensions/auth/nsHttpNegotiateAuth.cpp
- gfx/thebes/StandardFonts-linux.inc → gfx/thebes/StandardFonts-linux-upstream.inc
- + gfx/thebes/StandardFonts-macos-bb.inc
- gfx/thebes/StandardFonts-macos.inc → gfx/thebes/StandardFonts-macos-upstream.inc
- + gfx/thebes/StandardFonts-win10-bb.inc
- gfx/thebes/StandardFonts-win10.inc → gfx/thebes/StandardFonts-win10-upstream.inc
- gfx/thebes/gfxDWriteFontList.cpp
- gfx/thebes/gfxDWriteFontList.h
- gfx/thebes/gfxFcPlatformFontList.cpp
- gfx/thebes/gfxGDIFontList.cpp
- gfx/thebes/gfxMacPlatformFontList.mm
- gfx/thebes/gfxPlatformFontList.cpp
- intl/l10n/Localization.h
- intl/locale/LocaleService.cpp
- js/xpconnect/src/xpc.msg
- layout/base/nsLayoutUtils.cpp
- mobile/android/android-components/components/browser/engine-gecko/build.gradle
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorage.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepository.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/fetch/GeckoViewFetchClient.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorageTest.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepositoryTest.kt
- mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/loader/HttpIconLoader.kt
- mobile/android/android-components/components/browser/menu/src/main/java/mozilla/components/browser/menu/WebExtensionBrowserMenuBuilder.kt
- mobile/android/android-components/components/browser/storage-sync/src/main/java/mozilla/components/browser/storage/sync/RemoteTabsStorage.kt
- mobile/android/android-components/components/browser/thumbnails/src/main/java/mozilla/components/browser/thumbnails/utils/ThumbnailDiskCache.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/SiteInfoIconView.kt
- mobile/android/android-components/components/browser/toolbar/src/main/res/drawable/mozac_ic_site_info.xml
- mobile/android/android-components/components/browser/toolbar/src/main/res/values/attrs_browser_toolbar.xml
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/EngineSession.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/cookiehandling/CookieBannersStorage.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/webextension/WebExtension.kt
- mobile/android/android-components/components/concept/engine/src/test/java/mozilla/components/concept/engine/SettingsTest.kt
- mobile/android/android-components/components/concept/fetch/src/main/java/mozilla/components/concept/fetch/Request.kt
- mobile/android/android-components/components/concept/sync/src/main/java/mozilla/components/concept/sync/AccountEvent.kt
- mobile/android/android-components/components/concept/toolbar/src/main/java/mozilla/components/concept/toolbar/Toolbar.kt
- mobile/android/android-components/components/feature/accounts/build.gradle
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt
- mobile/android/android-components/components/feature/app-links/build.gradle
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksFeature.kt
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksUseCases.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionAutocompleteProvider.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionSuggestionProvider.kt
- mobile/android/android-components/components/feature/contextmenu/src/main/java/mozilla/components/feature/contextmenu/ContextMenuCandidate.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/AbstractFetchDownloadService.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/DownloadsFeature.kt
- mobile/android/android-components/components/feature/downloads/src/test/java/mozilla/components/feature/downloads/DownloadsFeatureTest.kt
- mobile/android/android-components/components/feature/fxsuggest/build.gradle
- mobile/android/android-components/components/feature/privatemode/src/main/java/mozilla/components/feature/privatemode/notification/PrivateNotificationFeature.kt
- mobile/android/android-components/components/feature/search/build.gradle
- mobile/android/android-components/components/feature/search/src/main/assets/search/list.json
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg-onion.xml
- mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage-onion.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage.xml
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/ext/SearchEngine.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/internal/SearchUrlBuilder.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepository.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/BaseSearchTelemetryTest.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepositoryTest.kt
- mobile/android/android-components/components/feature/toolbar/src/main/java/mozilla/components/feature/toolbar/ToolbarPresenter.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/FxaDeviceConstellation.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/Types.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/sync/WorkManagerSyncManager.kt
- mobile/android/android-components/components/service/nimbus/build.gradle
- mobile/android/android-components/components/service/sync-logins/src/main/java/mozilla/components/service/sync/logins/SyncableLoginsStorage.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/android/content/Context.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt
- mobile/android/android-components/components/support/remotesettings/src/main/java/mozilla/components/support/remotesettings/RemoteSettingsClient.kt
- mobile/android/android-components/components/support/rustlog/src/main/java/mozilla/components/support/rustlog/RustLog.kt
- + mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/TorUtils.kt
- mobile/android/android-components/components/support/webextensions/src/main/java/mozilla/components/support/webextensions/WebExtensionSupport.kt
- + mobile/android/android-components/components/ui/icons/src/main/res/drawable/mozac_ic_onion.xml
- mobile/android/android-components/plugins/config/src/main/java/ConfigPlugin.kt
- mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
- mobile/android/android-components/samples/browser/src/main/res/layout/activity_installed_add_on_details.xml
- + mobile/android/app/000-tor-browser-android.js
- mobile/android/app/geckoview-prefs.js
- mobile/android/app/moz.build
- + mobile/android/basebrowser.configure
- + mobile/android/branding/tb-alpha/configure.sh
- + mobile/android/branding/tb-alpha/content/favicon32.png
- + mobile/android/branding/tb-alpha/content/favicon64.png
- + mobile/android/branding/tb-alpha/content/jar.mn
- + mobile/android/branding/tb-alpha/content/moz.build
- + mobile/android/branding/tb-alpha/locales/en-US/brand.ftl
- + mobile/android/branding/tb-alpha/locales/en-US/brand.properties
- + mobile/android/branding/tb-alpha/locales/jar.mn
- + mobile/android/branding/tb-alpha/locales/moz.build
- + mobile/android/branding/tb-alpha/moz.build
- + mobile/android/branding/tb-nightly/configure.sh
- + mobile/android/branding/tb-nightly/content/favicon32.png
- + mobile/android/branding/tb-nightly/content/favicon64.png
- + mobile/android/branding/tb-nightly/content/jar.mn
- + mobile/android/branding/tb-nightly/content/moz.build
- + mobile/android/branding/tb-nightly/locales/en-US/brand.ftl
- + mobile/android/branding/tb-nightly/locales/en-US/brand.properties
- + mobile/android/branding/tb-nightly/locales/jar.mn
- + mobile/android/branding/tb-nightly/locales/moz.build
- + mobile/android/branding/tb-nightly/moz.build
- + mobile/android/branding/tb-release/configure.sh
- + mobile/android/branding/tb-release/content/favicon32.png
- + mobile/android/branding/tb-release/content/favicon64.png
- + mobile/android/branding/tb-release/content/jar.mn
- + mobile/android/branding/tb-release/content/moz.build
- + mobile/android/branding/tb-release/locales/en-US/brand.ftl
- + mobile/android/branding/tb-release/locales/en-US/brand.properties
- + mobile/android/branding/tb-release/locales/jar.mn
- + mobile/android/branding/tb-release/locales/moz.build
- + mobile/android/branding/tb-release/moz.build
- mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
- mobile/android/fenix/.buildconfig.yml
- mobile/android/fenix/app/build.gradle
- mobile/android/fenix/app/lint-baseline.xml
- mobile/android/fenix/app/nimbus.fml.yaml
- mobile/android/fenix/app/onboarding.fml.yaml
- mobile/android/fenix/app/proguard-rules.pro
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/AppStartupTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAboutRobot.kt
- + mobile/android/fenix/app/src/beta/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/beta/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_background.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_monochrome_foreground.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml → mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/beta/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/beta/res/values/static_strings.xml
- mobile/android/fenix/app/src/beta/res/xml/shortcuts.xml
- − mobile/android/fenix/app/src/debug/ic_launcher-web.webp
- + mobile/android/fenix/app/src/debug/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/debug/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_background.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_monochrome_foreground.xml
- mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/values/colors.xml
- + mobile/android/fenix/app/src/debug/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/debug/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/AndroidManifest.xml
- + mobile/android/fenix/app/src/main/assets/common/torrc-defaults
- − mobile/android/fenix/app/src/main/assets/searchplugins/reddit.xml
- − mobile/android/fenix/app/src/main/assets/searchplugins/youtube.xml
- − mobile/android/fenix/app/src/main/ic_launcher-web.webp
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/IntentReceiverActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/OpenInAppOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Analytics.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NotificationManager.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/UseCases.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/appstate/setup/checklist/ChecklistItem.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/middleware/MenuNavigationMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/AdjustMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricsUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserMenuSignIn.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenter.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMenuController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/compose/snackbar/Snackbar.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/PoweredByNotification.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/downloads/dialog/DynamicDownloadDialog.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/experiments/view/ResearchSurfaceSurvey.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/ext/Activity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/intent/HomeDeepLinkIntentProcessor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/recentsyncedtabs/view/RecentSyncedTab.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/PrivateBrowsingDescriptionViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/PagerIndicator.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSites.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/ui/Homepage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkItemMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyCompleted.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyHeader.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyRequestPrompt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/MarketingDataOnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingScreen.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/TermsOfServiceOnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/UpgradeOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/HttpsOnlyFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorBridgeConfigFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/account/AccountUiView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/DefaultLocaleSettingsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/view/SavedLoginsListView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/ProtectionsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsInteractor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannersStorageExt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SiteSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/shortcut/PwaOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayBanner.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/syncedtabs/SyncedTabsList.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/ConnectAssistUiState.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickstartViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapProgressViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBridgeTransports.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorController.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLog.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsComposeFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevelFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/UrlQuickLoadViewModel.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/trackingprotection/ProtectionsStore.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/NotificationBase.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/gecko/search/SearchWidgetProvider.kt
- + mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-night/onboarding_ctd_default_browser.xml
- mobile/android/fenix/app/src/main/res/drawable-v23/splash_screen.xml
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/main/res/drawable/browser_location.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect_broken.xml
- + mobile/android/fenix/app/src/main/res/drawable/globe_broken.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account_warning.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_favorite.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_firefox.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_fx_accounts_avatar.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_notification_permission.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features_icons_only.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_search_widget.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_sync.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_welcome.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_onion_pattern.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_pocket.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_scan.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_screenshot.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sign_in.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_signed_out.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_status_logo.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sync_disconnected.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_synced_tabs.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_config_bridge.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_network_settings.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/main/res/drawable/microsurvey_success.xml
- + mobile/android/fenix/app/src/main/res/drawable/new_circuit.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_default_browser.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_notification.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_sync.xml
- mobile/android/fenix/app/src/main/res/drawable/progress_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable/pager_dot.xml → mobile/android/fenix/app/src/main/res/drawable/rounded_corners.xml
- + mobile/android/fenix/app/src/main/res/drawable/tor_bootstrap_background_gradient.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable-night/ic_logo_wordmark_normal.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_rounded_corners.xml
- mobile/android/fenix/app/src/main/res/layout/component_cookie_banner_details_panel.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_about.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_create_shortcut.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_home.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_locale_settings.xml
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_connection_assist.xml
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_security_level_preferences.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_turn_on_sync.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private_round.xml → mobile/android/fenix/app/src/main/res/layout/preference_quick_start.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_permissions.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_protections_panel.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v1.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v2.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_large.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_medium.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_small.xml
- mobile/android/fenix/app/src/main/res/layout/sign_in_preference.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alternative.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round_alternative.xml
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml
- mobile/android/fenix/app/src/main/res/values-night-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values-night/styles.xml
- mobile/android/fenix/app/src/main/res/values-v24/styles.xml
- mobile/android/fenix/app/src/main/res/values-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values/attrs.xml
- mobile/android/fenix/app/src/main/res/values/colors.xml
- + mobile/android/fenix/app/src/main/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/main/res/values/preference_keys.xml
- mobile/android/fenix/app/src/main/res/values/static_strings.xml
- mobile/android/fenix/app/src/main/res/values/styles.xml
- + mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
- mobile/android/fenix/app/src/main/res/xml/logins_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/preferences.xml
- mobile/android/fenix/app/src/main/res/xml/private_browsing_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_details_exceptions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/sync_problem.xml
- + mobile/android/fenix/app/src/main/res/xml/tor_bridge_config_preferences.xml
- + mobile/android/fenix/app/src/nightly/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_monochrome_foreground.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/nightly/res/ic_launcher-web.webp
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml → mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/nightly/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/nightly/res/values/static_strings.xml
- mobile/android/fenix/app/src/nightly/res/xml/shortcuts.xml
- + mobile/android/fenix/app/src/release/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/release/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_background.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_monochrome_foreground.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/release/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/release/res/values/static_strings.xml
- mobile/android/fenix/app/src/release/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/menu/MenuNavigationMiddlewareTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/metrics/MetricsUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/ext/ContextTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingPageUiDataTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/SupportUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/ProtectionsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragmentTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/DefaultCookieBannerDetailsControllerTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/share/viewholders/AppViewHolderTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/trackingprotection/ProtectionsStoreTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt
- mobile/android/fenix/build.gradle
- + mobile/android/fenix/tools/tba-fetch-deps.sh
- + mobile/android/fenix/tools/tba-sign-devbuilds.sh
- mobile/android/geckoview/api.txt
- mobile/android/geckoview/build.gradle
- − 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/gecko/util/ProxySelector.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.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/TorAndroidIntegration.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorBootstrappingStatus.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStage.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStageName.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebExtensionController.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/Prefs.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/TorLegacyAndroidSettings.java
- mobile/android/gradle/with_gecko_binaries.gradle
- mobile/android/installer/package-manifest.in
- mobile/android/locales/filter.py
- mobile/android/locales/jar.mn
- mobile/android/locales/l10n.toml
- mobile/android/moz.configure
- mobile/android/shared-settings.gradle
- mobile/locales/filter.py
- mobile/shared/chrome/geckoview/geckoview.js
- mobile/shared/components/geckoview/GeckoViewStartup.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewContent.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewProgress.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewWebExtension.sys.mjs
- modules/libpref/Preferences.cpp
- 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/nsNetUtil.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/build/components.conf
- netwerk/build/nsNetCID.h
- + netwerk/dns/IOnionAliasService.idl
- + netwerk/dns/OnionAliasService.cpp
- + netwerk/dns/OnionAliasService.h
- netwerk/dns/effective_tld_names.dat
- netwerk/dns/moz.build
- netwerk/protocol/http/HttpBaseChannel.cpp
- 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/socket/nsSOCKSIOLayer.cpp
- netwerk/system/android/nsAndroidNetworkLinkService.cpp
- netwerk/system/linux/nsNetworkLinkService.cpp
- netwerk/system/mac/nsNetworkLinkService.mm
- netwerk/system/netlink/NetlinkService.cpp
- netwerk/system/win32/nsNotifyAddrListener.cpp
- netwerk/url-classifier/UrlClassifierFeatureBase.cpp
- netwerk/url-classifier/components.conf
- python/mach/mach/telemetry.py
- python/mozbuild/mozbuild/action/make_dmg.py
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/mach_commands.py
- python/mozlint/mozlint/cli.py
- python/sites/mach.txt
- security/certverifier/CertVerifier.cpp
- security/manager/ssl/NSSSocketControl.cpp
- security/manager/ssl/RemoteSecuritySettings.sys.mjs
- security/manager/ssl/SSLServerCertVerification.cpp
- security/manager/ssl/SSLServerCertVerification.h
- security/manager/ssl/StaticHPKPins.h
- security/manager/ssl/nsSecureBrowserUI.cpp
- security/moz.build
- security/nss/lib/certhigh/ocsp.c
- security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
- security/nss/lib/mozpkix/include/pkix/Result.h
- security/nss/lib/mozpkix/include/pkix/pkixnss.h
- 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/mozbase/mozinstall/mozinstall/mozinstall.py
- testing/mozbase/setup_development.py
- testing/mozharness/scripts/does_it_crash.py
- testing/specialpowers/api.js
- 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/desktop_capture_types.h
- third_party/libwebrtc/modules/desktop_capture/win/desktop_capture_utils.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.h
- third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h
- third_party/libwebrtc/rtc_base/platform_thread_types.cc
- third_party/libwebrtc/rtc_base/socket.h
- third_party/libwebrtc/rtc_base/system/file_wrapper.cc
- third_party/libwebrtc/rtc_base/win/create_direct3d_device.h
- third_party/sipcc/cpr_win_types.h
- third_party/sipcc/sdp_token.c
- toolkit/.eslintrc.mjs
- toolkit/actors/AboutHttpsOnlyErrorParent.sys.mjs
- + toolkit/actors/FilesFilterChild.sys.mjs
- + toolkit/actors/FilesFilterParent.sys.mjs
- toolkit/actors/NetErrorParent.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/httpsonlyerror/content/errorpage.js
- + toolkit/components/lox/Lox.sys.mjs
- + toolkit/components/lox/content/lox_wasm_bg.wasm
- + toolkit/components/lox/jar.mn
- + toolkit/components/lox/lox_wasm.jsm
- + toolkit/components/lox/moz.build
- toolkit/components/moz.build
- toolkit/components/places/PlacesUtils.sys.mjs
- toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
- toolkit/components/resistfingerprinting/content/letterboxing.css
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/content/torBrowserSearchEngineIcons.json
- + toolkit/components/search/content/torBrowserSearchEngines.json
- + toolkit/components/search/content/wikipedia.ico
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- + 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/tor-launcher/TorBootstrapRequest.sys.mjs
- + toolkit/components/tor-launcher/TorControlPort.sys.mjs
- + toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs
- + toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
- + toolkit/components/tor-launcher/TorParsers.sys.mjs
- + toolkit/components/tor-launcher/TorProcess.sys.mjs
- + toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs
- + toolkit/components/tor-launcher/TorProvider.sys.mjs
- + toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
- + toolkit/components/tor-launcher/TorStartupService.sys.mjs
- + toolkit/components/tor-launcher/components.conf
- + toolkit/components/tor-launcher/moz.build
- + toolkit/components/tor-launcher/tor-launcher.manifest
- + toolkit/components/torconnect/TorConnectChild.sys.mjs
- + toolkit/components/torconnect/TorConnectParent.sys.mjs
- + toolkit/components/torconnect/content/aboutTorConnect.css
- + toolkit/components/torconnect/content/aboutTorConnect.html
- + toolkit/components/torconnect/content/aboutTorConnect.js
- + toolkit/components/torconnect/content/arrow-right.svg
- + toolkit/components/torconnect/content/bridge.svg
- + toolkit/components/torconnect/content/connection-failure.svg
- + toolkit/components/torconnect/content/connection-location.svg
- + toolkit/components/torconnect/content/tor-connect-broken.svg
- + toolkit/components/torconnect/content/tor-connect.svg
- + toolkit/components/torconnect/content/tor-not-connected-to-connected-animated.svg
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.css
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.js
- + toolkit/components/torconnect/content/torConnectUrlbarButton.js
- + toolkit/components/torconnect/jar.mn
- + toolkit/components/torconnect/moz.build
- toolkit/components/urlformatter/URLFormatter.sys.mjs
- toolkit/components/windowwatcher/nsWindowWatcher.cpp
- toolkit/content/.eslintrc.mjs
- toolkit/content/aboutNetError.html
- toolkit/content/aboutNetError.mjs
- toolkit/content/aboutSupport.js
- toolkit/content/jar.mn
- toolkit/content/license.html
- + toolkit/content/moat_countries_dev_build.json
- + toolkit/content/pt_config.json
- toolkit/content/widgets/infobar.css
- toolkit/content/widgets/moz-message-bar/moz-message-bar.mjs
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- toolkit/content/widgets/moz-toggle/moz-toggle.mjs
- toolkit/content/widgets/notificationbox.js
- + toolkit/locales-preview/base-browser-no-translate.ftl
- + toolkit/locales-preview/tor-browser-no-translate.ftl
- + toolkit/locales/en-US/toolkit/global/base-browser.ftl
- + toolkit/locales/en-US/toolkit/global/tor-browser.ftl
- toolkit/locales/jar.mn
- toolkit/modules/ActorManagerParent.sys.mjs
- toolkit/modules/AppConstants.sys.mjs
- + toolkit/modules/Bech32Decode.sys.mjs
- + toolkit/modules/BridgeDB.sys.mjs
- + toolkit/modules/DomainFrontedRequests.sys.mjs
- + toolkit/modules/DragDropFilter.sys.mjs
- + toolkit/modules/Moat.sys.mjs
- toolkit/modules/PopupNotifications.sys.mjs
- + toolkit/modules/QRCode.sys.mjs
- toolkit/modules/RemotePageAccessManager.sys.mjs
- + toolkit/modules/TorAndroidIntegration.sys.mjs
- + toolkit/modules/TorConnect.sys.mjs
- + toolkit/modules/TorSettings.sys.mjs
- + toolkit/modules/TorStrings.sys.mjs
- toolkit/modules/UpdateUtils.sys.mjs
- toolkit/modules/moz.build
- toolkit/moz.build
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/components.conf
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/extensions/test/browser/head.js
- toolkit/mozapps/extensions/test/xpcshell/head_addons.js
- toolkit/mozapps/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/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- toolkit/mozapps/update/updater/updater.cpp
- toolkit/themes/shared/aboutNetError.css
- toolkit/themes/shared/desktop-jar.inc.mn
- + toolkit/themes/shared/icons/onion-site.svg
- + toolkit/themes/shared/icons/onion-slash.svg
- + toolkit/themes/shared/icons/onion-warning.svg
- + toolkit/themes/shared/icons/tor-dark-loading.png
- + toolkit/themes/shared/icons/tor-dark-loading(a)2x.png
- + toolkit/themes/shared/icons/tor-light-loading.png
- + toolkit/themes/shared/icons/tor-light-loading(a)2x.png
- + toolkit/themes/shared/icons/torbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- + toolkit/themes/shared/onion-pattern.css
- + toolkit/themes/shared/onion-pattern.svg
- + toolkit/themes/shared/tor-colors.css
- + toolkit/torbutton/chrome/locale/en-US/onionLocation.properties
- + toolkit/torbutton/chrome/locale/en-US/settings.properties
- + toolkit/torbutton/chrome/locale/en-US/torConnect.properties
- + toolkit/torbutton/chrome/locale/en-US/torlauncher.properties
- + toolkit/torbutton/jar.mn
- + toolkit/torbutton/moz.build
- 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/README
- + tools/base-browser/l10n/combine/tests/__init__.py
- + tools/base-browser/l10n/combine/tests/test_android.py
- + tools/base-browser/l10n/combine/tests/test_dtd.py
- + tools/base-browser/l10n/combine/tests/test_fluent.py
- + tools/base-browser/l10n/combine/tests/test_properties.py
- + tools/base-browser/tb-dev
- + tools/geckoview/.gitignore
- + tools/geckoview/Makefile
- + tools/geckoview/android-env-linux-template.sh
- + tools/geckoview/android-env-macos-template.sh
- + tools/geckoview/build-fenix.sh
- + tools/geckoview/build-geckoview.sh
- + tools/geckoview/clobber.sh
- + tools/geckoview/config.sh
- + tools/geckoview/install-fenix.sh
- + tools/geckoview/jslint.sh
- tools/lint/fluent-lint/exclusions.yml
- + tools/torbrowser/Makefile
- + tools/torbrowser/browser-self-sign-macos.sh
- + tools/torbrowser/build.sh
- + tools/torbrowser/clobber.sh
- + tools/torbrowser/config.sh
- + tools/torbrowser/deploy.sh
- + tools/torbrowser/fetch.sh
- + tools/torbrowser/generate-bugzilla-triage-csv.sh
- + tools/torbrowser/generate_tor_loading_png.py
- + tools/torbrowser/ide.sh
- + tools/torbrowser/jslint.sh
- + tools/torbrowser/l10n/migrate.py
- + tools/torbrowser/l10n/migrations/__init__.py
- + tools/torbrowser/l10n/migrations/bug-41333-new-about-tor.py
- + tools/torbrowser/l10n/migrations/bug-41622-neterror.py
- + tools/torbrowser/l10n/migrations/bug-41820-moz-message-bar-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42202-crypto-safety.py
- + tools/torbrowser/l10n/migrations/bug-42203-about-dialog.py
- + tools/torbrowser/l10n/migrations/bug-42206-rulesets.py
- + tools/torbrowser/l10n/migrations/bug-42207-settings.py
- + tools/torbrowser/l10n/migrations/bug-42209-tor-circuit.py
- + tools/torbrowser/l10n/migrations/bug-42210-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42211-new-identity.py
- + tools/torbrowser/l10n/migrations/bug-42212-onion-services.py
- + tools/torbrowser/l10n/migrations/bug-42214-security-level.py
- + tools/torbrowser/l10n/migrations/bug-43531-bridge-dialog-buttons.py
- + tools/torbrowser/prepare-tests.sh
- + tools/torbrowser/update_emojis.py
- tools/update-packaging/common.sh
- tools/update-packaging/make_full_update.sh
- tools/update-packaging/make_incremental_update.sh
- uriloader/base/nsURILoader.cpp
- uriloader/exthandler/nsExternalHelperAppService.cpp
- widget/ScrollbarDrawingWin.cpp
- widget/ScrollbarDrawingWin11.cpp
- widget/android/WebExecutorSupport.cpp
- widget/gtk/MPRISServiceHandler.cpp
- widget/gtk/WidgetUtilsGtk.cpp
- widget/windows/WinTaskbar.cpp
- widget/windows/nsDataObj.cpp
- xpcom/base/ErrorList.py
- xpcom/ds/StaticAtoms.py
- xpcom/io/CocoaFileUtils.mm
- xpcom/io/nsAppFileLocationProvider.cpp
- xpfe/appshell/AppWindow.cpp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e81e5b…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e81e5b…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-2] fixup! TB 42669: [android] Use custom no-op app-services
by Pier Angelo Vendrame (@pierov) 09 Jul '25
by Pier Angelo Vendrame (@pierov) 09 Jul '25
09 Jul '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
fdae8e41 by Dan Ballard at 2025-07-08T12:55:38-07:00
fixup! TB 42669: [android] Use custom no-op app-services
Fix application-services detection in tba-fetch-deps
- - - - -
1 changed file:
- mobile/android/fenix/tools/tba-fetch-deps.sh
Changes:
=====================================
mobile/android/fenix/tools/tba-fetch-deps.sh
=====================================
@@ -91,8 +91,7 @@ else
rm "$app_services"
fi
mkdir -p "$GRADLE_MAVEN_REPOSITORIES/org/mozilla"
-if [ -f "$app_services" ]; then
- tar -C /tmp -xf "$app_services"
+if [ -d /tmp/application-services ]; then
cp -r /tmp/application-services/maven/org/mozilla/* "$GRADLE_MAVEN_REPOSITORIES/org/mozilla"
# Over on tor-browser-build all build tools are built for x86_64-linux.
@@ -103,7 +102,7 @@ if [ -f "$app_services" ]; then
# support reproducibility and are not necessary for development builds.
if [ "$os" != "unknown-linux" ] || [ "$arch" != "x86_64" ]; then
echo "Downloading nimbus-fml binary for $arch-$os"
- app_services_version=$(echo "$app_services" | grep -oE 'application-services-[0-9]+\.[0-9]+\.[0-9]+' | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
+ app_services_version=$(echo "$app_services" | grep -oE 'application-services-[0-9]+\.[0-9]+(\.[0-9]{1,2})?' | grep -oE '[0-9]+\.[0-9]+(\.[0-9]{1,2})?')
curl -L -o /tmp/nimbus-fml.zip "https://archive.mozilla.org/pub/app-services/releases/$app_services_version…"
unzip -d /tmp/nimbus-fml /tmp/nimbus-fml.zip
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/fdae8e4…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/fdae8e4…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] 3 commits: Bug 41496: Add a `make list-unused-projects` command
by boklm (@boklm) 09 Jul '25
by boklm (@boklm) 09 Jul '25
09 Jul '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
210daace by Nicolas Vigier at 2025-07-09T10:39:00+02:00
Bug 41496: Add a `make list-unused-projects` command
- - - - -
748fd384 by Nicolas Vigier at 2025-07-09T10:39:00+02:00
Bug 41496: Remove unused projects
- - - - -
effa01b3 by Nicolas Vigier at 2025-07-09T10:39:01+02:00
Bug 41496: Add a file to list projects used outside of normal builds
- - - - -
97 changed files:
- Makefile
- doc/MAKEFILE.txt
- − projects/aiohttp/build
- − projects/aiohttp/config
- − projects/aiohttp_socks/build
- − projects/aiohttp_socks/config
- − projects/aiorpcx/build
- − projects/aiorpcx/config
- − projects/async_timeout/build
- − projects/async_timeout/config
- − projects/attr/build
- − projects/attr/config
- − projects/browser/Bundle-Data/linux/Data/Electrum-NMC/config
- − projects/browser/Bundle-Data/linux/Data/ncprop279/ncprop279.conf
- projects/browser/build
- projects/browser/config
- − projects/browser/namecoin.patch
- − projects/certifi/build
- − projects/certifi/config
- − projects/certifi/roots_of_top_10_issuers.pem
- − projects/chardet/build
- − projects/chardet/config
- − projects/dns/build
- − projects/dns/config
- − projects/ecdsa/build
- − projects/ecdsa/config
- − projects/electrum-nmc/build
- − projects/electrum-nmc/config
- projects/firefox/build
- projects/firefox/config
- − projects/firefox/namecoin-etld.patch
- − projects/firefox/namecoin-torbutton.patch
- − projects/goansicolor/config
- − projects/gobtcd/config
- − projects/gobtcd2/config
- − projects/gobtclog/config
- − projects/gobtcutil/config
- − projects/gobuildinfo/config
- − projects/goconfigurable/config
- − projects/godegoutils/config
- − projects/godexlogconfig/config
- − projects/godns/config
- − projects/goeasyconfig/config
- − projects/gogroupcache/config
- − projects/goisatty/config
- − projects/gokingpin/config
- − projects/gomadns/config
- − projects/goncbtcjson/config
- − projects/goncrpcclient/config
- − projects/gopflag/config
- − projects/gopretty/config
- − projects/goservice/config
- − projects/gosocks/config
- − projects/gosvcutils/config
- − projects/gosystemd/config
- − projects/gotemplate/config
- − projects/gotext/config
- − projects/gotoml/config
- − projects/gounits/config
- − projects/gowebsocket/config
- − projects/goxcrypto/config
- − projects/goxcryptoed25519/config
- − projects/goxcryptoripemd160/config
- − projects/goxlog/config
- − projects/goxnet/config
- − projects/goxnetip/config
- − projects/goxsys/config
- − projects/goxsysunix/config
- − projects/gspt/config
- − projects/idna/build
- − projects/idna/config
- − projects/idna_ssl/build
- − projects/idna_ssl/config
- − projects/jsonrpclib/build
- − projects/jsonrpclib/config
- − projects/multidict/build
- − projects/multidict/config
- − projects/ncdns/build
- − projects/ncdns/config
- − projects/ncprop279/build
- − projects/ncprop279/config
- − projects/pyaes/build
- − projects/pyaes/config
- projects/release/config
- + projects/release/list_used_projects
- − projects/six/build
- − projects/six/config
- − projects/stemns/build
- − projects/stemns/config
- − projects/stemns/settings_port.py
- − projects/stemns/settings_services.py
- − projects/typing_extensions/build
- − projects/typing_extensions/config
- − projects/yarl/build
- − projects/yarl/config
- rbm
- + tools/list-unused-projects
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41506: Use A-S branch for nightlies builds.
by Pier Angelo Vendrame (@pierov) 09 Jul '25
by Pier Angelo Vendrame (@pierov) 09 Jul '25
09 Jul '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
23a8e4ee by Pier Angelo Vendrame at 2025-07-09T09:46:27+02:00
Bug 41506: Use A-S branch for nightlies builds.
- - - - -
4015ef36 by Pier Angelo Vendrame at 2025-07-09T09:47:18+02:00
Bug 41507: Fix artifact copy in single-arch build.
It seems single-arch builds do not use subdirectories for artifacts.
- - - - -
2 changed files:
- projects/application-services/config
- projects/browser/build.android
Changes:
=====================================
projects/application-services/config
=====================================
@@ -24,6 +24,11 @@ var:
nss_version: '3.110'
nspr_version: '4.36'
+targets:
+ nightly:
+ git_hash: '[% c("version") %]-TORBROWSER'
+ tag_gpg_id: 0
+
steps:
build:
filename: '[% project %]-[% c("version") %]-[% c("var/rebuild_date") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
=====================================
projects/browser/build.android
=====================================
@@ -122,5 +122,5 @@ apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $
[% IF c("var/nightly") -%]
mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts/"
- mv $rootdir/[% c('input_files_by_name/fenix') %]/geckoview/artifacts/[% c("var/abi") %] [% dest_dir %]/[% c('filename') %]/artifacts
+ mv $rootdir/[% c('input_files_by_name/fenix') %]/artifacts[% IF !c('var/android_single_arch') %]/[% c("var/abi") %][% END %] [% dest_dir %]/[% c('filename') %]/artifacts
[% END %]
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41503: Get macOS SDK from build-sources.tbb.torproject.org
by boklm (@boklm) 08 Jul '25
by boklm (@boklm) 08 Jul '25
08 Jul '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
018d3f2e by Nicolas Vigier at 2025-07-08T13:09:34+02:00
Bug 41503: Get macOS SDK from build-sources.tbb.torproject.org
- - - - -
1 changed file:
- projects/macosx-toolchain/config
Changes:
=====================================
projects/macosx-toolchain/config
=====================================
@@ -27,7 +27,8 @@ input_files:
- name: ninja
project: ninja
- name: SDK
- URL: https://swcdn.apple.com/content/downloads/10/32/082-12052-A_AHPGDY76PT/1a41…
+ # Original URL: https://swcdn.apple.com/content/downloads/10/32/082-12052-A_AHPGDY76PT/1a41…
+ URL: https://build-sources.tbb.torproject.org/CLTools_macOSNMOS_SDK-15.4.pkg
sha512sum: fd01c70038dbef48bd23fb8b7d18f234910733635f1b44518e71a66d2db92a70180e6a595c6bdd837fa8df7e9b297e570560842e9a6db863840bd051fe69fea5
- name: llvm-project
project: llvm-project
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41499: Copy artifacts when releasing tor browser
by boklm (@boklm) 08 Jul '25
by boklm (@boklm) 08 Jul '25
08 Jul '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
095e29b4 by Beatriz Rizental at 2025-07-08T13:01:39+02:00
Bug 41499: Copy artifacts when releasing tor browser
Co-authored-by: Nicolas Vigier <boklm(a)torproject.org>
- - - - -
3 changed files:
- projects/browser/build.android
- projects/geckoview/build_apk
- projects/release/build
Changes:
=====================================
projects/browser/build.android
=====================================
@@ -121,6 +121,6 @@ apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $
[% END -%]
[% IF c("var/nightly") -%]
- # mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts"
- # cp -r $rootdir/[% c('input_files_by_name/fenix') %]/artifacts [% dest_dir %]/[% c('filename') %]
+ mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts/"
+ mv $rootdir/[% c('input_files_by_name/fenix') %]/geckoview/artifacts/[% c("var/abi") %] [% dest_dir %]/[% c('filename') %]/artifacts
[% END %]
=====================================
projects/geckoview/build_apk
=====================================
@@ -5,6 +5,19 @@ echo "Starting the creation of the fat AAR $(date)"
tar -C $builddir -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
+mkdir -p $outdir/[% project %]/artifacts
+
+[% IF c("var/nightly") -%]
+ mkdir -p $outdir/[% project %]/artifacts/armeabi-v7a
+ mv $rootdir/[% c('input_files_by_name/geckoview_armv7') %]/artifacts/* $outdir/[% project %]/artifacts/armeabi-v7a
+ mkdir -p $outdir/[% project %]/artifacts/arm64-v8a
+ mv $rootdir/[% c('input_files_by_name/geckoview_aarch64') %]/artifacts/* $outdir/[% project %]/artifacts/arm64-v8a
+ mkdir -p $outdir/[% project %]/artifacts/x86
+ mv $rootdir/[% c('input_files_by_name/geckoview_x86') %]/artifacts/* $outdir/[% project %]/artifacts/x86
+ mkdir -p $outdir/[% project %]/artifacts/x86_64
+ mv $rootdir/[% c('input_files_by_name/geckoview_x86_64') %]/artifacts/* $outdir/[% project %]/artifacts/x86_64
+[% END -%]
+
# Specify the architectures we want to merge
export MOZ_ANDROID_FAT_AAR_ARCHITECTURES=armeabi-v7a,arm64-v8a,x86,x86_64
export MOZ_ANDROID_FAT_AAR_ARMEABI_V7A=$rootdir/[% c('input_files_by_name/geckoview_armv7') %]/geckoview/*.aar
=====================================
projects/release/build
=====================================
@@ -1,53 +1,65 @@
-#!/bin/sh
+#!/bin/bash
[% c("var/set_default_env") -%]
# reset HOME which was changed by var/set_default_env, for gpg
[% IF ENV.HOME %]export HOME="[% ENV.HOME %]"[% END %]
destdir="[% dest_dir _ '/' _ c("var/publish_dir") %]"
mkdir -p "$destdir"
+
+function mv_files {
+ inputfile="$1"
+ if test -d "$inputfile"/artifacts
+ then
+ mkdir -p "$destdir"/artifacts
+ mv "$inputfile"/artifacts/* "$destdir"/artifacts
+ rmdir "$inputfile"/artifacts
+ fi
+ mv "$inputfile"/* "$destdir"/
+}
+
[% IF c("var/browser_platforms/android-armv7") -%]
- mv [% c('input_files_by_name/android-armv7') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/android-armv7') %]"
[% END -%]
[% IF c("var/browser_platforms/android-x86") -%]
- mv [% c('input_files_by_name/android-x86') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/android-x86') %]"
[% END -%]
[% IF c("var/browser_platforms/android-x86_64") -%]
- mv [% c('input_files_by_name/android-x86_64') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/android-x86_64') %]"
[% END -%]
[% IF c("var/browser_platforms/android-aarch64") -%]
- mv [% c('input_files_by_name/android-aarch64') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/android-aarch64') %]"
[% END -%]
[% IF c("var/browser_platforms/windows-i686") -%]
- mv [% c('input_files_by_name/windows-i686') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/windows-i686') %]"
[% END -%]
[% IF c("var/browser_platforms/windows-x86_64") -%]
- mv [% c('input_files_by_name/windows-x86_64') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/windows-x86_64') %]"
[% END -%]
[% IF c("var/browser_platforms/macos") -%]
- mv [% c('input_files_by_name/macos') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/macos') %]"
[% END -%]
[% IF c("var/browser_platforms/macos-x86_64") -%]
- mv [% c('input_files_by_name/macos-x86_64') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/macos-x86_64') %]"
[% END -%]
[% IF c("var/browser_platforms/macos-aarch64") -%]
- mv [% c('input_files_by_name/macos-aarch64') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/macos-aarch64') %]"
[% END -%]
[% IF c("var/browser_platforms/linux-i686") -%]
- mv [% c('input_files_by_name/linux-i686') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/linux-i686') %]"
[% END -%]
[% IF c("var/browser_platforms/linux-x86_64") -%]
- mv [% c('input_files_by_name/linux-x86_64') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/linux-x86_64') %]"
[% END -%]
[% IF c("var/browser_platforms/linux-aarch64") -%]
- mv [% c('input_files_by_name/linux-aarch64') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/linux-aarch64') %]"
[% END -%]
[% IF c("var/linux-packages") || c("var/linux-packages-aarch64") -%]
[% IF c("var/linux-packages") -%]
- mv [% c('input_files_by_name/deb-packages') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/deb-packages') %]"
[% END -%]
[% IF c("var/linux-packages-aarch64") -%]
- mv [% c('input_files_by_name/deb-packages-aarch64') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/deb-packages-aarch64') %]"
[% END -%]
- mv [% c('input_files_by_name/rpm-packages') %]/* "$destdir"/
+ mv_files "[% c('input_files_by_name/rpm-packages') %]"
[% END -%]
[% IF c("var/browser-src") -%]
mv [% c('input_files_by_name/src-firefox') %] \
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41502: Bump Application Services to build2.
by Pier Angelo Vendrame (@pierov) 07 Jul '25
by Pier Angelo Vendrame (@pierov) 07 Jul '25
07 Jul '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
971557c8 by Pier Angelo Vendrame at 2025-07-07T18:49:39+02:00
Bug 41502: Bump Application Services to build2.
- - - - -
1 changed file:
- projects/application-services/config
Changes:
=====================================
projects/application-services/config
=====================================
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
version: 140.0
-git_hash: 'v[% c("version") %]-TORBROWSER'
+git_hash: 'v[% c("version") %]-TORBROWSER-build[% c("var/build_number") %]'
git_url: https://gitlab.torproject.org/tpo/applications/application-services.git
tag_gpg_id: 1
gpg_keyring:
@@ -16,6 +16,7 @@ container:
use_container: 1
var:
+ build_number: 2
# This should be updated when the list of gradle dependencies is changed.
gradle_dependencies_version: 12
gradle_version: 8.13
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch tor-browser-140.0esr-15.0-1
by Pier Angelo Vendrame (@pierov) 07 Jul '25
by Pier Angelo Vendrame (@pierov) 07 Jul '25
07 Jul '25
Pier Angelo Vendrame pushed new branch tor-browser-140.0esr-15.0-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag FIREFOX_140_0esr_RELEASE
by Pier Angelo Vendrame (@pierov) 07 Jul '25
by Pier Angelo Vendrame (@pierov) 07 Jul '25
07 Jul '25
Pier Angelo Vendrame pushed new tag FIREFOX_140_0esr_RELEASE at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/FIREF…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag FIREFOX_140_0esr_RELEASE
by Pier Angelo Vendrame (@pierov) 07 Jul '25
by Pier Angelo Vendrame (@pierov) 07 Jul '25
07 Jul '25
Pier Angelo Vendrame pushed new tag FIREFOX_140_0esr_RELEASE at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/FIREFOX_1…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-2] fixup! BB 41918: Option to reuse last window size when letterboxing is enabled.
by brizental (@brizental) 30 Jun '25
by brizental (@brizental) 30 Jun '25
30 Jun '25
brizental pushed to branch tor-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
dacf2bdc by Beatriz Rizental at 2025-06-26T18:32:59+02:00
fixup! BB 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
2 changed files:
- browser/app/profile/001-base-profile.js
- browser/components/BrowserGlue.sys.mjs
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -411,6 +411,8 @@ pref("privacy.resistFingerprinting.randomDataOnCanvasExtract", true, locked);
pref("privacy.resistFingerprinting", true);
pref("privacy.resistFingerprinting.exemptedDomains", "");
#endif
+// tor-browser#43904: Enable this so we skip the blank window if user is resisting fingerprinting.
+pref("privacy.resistFingerprinting.skipEarlyBlankFirstPaint", true);
// tor-browser#18603: failIfMajorPerformanceCaveat is an optional attribute that
// can be used when creating a WebGL context if the browser detects that the
// performance would be low. That could be used to fingerpting users with a not
=====================================
browser/components/BrowserGlue.sys.mjs
=====================================
@@ -872,11 +872,6 @@ BrowserGlue.prototype = {
return false;
}
- // We don't want to mess up with RFP new window / letterboxing machinery.
- if (Services.prefs.getBoolPref("privacy.resistFingerprinting", false)) {
- return false;
- }
-
let width = getValue("width");
let height = getValue("height");
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dacf2bd…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dacf2bd…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41484: Add missing keyring to application-services project
by brizental (@brizental) 26 Jun '25
by brizental (@brizental) 26 Jun '25
26 Jun '25
brizental pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
36061174 by Beatriz Rizental at 2025-06-26T14:23:24+02:00
Bug 41484: Add missing keyring to application-services project
- - - - -
1 changed file:
- projects/application-services/config
Changes:
=====================================
projects/application-services/config
=====================================
@@ -3,6 +3,14 @@ version: 140.0
git_hash: 'v[% c("version") %]-TORBROWSER'
git_url: https://gitlab.torproject.org/tpo/applications/application-services.git
tag_gpg_id: 1
+gpg_keyring:
+ - boklm.gpg
+ - brizental.gpg
+ - clairehurst.gpg
+ - dan_b.gpg
+ - ma1.gpg
+ - morgan.gpg
+ - pierov.gpg
git_submodule: 1
container:
use_container: 1
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/3…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/3…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-2] fixup! MB 213: Customize the search engines list
by Pier Angelo Vendrame (@pierov) 26 Jun '25
by Pier Angelo Vendrame (@pierov) 26 Jun '25
26 Jun '25
Pier Angelo Vendrame pushed to branch mullvad-browser-140.0a1-15.0-2 at The Tor Project / Applications / Mullvad Browser
Commits:
c7a07008 by Pier Angelo Vendrame at 2025-06-26T13:07:47+02:00
fixup! MB 213: Customize the search engines list
TB 43728: Fix search engines also on MB.
- - - - -
2 changed files:
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/content/mullvadBrowserSearchEngineIcons.json
Changes:
=====================================
toolkit/components/search/AppProvidedSearchEngine.sys.mjs
=====================================
@@ -129,29 +129,7 @@ class IconHandler {
* source object or null of there is no icon with the supplied width.
*/
async createIconURL(iconRecord) {
- let iconData;
- try {
- iconData = await this.#iconCollection.attachments.get(iconRecord);
- } catch (ex) {
- console.error(ex);
- }
- if (!iconData) {
- console.warn("Unable to find the attachment for", iconRecord.id);
- // Queue an update in case we haven't downloaded it yet.
- this.#pendingUpdatesMap.set(iconRecord.id, iconRecord);
- this.#maybeQueueIdle();
- return null;
- }
-
- if (iconData.record.last_modified != iconRecord.last_modified) {
- // The icon we have stored is out of date, queue an update so that we'll
- // download the new icon.
- this.#pendingUpdatesMap.set(iconRecord.id, iconRecord);
- this.#maybeQueueIdle();
- }
- return URL.createObjectURL(
- new Blob([iconData.buffer], { type: iconRecord.attachment.mimetype })
- );
+ return iconRecord.url;
}
QueryInterface = ChromeUtils.generateQI(["nsIObserver"]);
@@ -237,11 +215,13 @@ class IconHandler {
async #buildIconMap() {
try {
this.#iconMap = new Map(
- await (
- await fetch(
- "chrome://global/content/search/mullvadBrowserSearchEngineIcons.json"
- )
- ).json()
+ Object.entries(
+ await (
+ await fetch(
+ "chrome://global/content/search/mullvadBrowserSearchEngineIcons.json"
+ )
+ ).json()
+ )
);
} catch (ex) {
console.error(ex);
=====================================
toolkit/components/search/content/mullvadBrowserSearchEngineIcons.json
=====================================
@@ -1,9 +1,23 @@
-[
- ["ddg", "chrome://global/content/search/duckduckgo.ico"],
- ["ddg-html", "chrome://global/content/search/duckduckgo.ico"],
- ["mullvad-leta", "chrome://global/content/search/mullvad-leta.svg"],
- ["mojeek", "chrome://global/content/search/mojeek.ico"],
- ["brave", "chrome://global/content/search/brave.svg"],
- ["startpage", "chrome://global/content/search/startpage.png"],
- ["metager", "chrome://global/content/search/metager.ico"]
-]
+{
+ "ddg": [
+ { "url": "chrome://global/content/search/duckduckgo.ico", "iconSize": 16 }
+ ],
+ "ddg-html": [
+ { "url": "chrome://global/content/search/duckduckgo.ico", "iconSize": 16 }
+ ],
+ "mullvad-leta": [
+ { "url": "chrome://global/content/search/mullvad-leta.svg", "iconSize": 16 }
+ ],
+ "mojeek": [
+ { "url": "chrome://global/content/search/mojeek.ico", "iconSize": 16 }
+ ],
+ "brave": [
+ { "url": "chrome://global/content/search/brave.svg", "iconSize": 16 }
+ ],
+ "startpage": [
+ { "url": "chrome://global/content/search/startpage.png", "iconSize": 16 }
+ ],
+ "metager": [
+ { "url": "chrome://global/content/search/metager.ico", "iconSize": 16 }
+ ]
+}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/c7a…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/c7a…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41501: Zero out timestamp for cargo vendor archives
by brizental (@brizental) 26 Jun '25
by brizental (@brizental) 26 Jun '25
26 Jun '25
brizental pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
32fa3ff9 by Beatriz Rizental at 2025-06-26T13:41:07+02:00
Bug 41501: Zero out timestamp for cargo vendor archives
- - - - -
5 changed files:
- projects/application-services/config
- projects/cbindgen/config
- projects/rcodesign/config
- projects/uniffi-rs/config
- rbm.conf
Changes:
=====================================
projects/application-services/config
=====================================
@@ -66,7 +66,7 @@ steps:
project: application-services
pkg_type: cargo_vendor
norec:
- sha256sum: 23b027cf546e34b57576ab88ef3ce8218cf1654cc44c4bde3c553aea98274f20
+ sha256sum: 40497b315d225ef9e0066f67e96b48b9848fa158268af2c3b4031e93dfb1790f
enable: '[% !c("var/fetch_gradle_dependencies") %]'
- filename: gen_gradle_deps_file.sh
enable: '[% c("var/fetch_gradle_dependencies") %]'
=====================================
projects/cbindgen/config
=====================================
@@ -16,4 +16,4 @@ steps:
project: cbindgen
pkg_type: cargo_vendor
norec:
- sha256sum: 5bdbbb834e2230454041251c61994450e41dc793c510b45ed7b0b392e743c03f
+ sha256sum: b9ce20b24182464902cfc7d0ac0bbe00fce530a4ec58acaeffbc4356fdd5aa51
=====================================
projects/rcodesign/config
=====================================
@@ -16,4 +16,4 @@ steps:
project: rcodesign
pkg_type: cargo_vendor
norec:
- sha256sum: c778deb784f68b48a51c6c54095c6cd45e37847d65e9db36ce39b4326874ae9c
+ sha256sum: c0215cfcfe255070f0d6aecba5be92d2266b30b91135153a1907b1cb164a133c
=====================================
projects/uniffi-rs/config
=====================================
@@ -17,4 +17,4 @@ steps:
project: uniffi-rs
pkg_type: cargo_vendor
norec:
- sha256sum: 23c79da9169064f42c34b9dadfee9dcf5ed251f9843615ca3e9a0e59a49f581d
+ sha256sum: 13aa6d7c6efb3701cb40dfd110e35bcba70a388f6e18fd921229e5f22b06f8ce
=====================================
rbm.conf
=====================================
@@ -22,6 +22,7 @@ steps:
filename: '[% project %]-vendor-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
output_dir: "out/[% project %]/cargo_vendor"
compress_tar: gz
+ timestamp: 0
cargo_vendor: |
#!/bin/bash
[% c("var/set_default_env") %]
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/3…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/3…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-2] fixup! BB 40925: Implemented the Security Level component
by Pier Angelo Vendrame (@pierov) 26 Jun '25
by Pier Angelo Vendrame (@pierov) 26 Jun '25
26 Jun '25
Pier Angelo Vendrame pushed to branch base-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
c0cb717d by Pier Angelo Vendrame at 2025-06-26T13:17:05+02:00
fixup! BB 40925: Implemented the Security Level component
Restore the resource:// URL for SecurityLevel.sys.mjs.
- - - - -
1 changed file:
- toolkit/components/search/SearchEngine.sys.mjs
Changes:
=====================================
toolkit/components/search/SearchEngine.sys.mjs
=====================================
@@ -14,7 +14,7 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
SearchSettings: "moz-src:///toolkit/components/search/SearchSettings.sys.mjs",
SearchUtils: "moz-src:///toolkit/components/search/SearchUtils.sys.mjs",
- SecurityLevelPrefs: "moz-src:///toolkit/modules/SecurityLevel.sys.mjs",
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
OpenSearchEngine:
"moz-src:///toolkit/components/search/OpenSearchEngine.sys.mjs",
});
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c0cb717…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c0cb717…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-2] fixup! BB 40925: Implemented the Security Level component
by Pier Angelo Vendrame (@pierov) 26 Jun '25
by Pier Angelo Vendrame (@pierov) 26 Jun '25
26 Jun '25
Pier Angelo Vendrame pushed to branch mullvad-browser-140.0a1-15.0-2 at The Tor Project / Applications / Mullvad Browser
Commits:
807a464b by Pier Angelo Vendrame at 2025-06-26T13:04:37+02:00
fixup! BB 40925: Implemented the Security Level component
Restore the resource:// URL for SecurityLevel.sys.mjs.
- - - - -
1 changed file:
- toolkit/components/search/SearchEngine.sys.mjs
Changes:
=====================================
toolkit/components/search/SearchEngine.sys.mjs
=====================================
@@ -14,7 +14,7 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
SearchSettings: "moz-src:///toolkit/components/search/SearchSettings.sys.mjs",
SearchUtils: "moz-src:///toolkit/components/search/SearchUtils.sys.mjs",
- SecurityLevelPrefs: "moz-src:///toolkit/modules/SecurityLevel.sys.mjs",
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
OpenSearchEngine:
"moz-src:///toolkit/components/search/OpenSearchEngine.sys.mjs",
});
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/807…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/807…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-2] 2 commits: fixup! BB 40925: Implemented the Security Level component
by Pier Angelo Vendrame (@pierov) 26 Jun '25
by Pier Angelo Vendrame (@pierov) 26 Jun '25
26 Jun '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
61efd5f3 by Pier Angelo Vendrame at 2025-06-26T11:37:44+02:00
fixup! BB 40925: Implemented the Security Level component
Restore the resource:// URL for SecurityLevel.sys.mjs.
- - - - -
ba26fcb0 by Pier Angelo Vendrame at 2025-06-26T11:38:52+02:00
fixup! TB 42891: Set the bundled search engine for Tor Browser.
TB 43728: Update our custom icon fetching code.
Upstream added the possibility to have search engine icons in various
size, so we needed to update our code for getting search engines.
- - - - -
3 changed files:
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchEngine.sys.mjs
- toolkit/components/search/content/torBrowserSearchEngineIcons.json
Changes:
=====================================
toolkit/components/search/AppProvidedSearchEngine.sys.mjs
=====================================
@@ -134,29 +134,7 @@ class IconHandler {
* source object or null of there is no icon with the supplied width.
*/
async createIconURL(iconRecord) {
- let iconData;
- try {
- iconData = await this.#iconCollection.attachments.get(iconRecord);
- } catch (ex) {
- console.error(ex);
- }
- if (!iconData) {
- console.warn("Unable to find the attachment for", iconRecord.id);
- // Queue an update in case we haven't downloaded it yet.
- this.#pendingUpdatesMap.set(iconRecord.id, iconRecord);
- this.#maybeQueueIdle();
- return null;
- }
-
- if (iconData.record.last_modified != iconRecord.last_modified) {
- // The icon we have stored is out of date, queue an update so that we'll
- // download the new icon.
- this.#pendingUpdatesMap.set(iconRecord.id, iconRecord);
- this.#maybeQueueIdle();
- }
- return URL.createObjectURL(
- new Blob([iconData.buffer], { type: iconRecord.attachment.mimetype })
- );
+ return iconRecord.url;
}
QueryInterface = ChromeUtils.generateQI(["nsIObserver"]);
@@ -242,11 +220,13 @@ class IconHandler {
async #buildIconMap() {
try {
this.#iconMap = new Map(
- await (
- await fetch(
- "chrome://global/content/search/torBrowserSearchEngineIcons.json"
- )
- ).json()
+ Object.entries(
+ await (
+ await fetch(
+ "chrome://global/content/search/torBrowserSearchEngineIcons.json"
+ )
+ ).json()
+ )
);
} catch (ex) {
console.error(ex);
=====================================
toolkit/components/search/SearchEngine.sys.mjs
=====================================
@@ -14,7 +14,7 @@ const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
SearchSettings: "moz-src:///toolkit/components/search/SearchSettings.sys.mjs",
SearchUtils: "moz-src:///toolkit/components/search/SearchUtils.sys.mjs",
- SecurityLevelPrefs: "moz-src:///toolkit/modules/SecurityLevel.sys.mjs",
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
OpenSearchEngine:
"moz-src:///toolkit/components/search/OpenSearchEngine.sys.mjs",
});
=====================================
toolkit/components/search/content/torBrowserSearchEngineIcons.json
=====================================
@@ -1,7 +1,32 @@
-[
- ["ddg", "chrome://global/content/search/duckduckgo.ico"],
- ["ddg-onion", "chrome://global/content/search/duckduckgo.ico"],
- ["startpage", "chrome://global/content/search/startpage.png"],
- ["startpage-onion", "chrome://global/content/search/startpage.png"],
- ["wikipedia", "chrome://global/content/search/wikipedia.ico"]
-]
+{
+ "ddg": [
+ {
+ "url": "chrome://global/content/search/duckduckgo.ico",
+ "imageSize": 16
+ }
+ ],
+ "ddg-onion": [
+ {
+ "url": "chrome://global/content/search/duckduckgo.ico",
+ "imageSize": 16
+ }
+ ],
+ "startpage": [
+ {
+ "url": "chrome://global/content/search/startpage.png",
+ "imageSize": 16
+ }
+ ],
+ "startpage-onion": [
+ {
+ "url": "chrome://global/content/search/startpage.png",
+ "imageSize": 16
+ }
+ ],
+ "wikipedia": [
+ {
+ "url": "chrome://global/content/search/wikipedia.ico",
+ "imageSize": 16
+ }
+ ]
+}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ac53eb…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ac53eb…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41500: Optimize for size on Android.
by Pier Angelo Vendrame (@pierov) 26 Jun '25
by Pier Angelo Vendrame (@pierov) 26 Jun '25
26 Jun '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
dc3ea60c by Pier Angelo Vendrame at 2025-06-26T12:02:50+02:00
Bug 41500: Optimize for size on Android.
Pass -Oz to tor and its dependencies.
- - - - -
5 changed files:
- projects/libevent/config
- projects/openssl/config
- projects/tor/config
- projects/zlib/build
- projects/zstd/build
Changes:
=====================================
projects/libevent/config
=====================================
@@ -17,7 +17,7 @@ targets:
configure_opt_project: --disable-shared
android:
var:
- configure_opt_project: --disable-shared
+ configure_opt_project: --disable-shared CFLAGS="-Oz"
input_files:
- project: container-image
=====================================
projects/openssl/config
=====================================
@@ -26,7 +26,7 @@ targets:
configure_opts: '--cross-compile-prefix=[% c("var/build_target") %]- darwin64-[% c("var/macos_arch") %]-cc enable-ec_nistp_64_gcc_128'
android:
var:
- configure_opts: 'CC=[% c("var/CC") %] android-[% c("var/toolchain_arch") %] -no-shared -D__ANDROID_API__=[% c("var/android_min_api") %]'
+ configure_opts: 'CC=[% c("var/CC") %] android-[% c("var/toolchain_arch") %] -no-shared -D__ANDROID_API__=[% c("var/android_min_api") %] -Oz'
input_files:
- project: container-image
=====================================
projects/tor/config
=====================================
@@ -43,7 +43,7 @@ targets:
android:
var:
- configure_opt_project: '--enable-android --enable-static-openssl --enable-static-libevent --enable-zstd --disable-tool-name-check --disable-system-torrc'
+ configure_opt_project: '--enable-android --enable-static-openssl --enable-static-libevent --enable-zstd --disable-tool-name-check --disable-system-torrc CFLAGS=-Oz'
input_files:
- project: container-image
=====================================
projects/zlib/build
=====================================
@@ -7,13 +7,14 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_ta
cd /var/tmp/build/[% project %]-[% c('version') %]
[% IF c("var/windows") -%]
- make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- CC=[% c("arch") %]-w64-mingw32-cc -j[% c("num_procs") %] SHARED_MODE=1 LOC="[% c("var/CFLAGS") %] [% c("var/LDFLAGS") %]"
- make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- CC=[% c("arch") %]-w64-mingw32-cc -j[% c("num_procs") %] SHARED_MODE=1 LOC="[% c("var/CFLAGS") %] [% c("var/LDFLAGS") %]" install
+ make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- CC=[% c("arch") %]-w64-mingw32-cc -j[% c("num_procs") %] SHARED_MODE=1 LOC="[% c('var/CFLAGS') %] [% c('var/LDFLAGS') %]"
+ make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- CC=[% c("arch") %]-w64-mingw32-cc -j[% c("num_procs") %] SHARED_MODE=1 LOC="[% c('var/CFLAGS') %] [% c('var/LDFLAGS') %]" install
[% END -%]
[% IF c("var/android") -%]
export CHOST=[% c("var/cross_prefix") %]
export CC=[% c("var/CC") %]
+ export CFLAGS="-Oz"
./configure --prefix=$distdir
make -j[% c("num_procs") %]
make -j[% c("num_procs") %] install
=====================================
projects/zstd/build
=====================================
@@ -8,6 +8,7 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_ta
cd /var/tmp/build/[% project %]-[% c('version') %]
export CPPFLAGS=-DZSTD_MULTITHREAD
export CC=[% c("var/CC") %]
+export CFLAGS="-Oz"
make -C lib -j[% c("num_procs") %] PREFIX=$distdir install
# Only need static libraries
rm $distdir/lib/libzstd.so*
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/d…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/d…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41484: Use our fork of application-services
by brizental (@brizental) 26 Jun '25
by brizental (@brizental) 26 Jun '25
26 Jun '25
brizental pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
bda3d714 by Beatriz Rizental at 2025-06-26T11:30:55+02:00
Bug 41484: Use our fork of application-services
- - - - -
11 changed files:
- − projects/application-services/41422-disable-viaduct.diff
- − projects/application-services/a-s-noop.diff
- − projects/application-services/apply-bug-13028.diff
- − projects/application-services/bug_13028.patch
- projects/application-services/build
- − projects/application-services/cargo-no-build.sh
- projects/application-services/config
- − projects/application-services/glean-noop.diff
- − projects/application-services/local-repository.diff
- − projects/application-services/no-ndk-lookup.diff
- − projects/application-services/offline-nimbus-fml.diff
Changes:
=====================================
projects/application-services/41422-disable-viaduct.diff deleted
=====================================
@@ -1,13 +0,0 @@
-diff --git a/components/viaduct/src/backend/ffi.rs b/components/viaduct/src/backend/ffi.rs
-index cca6bc68f..5d11eb026 100644
---- a/components/viaduct/src/backend/ffi.rs
-+++ b/components/viaduct/src/backend/ffi.rs
-@@ -37,6 +37,8 @@ macro_rules! backend_error {
- pub struct FfiBackend;
- impl Backend for FfiBackend {
- fn send(&self, request: crate::Request) -> Result<crate::Response, Error> {
-+ return Err(backend_error!("Viaduct is disabled in Tor Browser."));
-+
- use ffi_support::IntoFfi;
- use prost::Message;
- super::note_backend("FFI (trusted)");
=====================================
projects/application-services/a-s-noop.diff deleted
=====================================
@@ -1,158 +0,0 @@
-diff --git a/build-scripts/component-common.gradle b/build-scripts/component-common.gradle
-index a126341b0..3b3579290 100644
---- a/build-scripts/component-common.gradle
-+++ b/build-scripts/component-common.gradle
-@@ -111,16 +111,30 @@ ext.configureUniFFIBindgen = { crateName ->
- commandLine "${mozconfig.topobjdir}/dist/host/bin/embedded-uniffi-bindgen", 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
- }
- } else {
-- def libraryPath = megazordNative.asFileTree.matching {
-- include "${nativeRustTarget}/libmegazord.*"
-- }.singleFile
--
-- if (libraryPath == null) {
-- throw new GradleException("libmegazord dynamic library path not found")
-- }
-- exec {
-- workingDir project.rootDir
-- commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
-+ if (crateName.toString().contains("places")) {
-+ def libraryPath = megazordNative.asFileTree.matching {
-+ include "${nativeRustTarget}/libmegazord.*"
-+ }.singleFile
-+
-+ if (libraryPath == null) {
-+ throw new GradleException("libmegazord dynamic library path not found")
-+ }
-+ exec {
-+ workingDir project.rootDir
-+ commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
-+ }
-+ } else {
-+ def libraryPath = "${project.rootDir}/megazords/full/target/debug/libmegazord.so"
-+ exec {
-+ workingDir project.rootDir
-+ def command = ["${rootProject.projectDir}/uniffi-rs/uniffi-bindgen", 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format']
-+ println "Executing command: ${command.join(' ')}"
-+ commandLine command
-+
-+ // Print both stdout and stderr to Gradle's console
-+ standardOutput = System.out
-+ errorOutput = System.err
-+ }
- }
- }
- }
-diff --git a/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt b/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt
-index 78c16dd0a..d2615fa74 100644
---- a/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt
-+++ b/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt
-@@ -13,4 +13,5 @@ fun FxaServer.contentUrl() = when (this) {
- is FxaServer.China -> "https://accounts.firefox.com.cn"
- is FxaServer.LocalDev -> "http://127.0.0.1:3030"
- is FxaServer.Custom -> this.url
-+ is FxaServer.__NOOP -> ""
- }
-diff --git a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
-index 376ef90d9..d80eea50f 100644
---- a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
-+++ b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
-@@ -535,6 +535,8 @@ open class Nimbus(
- ),
- )
- }
-+
-+ EnrollmentChangeEventType.__NOOP -> {}
- }
- }
- }
-diff --git a/megazords/full/Cargo.toml b/megazords/full/Cargo.toml
-index c5e9eea19..ce899aac1 100644
---- a/megazords/full/Cargo.toml
-+++ b/megazords/full/Cargo.toml
-@@ -9,24 +9,24 @@ license = "MPL-2.0"
- crate-type = ["cdylib"]
-
- [dependencies]
--fxa-client = { path = "../../components/fxa-client" }
--logins = { path = "../../components/logins" }
--tabs = { path = "../../components/tabs/" }
--sync_manager = { path = "../../components/sync_manager/" }
-+# fxa-client = { path = "../../components/fxa-client" }
-+# logins = { path = "../../components/logins" }
-+# tabs = { path = "../../components/tabs/" }
-+# sync_manager = { path = "../../components/sync_manager/" }
- # TODO: Uncomment this code when webext-storage component is integrated in android
- # webext-storage = { path = "../../components/webext-storage/" }
- places = { path = "../../components/places" }
--push = { path = "../../components/push" }
--remote_settings = { path = "../../components/remote_settings" }
--rust-log-forwarder = { path = "../../components/support/rust-log-forwarder" }
--viaduct = { path = "../../components/viaduct" }
--nimbus-sdk = { path = "../../components/nimbus" }
--autofill = { path = "../../components/autofill" }
--crashtest = { path = "../../components/crashtest" }
--error-support = { path = "../../components/support/error" }
--suggest = { path = "../../components/suggest" }
--search = { path = "../../components/search" }
--tracing-support = { path = "../../components/support/tracing" }
-+# push = { path = "../../components/push" }
-+# remote_settings = { path = "../../components/remote_settings" }
-+# rust-log-forwarder = { path = "../../components/support/rust-log-forwarder" }
-+# viaduct = { path = "../../components/viaduct" }
-+# nimbus-sdk = { path = "../../components/nimbus" }
-+# autofill = { path = "../../components/autofill" }
-+# crashtest = { path = "../../components/crashtest" }
-+# error-support = { path = "../../components/support/error" }
-+# suggest = { path = "../../components/suggest" }
-+# search = { path = "../../components/search" }
-+# tracing-support = { path = "../../components/support/tracing" }
-
- lazy_static = "1.4"
- init_rust_components = { path = "../../components/init_rust_components" }
-diff --git a/megazords/full/src/lib.rs b/megazords/full/src/lib.rs
-index 4b6ba4499..e4fde58ae 100644
---- a/megazords/full/src/lib.rs
-+++ b/megazords/full/src/lib.rs
-@@ -8,24 +8,24 @@
- use std::ffi::CString;
- use std::os::raw::c_char;
-
--pub use autofill;
--pub use crashtest;
--pub use error_support;
--pub use fxa_client;
--pub use init_rust_components;
--pub use logins;
--pub use merino;
--pub use nimbus;
-+// pub use autofill;
-+// pub use crashtest;
-+// pub use error_support;
-+// pub use fxa_client;
-+// pub use init_rust_components;
-+// pub use logins;
-+// pub use merino;
-+// pub use nimbus;
- pub use places;
--pub use push;
--pub use remote_settings;
--pub use rust_log_forwarder;
--pub use search;
--pub use suggest;
--pub use sync_manager;
--pub use tabs;
--pub use tracing_support;
--pub use viaduct;
-+// pub use push;
-+// pub use remote_settings;
-+// pub use rust_log_forwarder;
-+// pub use search;
-+// pub use suggest;
-+// pub use sync_manager;
-+// pub use tabs;
-+// pub use tracing_support;
-+// pub use viaduct;
- // TODO: Uncomment this code when webext-storage component is integrated in android
- // pub use webext_storage;
-
=====================================
projects/application-services/apply-bug-13028.diff deleted
=====================================
@@ -1,20 +0,0 @@
-diff --git a/libs/build-all.sh b/libs/build-all.sh
-index 650c1299..6c4e5404 100755
---- a/libs/build-all.sh
-+++ b/libs/build-all.sh
-@@ -128,6 +128,15 @@ echo $'\
- fi
- ' | patch "${NSS_SRC_PATH}/nspr/configure"
-
-+rm -f python
-+ln -s /usr/bin/python3 python
-+export PATH=$(pwd):$PATH
-+patch_13028=$(realpath bug_13028.patch)
-+pushd $NSS_SRC_PATH
-+# Apply our proxy bypass defense-in-depth here as well to be on the safe side.
-+patch -p2 < $patch_13028
-+popd
-+
- if [[ "${PLATFORM}" == "ios" ]]
- then
- ./build-all-ios.sh "${SQLCIPHER_SRC_PATH}" "${NSS_SRC_PATH}"
=====================================
projects/application-services/bug_13028.patch deleted
=====================================
@@ -1,79 +0,0 @@
-From 2f0888c348561249d3083555db33c5619840dbfa Mon Sep 17 00:00:00 2001
-From: Mike Perry <mikeperry-git(a)torproject.org>
-Date: Mon, 29 Sep 2014 14:30:19 -0700
-Subject: [PATCH] Bug 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.
-
-diff --git a/security/nss/lib/certhigh/ocsp.c b/security/nss/lib/certhigh/ocsp.c
-index cea8456606bf..86fa971cfbef 100644
---- a/security/nss/lib/certhigh/ocsp.c
-+++ b/security/nss/lib/certhigh/ocsp.c
-@@ -2932,6 +2932,14 @@ ocsp_ConnectToHost(const char *host, PRUint16 port)
- PRNetAddr addr;
- char *netdbbuf = NULL;
-
-+ // XXX: Do we need a unittest ifdef here? We don't want to break the tests, but
-+ // we want to ensure nothing can ever hit this code in production.
-+#if 1
-+ printf("Tor Browser BUG: Attempted OSCP direct connect to %s, port %u\n", host,
-+ port);
-+ goto loser;
-+#endif
-+
- sock = PR_NewTCPSocket();
- if (sock == NULL)
- goto loser;
-diff --git a/security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c b/security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
-index e8698376b5be..85791d84a932 100644
---- a/security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
-+++ b/security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
-@@ -1334,6 +1334,13 @@ pkix_pl_Socket_Create(
- plContext),
- PKIX_COULDNOTCREATESOCKETOBJECT);
-
-+ // XXX: Do we need a unittest ifdef here? We don't want to break the tests, but
-+ // we want to ensure nothing can ever hit this code in production.
-+#if 1
-+ printf("Tor Browser BUG: Attempted pkix direct socket connect\n");
-+ PKIX_ERROR(PKIX_PRNEWTCPSOCKETFAILED);
-+#endif
-+
- socket->isServer = isServer;
- socket->timeout = timeout;
- socket->clientSock = NULL;
-@@ -1433,6 +1440,13 @@ pkix_pl_Socket_CreateByName(
-
- localCopyName = PL_strdup(serverName);
-
-+ // XXX: Do we need a unittest ifdef here? We don't want to break the tests, but
-+ // we want to ensure nothing can ever hit this code in production.
-+#if 1
-+ printf("Tor Browser BUG: Attempted pkix direct connect to %s\n", serverName);
-+ PKIX_ERROR(PKIX_PRNEWTCPSOCKETFAILED);
-+#endif
-+
- sepPtr = strchr(localCopyName, ':');
- /* First strip off the portnum, if present, from the end of the name */
- if (sepPtr) {
-@@ -1582,6 +1596,13 @@ pkix_pl_Socket_CreateByHostAndPort(
- PKIX_ENTER(SOCKET, "pkix_pl_Socket_CreateByHostAndPort");
- PKIX_NULLCHECK_THREE(hostname, pStatus, pSocket);
-
-+ // XXX: Do we need a unittest ifdef here? We don't want to break the tests, but
-+ // we want to ensure nothing can ever hit this code in production.
-+#if 1
-+ printf("Tor Browser BUG: Attempted pkix direct connect to %s, port %u\n", hostname,
-+ portnum);
-+ PKIX_ERROR(PKIX_PRNEWTCPSOCKETFAILED);
-+#endif
-
- prstatus = PR_GetHostByName(hostname, buf, sizeof(buf), &hostent);
-
---
-2.27.0
-
=====================================
projects/application-services/build
=====================================
@@ -68,34 +68,12 @@ EOF
tar -xf $rootdir/[% c('input_files_by_name/uniffi-rs') %]
-# We add a suffix to the version to make it super specific.
-# This is useful for developer builds, which seem to try to fetch
-# latest versions of dependencies sometimes.
-sed -i '$ s/$/-TORBROWSER/' version.txt
-
pushd libs
ln -s $rootdir/[% c("input_files_by_name/nss") %] ./
-ln -s $rootdir/bug_13028.patch
-patch -p2 < $rootdir/apply-bug-13028.diff
-patch -p2 < $rootdir/no-ndk-lookup.diff
./build-all.sh desktop
./build-all.sh android
popd
-pushd megazords/full
-NSS_DIR=$(pwd)/../../libs/desktop/linux-x86-64/nss cargo build --target-dir=$(pwd)/target
-popd
-
-cp $rootdir/cargo-no-build.sh megazords/full/android/
-chmod +x megazords/full/android/cargo-no-build.sh
-patch -p1 < $rootdir/a-s-noop.diff
-
-pushd components/external/glean
-cp $rootdir/cargo-no-build.sh glean-core/android-native/
-cp $builddir/uniffi-rs/uniffi-bindgen glean-core/android-native/
-patch -p1 < $rootdir/glean-noop.diff
-popd
-
[% IF c('var/fetch_gradle_dependencies') %]
# XXX: `assemble` is still not enough to see all fetched dependencies via
# Gradle's --debug. See: tor-browser-build#40056.
@@ -107,10 +85,7 @@ popd
# otherwise `click` barfs. See: https://click.palletsprojects.com/python3/
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
- patch -p1 < $rootdir/local-repository.diff
- patch -p1 < $rootdir/offline-nimbus-fml.diff
- patch -p1 < $rootdir/41422-disable-viaduct.diff
- gradle_flags="--offline --no-daemon"
+ gradle_flags="--offline --no-daemon -PuniffiBindgenNoop=$builddir/uniffi-rs/uniffi-bindgen -PgradleDependenciesUrl=file:///var/tmp/dist/gradle-dependencies"
gradle $gradle_flags assembleRelease
gradle $gradle_flags publish
mv build/maven $distdir
=====================================
projects/application-services/cargo-no-build.sh deleted
=====================================
@@ -1,8 +0,0 @@
-#!/bin/bash
-
-if [[ "$1" == "build" ]]; then
- echo "cargo build is disabled."
- exit 0
-else
- command cargo "$@"
-fi
=====================================
projects/application-services/config
=====================================
@@ -1,7 +1,8 @@
# vim: filetype=yaml sw=2
version: 140.0
-git_hash: 8ee6cb6a23f96ff8e2161926441aea72d6f09249
-git_url: https://github.com/mozilla/application-services
+git_hash: 'v[% c("version") %]-TORBROWSER'
+git_url: https://gitlab.torproject.org/tpo/applications/application-services.git
+tag_gpg_id: 1
git_submodule: 1
container:
use_container: 1
@@ -65,19 +66,10 @@ steps:
project: application-services
pkg_type: cargo_vendor
norec:
- sha256sum: 4cf0235b525b5ce1d8bcc40e9763a13fd0e79c773749b900b4d7420551cf5114
- - filename: local-repository.diff
+ sha256sum: 23b027cf546e34b57576ab88ef3ce8218cf1654cc44c4bde3c553aea98274f20
enable: '[% !c("var/fetch_gradle_dependencies") %]'
- filename: gen_gradle_deps_file.sh
enable: '[% c("var/fetch_gradle_dependencies") %]'
- - filename: bug_13028.patch
- - filename: apply-bug-13028.diff
- - filename: no-ndk-lookup.diff
- - filename: offline-nimbus-fml.diff
- - filename: glean-noop.diff
- - filename: a-s-noop.diff
- - filename: cargo-no-build.sh
- - filename: 41422-disable-viaduct.diff
list_toolchain_updates:
git_hash: 'v[% c("version") %]'
=====================================
projects/application-services/glean-noop.diff deleted
=====================================
@@ -1,26 +0,0 @@
-diff --git a/glean-core/android-native/build.gradle b/glean-core/android-native/build.gradle
-index 53716d523..d38af8320 100644
---- a/glean-core/android-native/build.gradle
-+++ b/glean-core/android-native/build.gradle
-@@ -48,6 +48,8 @@ android {
- }
-
- cargo {
-+ cargoCommand = "${rootDir}/glean-core/android-native/cargo-no-build.sh"
-+
- // The directory of the Cargo.toml to build.
- module = '../bundle-android'
-
-diff --git a/glean-core/android/build.gradle b/glean-core/android/build.gradle
-index 7748378b4..5af06b1c3 100644
---- a/glean-core/android/build.gradle
-+++ b/glean-core/android/build.gradle
-@@ -197,7 +197,7 @@ def generateUniffiBindings = tasks.register("generateUniffiBindings") {
- doFirst {
- exec {
- workingDir project.rootDir
-- commandLine 'cargo', 'uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', UNIFFI_OUT_DIR.get()
-+ commandLine '${rootDir}/glean-core/android-native/uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', UNIFFI_OUT_DIR.get()
- }
- }
- outputs.dir UNIFFI_OUT_DIR
=====================================
projects/application-services/local-repository.diff deleted
=====================================
@@ -1,92 +0,0 @@
-diff --git a/build.gradle b/build.gradle
-index bd516e58c..b30d552c9 100644
---- a/build.gradle
-+++ b/build.gradle
-@@ -14,6 +14,14 @@ buildscript {
- }
-
- repositories {
-+ maven {
-+ url "file:///var/tmp/dist/gradle-dependencies"
-+ metadataSources {
-+ gradleMetadata()
-+ mavenPom()
-+ }
-+ }
-+
- mavenCentral()
- google()
- maven {
-@@ -59,6 +67,14 @@ plugins {
-
- allprojects {
- repositories {
-+ maven {
-+ url "file:///var/tmp/dist/gradle-dependencies"
-+ metadataSources {
-+ gradleMetadata()
-+ mavenPom()
-+ }
-+ }
-+
- google()
- mavenCentral()
- maven {
-diff --git a/settings.gradle b/settings.gradle
-index 4117bc0d3..f1b028dad 100644
---- a/settings.gradle
-+++ b/settings.gradle
-@@ -1,6 +1,19 @@
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+pluginManagement {
-+ repositories {
-+ maven {
-+ url "file:///var/tmp/dist/gradle-dependencies"
-+ metadataSources {
-+ gradleMetadata()
-+ mavenPom()
-+ }
-+ }
-+ }
-+}
-+
- import org.yaml.snakeyaml.Yaml
-
- // We prefer `appServicesRootDir` over `rootDir` to help us on the path to the monorepo.
-@@ -23,6 +36,14 @@ buildscript {
- if (!gradle.root.hasProperty("mozconfig")) {
- // in app-services
- repositories {
-+ maven {
-+ url "file:///var/tmp/dist/gradle-dependencies"
-+ metadataSources {
-+ gradleMetadata()
-+ mavenPom()
-+ }
-+ }
-+
- mavenCentral()
- }
- } else {
-diff --git a/tools/nimbus-gradle-plugin/settings.gradle b/tools/nimbus-gradle-plugin/settings.gradle
-index 7d907f057..c0d213503 100644
---- a/tools/nimbus-gradle-plugin/settings.gradle
-+++ b/tools/nimbus-gradle-plugin/settings.gradle
-@@ -14,6 +14,14 @@ buildscript {
- if (!gradle.root.hasProperty("mozconfig")) {
- // in app-services
- repositories {
-+ maven {
-+ url "file:///var/tmp/dist/gradle-dependencies"
-+ metadataSources {
-+ gradleMetadata()
-+ mavenPom()
-+ }
-+ }
-+
- mavenCentral()
- }
- } else {
=====================================
projects/application-services/no-ndk-lookup.diff deleted
=====================================
@@ -1,18 +0,0 @@
-diff --git a/libs/android_defaults.sh b/libs/android_defaults.sh
-index 2cfcc4206..9e3d3de97 100755
---- a/libs/android_defaults.sh
-+++ b/libs/android_defaults.sh
-@@ -1,11 +1,7 @@
- #!/usr/bin/env bash
-
--# Find the NDK.
--pushd ..
--NDK_VERSION=$(./gradlew -q printNdkVersion | tail -1)
--export ANDROID_NDK_HOME="$ANDROID_HOME/ndk/$NDK_VERSION"
--export ANDROID_NDK_ROOT="$ANDROID_NDK_HOME"
--popd || exit
-+# Do not try to find the NDK, as it does not work offline.
-+# We already define the needed variables in our environment.
-
- if [[ -z "${ANDROID_NDK_API_VERSION:-}" ]]; then
- export ANDROID_NDK_API_VERSION=21
=====================================
projects/application-services/offline-nimbus-fml.diff deleted
=====================================
@@ -1,72 +0,0 @@
-diff --git a/tools/nimbus-gradle-plugin/src/main/groovy/org/mozilla/appservices/tooling/nimbus/NimbusAssembleToolsTask.groovy b/tools/nimbus-gradle-plugin/src/main/groovy/org/mozilla/appservices/tooling/nimbus/NimbusAssembleToolsTask.groovy
-index 67c9e66d0..6dd949c92 100644
---- a/tools/nimbus-gradle-plugin/src/main/groovy/org/mozilla/appservices/tooling/nimbus/NimbusAssembleToolsTask.groovy
-+++ b/tools/nimbus-gradle-plugin/src/main/groovy/org/mozilla/appservices/tooling/nimbus/NimbusAssembleToolsTask.groovy
-@@ -20,6 +20,11 @@ import org.gradle.api.tasks.Nested
- import org.gradle.api.tasks.OutputFile
- import org.gradle.api.tasks.TaskAction
-
-+import java.nio.file.Files
-+import java.nio.file.Path
-+import java.nio.file.Paths
-+import java.nio.file.StandardCopyOption
-+
- import javax.inject.Inject
-
- import groovy.transform.Immutable
-@@ -84,46 +89,17 @@ abstract class NimbusAssembleToolsTask extends DefaultTask {
-
- @TaskAction
- void assembleTools() {
-- def sources = [fetchSpec, *fetchSpec.fallbackSources.get()].collect {
-- new Source(new URI(it.archive.get()), new URI(it.hash.get()))
-- }
--
-- def successfulSource = sources.find { it.trySaveArchiveTo(archiveFile.get().asFile) }
-- if (successfulSource == null) {
-- throw new GradleException("Couldn't fetch archive from any of: ${sources*.archiveURI.collect { "`$it`" }.join(', ')}")
-- }
--
-- // We get the checksum, although don't do anything with it yet;
-- // Checking it here would be able to detect if the zip file was tampered with
-- // in transit between here and the server.
-- // It won't detect compromise of the CI server.
-- try {
-- successfulSource.saveHashTo(hashFile.get().asFile)
-- } catch (IOException e) {
-- throw new GradleException("Couldn't fetch hash from `${successfulSource.hashURI}`", e)
-- }
--
-- def zipTree = archiveOperations.zipTree(archiveFile.get())
-- def visitedFilePaths = []
-- zipTree.matching {
-- include unzipSpec.includePatterns.get()
-- }.visit { FileVisitDetails details ->
-- if (!details.directory) {
-- if (visitedFilePaths.empty) {
-- details.copyTo(fmlBinary.get().asFile)
-- fmlBinary.get().asFile.setExecutable(true)
-- }
-- visitedFilePaths.add(details.relativePath)
-+ String nimbusFmlPath = System.getenv("NIMBUS_FML")
-+ Path source
-+ if (nimbusFmlPath == null) {
-+ nimbusFmlPath = System.getProperty("nimbusFml")
-+ if (nimbusFmlPath == null) {
-+ throw new GradleException("NIMBUS_FML and property nimbusFml are not defined.")
- }
- }
--
-- if (visitedFilePaths.empty) {
-- throw new GradleException("Couldn't find any files in archive matching unzip spec: (${unzipSpec.includePatterns.get().collect { "`$it`" }.join(' | ')})")
-- }
--
-- if (visitedFilePaths.size() > 1) {
-- throw new GradleException("Ambiguous unzip spec matched ${visitedFilePaths.size()} files in archive: ${visitedFilePaths.collect { "`$it`" }.join(', ')}")
-- }
-+ source = Paths.get(nimbusFmlPath)
-+ Path dest = fmlBinary.get().asFile.toPath()
-+ Files.copy(source, dest, StandardCopyOption.REPLACE_EXISTING)
- }
-
- /**
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-update-responses][main] 7 commits: release: new version, 14.5.4 (linux-i686)
by ma1 (@ma1) 24 Jun '25
by ma1 (@ma1) 24 Jun '25
24 Jun '25
ma1 pushed to branch main at The Tor Project / Applications / Tor Browser update responses
Commits:
1022ffe8 by hackademix at 2025-06-24T19:19:26+02:00
release: new version, 14.5.4 (linux-i686)
- - - - -
59332b9a by hackademix at 2025-06-24T19:19:27+02:00
release: new version, 14.5.4 (linux-x86_64)
- - - - -
0e668b94 by hackademix at 2025-06-24T19:19:27+02:00
release: new version, 14.5.4 (macos)
- - - - -
5b34afee by hackademix at 2025-06-24T19:19:28+02:00
release: new version, 14.5.4 (windows-i686)
- - - - -
fbaa7cae by hackademix at 2025-06-24T19:19:28+02:00
release: new version, 14.5.4 (windows-x86_64)
- - - - -
1e59ae72 by hackademix at 2025-06-24T19:19:29+02:00
release: new version, 14.5.4 (android)
- - - - -
9ae3c290 by hackademix at 2025-06-24T19:19:29+02:00
release: new version, 14.5.4
- - - - -
55 changed files:
- update_3/release/download-android-aarch64.json
- update_3/release/download-android-armv7.json
- update_3/release/download-android-x86.json
- update_3/release/download-android-x86_64.json
- update_3/release/download-linux-i686.json
- update_3/release/download-linux-x86_64.json
- update_3/release/download-macos.json
- update_3/release/download-windows-i686.json
- update_3/release/download-windows-x86_64.json
- update_3/release/downloads.json
- update_3/release/linux-i686/.htaccess
- − update_3/release/linux-i686/update-14.5-14.5.3+13.5.18-linux-i686.xml
- − update_3/release/linux-i686/update-14.5.1-14.5.3+13.5.18-linux-i686.xml
- + update_3/release/linux-i686/update-14.5.1-14.5.4+13.5.18-linux-i686.xml
- − update_3/release/linux-i686/update-14.5.2-14.5.3+13.5.18-linux-i686.xml
- + update_3/release/linux-i686/update-14.5.2-14.5.4+13.5.18-linux-i686.xml
- − update_3/release/linux-i686/update-14.5.3+13.5.18-linux-i686.xml
- + update_3/release/linux-i686/update-14.5.3-14.5.4+13.5.18-linux-i686.xml
- + update_3/release/linux-i686/update-14.5.4+13.5.18-linux-i686.xml
- update_3/release/linux-x86_64/.htaccess
- − update_3/release/linux-x86_64/update-14.5-14.5.3+13.5.18-linux-x86_64.xml
- − update_3/release/linux-x86_64/update-14.5.1-14.5.3+13.5.18-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5.1-14.5.4+13.5.18-linux-x86_64.xml
- − update_3/release/linux-x86_64/update-14.5.2-14.5.3+13.5.18-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5.2-14.5.4+13.5.18-linux-x86_64.xml
- − update_3/release/linux-x86_64/update-14.5.3+13.5.18-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5.3-14.5.4+13.5.18-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5.4+13.5.18-linux-x86_64.xml
- update_3/release/macos/.htaccess
- update_3/release/macos/update-13.5.15-14.5.3+13.5.18-macos.xml → update_3/release/macos/update-13.5.15-14.5.4+13.5.18-macos.xml
- update_3/release/macos/update-13.5.16-14.5.3+13.5.18-macos.xml → update_3/release/macos/update-13.5.16-14.5.4+13.5.18-macos.xml
- update_3/release/macos/update-13.5.17-14.5.3+13.5.18-macos.xml → update_3/release/macos/update-13.5.17-14.5.4+13.5.18-macos.xml
- − update_3/release/macos/update-14.5-14.5.3+13.5.18-macos.xml
- update_3/release/macos/update-14.5.1-14.5.3+13.5.18-macos.xml → update_3/release/macos/update-14.5.1-14.5.4+13.5.18-macos.xml
- update_3/release/macos/update-14.5.2-14.5.3+13.5.18-macos.xml → update_3/release/macos/update-14.5.2-14.5.4+13.5.18-macos.xml
- + update_3/release/macos/update-14.5.3-14.5.4+13.5.18-macos.xml
- update_3/release/macos/update-14.5.3+13.5.18-macos.xml → update_3/release/macos/update-14.5.4+13.5.18-macos.xml
- update_3/release/windows-i686/.htaccess
- update_3/release/windows-i686/update-13.5.15-14.5.3+13.5.18-windows-i686.xml → update_3/release/windows-i686/update-13.5.15-14.5.4+13.5.18-windows-i686.xml
- update_3/release/windows-i686/update-13.5.16-14.5.3+13.5.18-windows-i686.xml → update_3/release/windows-i686/update-13.5.16-14.5.4+13.5.18-windows-i686.xml
- update_3/release/windows-i686/update-13.5.17-14.5.3+13.5.18-windows-i686.xml → update_3/release/windows-i686/update-13.5.17-14.5.4+13.5.18-windows-i686.xml
- − update_3/release/windows-i686/update-14.5-14.5.3+13.5.18-windows-i686.xml
- update_3/release/windows-i686/update-14.5.1-14.5.3+13.5.18-windows-i686.xml → update_3/release/windows-i686/update-14.5.1-14.5.4+13.5.18-windows-i686.xml
- update_3/release/windows-i686/update-14.5.2-14.5.3+13.5.18-windows-i686.xml → update_3/release/windows-i686/update-14.5.2-14.5.4+13.5.18-windows-i686.xml
- + update_3/release/windows-i686/update-14.5.3-14.5.4+13.5.18-windows-i686.xml
- update_3/release/windows-i686/update-14.5.3+13.5.18-windows-i686.xml → update_3/release/windows-i686/update-14.5.4+13.5.18-windows-i686.xml
- update_3/release/windows-x86_64/.htaccess
- update_3/release/windows-x86_64/update-13.5.15-14.5.3+13.5.18-windows-x86_64.xml → update_3/release/windows-x86_64/update-13.5.15-14.5.4+13.5.18-windows-x86_64.xml
- update_3/release/windows-x86_64/update-13.5.16-14.5.3+13.5.18-windows-x86_64.xml → update_3/release/windows-x86_64/update-13.5.16-14.5.4+13.5.18-windows-x86_64.xml
- update_3/release/windows-x86_64/update-13.5.17-14.5.3+13.5.18-windows-x86_64.xml → update_3/release/windows-x86_64/update-13.5.17-14.5.4+13.5.18-windows-x86_64.xml
- − update_3/release/windows-x86_64/update-14.5-14.5.3+13.5.18-windows-x86_64.xml
- update_3/release/windows-x86_64/update-14.5.1-14.5.3+13.5.18-windows-x86_64.xml → update_3/release/windows-x86_64/update-14.5.1-14.5.4+13.5.18-windows-x86_64.xml
- update_3/release/windows-x86_64/update-14.5.2-14.5.3+13.5.18-windows-x86_64.xml → update_3/release/windows-x86_64/update-14.5.2-14.5.4+13.5.18-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-14.5.3-14.5.4+13.5.18-windows-x86_64.xml
- update_3/release/windows-x86_64/update-14.5.3+13.5.18-windows-x86_64.xml → update_3/release/windows-x86_64/update-14.5.4+13.5.18-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.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41444: Fix MacOS background file name
by brizental (@brizental) 24 Jun '25
by brizental (@brizental) 24 Jun '25
24 Jun '25
brizental pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
92beb9f1 by Beatriz Rizental at 2025-06-24T18:15:53+02:00
Bug 41444: Fix MacOS background file name
- - - - -
1 changed file:
- projects/firefox/build
Changes:
=====================================
projects/firefox/build
=====================================
@@ -137,7 +137,7 @@ echo "Starting ./mach build $(date)"
echo "Building development artifacts"
[% IF c("var/macos") -%]
- export MOZ_PKG_MAC_BACKGROUND=$rootdir/dmg-root/[% c('var/ProjectName') %].dmg/.background/background.tiff
+ export MOZ_PKG_MAC_BACKGROUND=$(find $rootdir/dmg-root/[% c('var/ProjectName') %].dmg/.background -type f)
export MOZ_PKG_MAC_DSSTORE=$rootdir/dmg-root/[% c('var/ProjectName') %].dmg/nightly.DS_Store
export MOZ_PKG_MAC_ICON=$rootdir/dmg-root/[% c('var/ProjectName') %].dmg/.VolumeIcon.icns
[% END -%]
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser-update-responses][main] 4 commits: release: new version, 14.5.4 (linux-x86_64)
by ma1 (@ma1) 24 Jun '25
by ma1 (@ma1) 24 Jun '25
24 Jun '25
ma1 pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses
Commits:
2dab350c by hackademix at 2025-06-24T16:28:53+02:00
release: new version, 14.5.4 (linux-x86_64)
- - - - -
08048a3e by hackademix at 2025-06-24T16:28:54+02:00
release: new version, 14.5.4 (macos)
- - - - -
8a8c5194 by hackademix at 2025-06-24T16:28:54+02:00
release: new version, 14.5.4 (windows-x86_64)
- - - - -
ede12fe7 by hackademix at 2025-06-24T16:28:54+02:00
release: new version, 14.5.4
- - - - -
31 changed files:
- update_1/release/download-linux-x86_64.json
- update_1/release/download-macos.json
- update_1/release/download-windows-x86_64.json
- update_1/release/downloads.json
- update_1/release/linux-x86_64/.htaccess
- − update_1/release/linux-x86_64/update-14.5-14.5.3-linux-x86_64.xml
- − update_1/release/linux-x86_64/update-14.5.1-14.5.3-linux-x86_64.xml
- + update_1/release/linux-x86_64/update-14.5.1-14.5.4-linux-x86_64.xml
- − update_1/release/linux-x86_64/update-14.5.2-14.5.3-linux-x86_64.xml
- + update_1/release/linux-x86_64/update-14.5.2-14.5.4-linux-x86_64.xml
- + update_1/release/linux-x86_64/update-14.5.3-14.5.4-linux-x86_64.xml
- − update_1/release/linux-x86_64/update-14.5.3-linux-x86_64.xml
- + update_1/release/linux-x86_64/update-14.5.4-linux-x86_64.xml
- update_1/release/macos/.htaccess
- − update_1/release/macos/update-14.5-14.5.3-macos.xml
- − update_1/release/macos/update-14.5.1-14.5.3-macos.xml
- + update_1/release/macos/update-14.5.1-14.5.4-macos.xml
- − update_1/release/macos/update-14.5.2-14.5.3-macos.xml
- + update_1/release/macos/update-14.5.2-14.5.4-macos.xml
- + update_1/release/macos/update-14.5.3-14.5.4-macos.xml
- − update_1/release/macos/update-14.5.3-macos.xml
- + update_1/release/macos/update-14.5.4-macos.xml
- update_1/release/windows-x86_64/.htaccess
- − update_1/release/windows-x86_64/update-14.5-14.5.3-windows-x86_64.xml
- − update_1/release/windows-x86_64/update-14.5.1-14.5.3-windows-x86_64.xml
- + update_1/release/windows-x86_64/update-14.5.1-14.5.4-windows-x86_64.xml
- − update_1/release/windows-x86_64/update-14.5.2-14.5.3-windows-x86_64.xml
- + update_1/release/windows-x86_64/update-14.5.2-14.5.4-windows-x86_64.xml
- + update_1/release/windows-x86_64/update-14.5.3-14.5.4-windows-x86_64.xml
- − update_1/release/windows-x86_64/update-14.5.3-windows-x86_64.xml
- + update_1/release/windows-x86_64/update-14.5.4-windows-x86_64.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build] Pushed new tag mb-14.5.4-build1
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed new tag mb-14.5.4-build1 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/mb-…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-14.5.4-build1
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed new tag tbb-14.5.4-build1 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-14.5] Bug 41480,41481: Prepare Tor,Mullvad Browser 14.5.4
by ma1 (@ma1) 23 Jun '25
by ma1 (@ma1) 23 Jun '25
23 Jun '25
ma1 pushed to branch maint-14.5 at The Tor Project / Applications / tor-browser-build
Commits:
ba76b894 by ma1 at 2025-06-23T21:37:04+02:00
Bug 41480,41481: Prepare Tor,Mullvad Browser 14.5.4
- - - - -
8 changed files:
- projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
- projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
- projects/browser/config
- projects/firefox/config
- projects/geckoview/config
- projects/go/config
- projects/translation/config
- rbm.conf
Changes:
=====================================
projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
=====================================
@@ -1,3 +1,17 @@
+Mullvad Browser 14.5.4 - June 23 2025
+ * All Platforms
+ * Updated Firefox to 128.12.0esr
+ * Updated NoScript to 13.0.8
+ * Bug 450: Rebase Mullvad Browser stable onto 128.12.0esr [mullvad-browser]
+ * Bug 43782: Add new UX flow for changing security level (Desktop) [tor-browser]
+ * Bug 43783: Tighten up the SecurityLevel module to enforce new UX flow [tor-browser]
+ * Bug 43784: Get confirmation from NoScript that settings are applied [tor-browser]
+ * Bug 43911: Backport security fixes from Firefox 140 [tor-browser]
+ * Build System
+ * All Platforms
+ * Bug 41477: Update keyring/boklm.gpg for new subkeys (2025) [tor-browser-build]
+ * Bug 41498: Update keyring/morgan.gpg with updated public key [tor-browser-build]
+
Mullvad Browser 14.5.3 - May 26 2025
* All Platforms
* Updated Firefox to 128.11.0esr
=====================================
projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
=====================================
@@ -1,3 +1,23 @@
+Tor Browser 14.5.4 - June 23 2025
+ * All Platforms
+ * Updated NoScript to 13.0.8
+ * Bug 43783: Tighten up the SecurityLevel module to enforce new UX flow [tor-browser]
+ * Bug 43784: Get confirmation from NoScript that settings are applied [tor-browser]
+ * Bug 43885: Rebase stable onto 128.12.0esr [tor-browser]
+ * Bug 43911: Backport security fixes from Firefox 140 [tor-browser]
+ * Windows + macOS + Linux
+ * Updated Firefox to 128.12.0esr
+ * Bug 43782: Add new UX flow for changing security level (Desktop) [tor-browser]
+ * Android
+ * Updated GeckoView to 128.12.0esr
+ * Bug 43786: Add new UX flow for changing security level (Android) [tor-browser]
+ * Build System
+ * All Platforms
+ * Bug 41477: Update keyring/boklm.gpg for new subkeys (2025) [tor-browser-build]
+ * Bug 41498: Update keyring/morgan.gpg with updated public key [tor-browser-build]
+ * Windows + Linux + Android
+ * Updated Go to 1.23.10
+
Tor Browser 14.5.3 - May 26 2025
* All Platforms
* Updated NoScript to 13.0.6
=====================================
projects/browser/config
=====================================
@@ -111,9 +111,9 @@ input_files:
enable: '[% ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.mozilla.org/firefox/downloads/file/4495120/noscript-13.0.6.x…
+ - URL: https://addons.mozilla.org/firefox/downloads/file/4497468/noscript-13.0.8.x…
name: noscript
- sha256sum: 85066ef24c44cc839b2d6bbe4d3d08652c8e09f06515e1b86ee72ba26c406989
+ sha256sum: 9d978cfe083cb9cce120b5ee41e8933d752d7ab4680bf517c5ec4b29c4cfd2dc
- URL: https://addons.mozilla.org/firefox/downloads/file/4492375/ublock_origin-1.6…
name: ublock-origin
sha256sum: b9e1c868bd1ac1defcabf2e01776d1a90effba34b07fe6a21350d45f022e0e9f
=====================================
projects/firefox/config
=====================================
@@ -16,12 +16,12 @@ container:
use_container: 1
var:
- firefox_platform_version: '128.11.0'
+ firefox_platform_version: '128.12.0'
firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '14.5'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
- browser_build: 3
+ browser_build: 1
copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]'
nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]'
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
=====================================
projects/geckoview/config
=====================================
@@ -18,12 +18,12 @@ container:
build_apk: 1
var:
- firefox_platform_version: '128.11.0'
+ firefox_platform_version: '128.12.0'
geckoview_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '14.5'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
- browser_build: 3
+ browser_build: 1
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
git_commit: '[% exec("git rev-parse " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }) %]'
deps:
=====================================
projects/go/config
=====================================
@@ -1,11 +1,11 @@
# vim: filetype=yaml sw=2
-version: '1.23.9'
+version: '1.23.10'
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
container:
use_container: 1
var:
- source_sha256: 08f6419547563ed9e7037d12b9c8909677c72f75f62ef85887ed9dbf49b8d2dd
+ source_sha256: 800a7ae1bff179a227b653a2f644517c800443b8b4abf3273af5e1cb7113de59
no_crosscompile: 1
setup: |
mkdir -p /var/tmp/dist
=====================================
projects/translation/config
=====================================
@@ -12,19 +12,19 @@ compress_tar: 'gz'
steps:
base-browser:
base-browser: '[% INCLUDE build %]'
- git_hash: 90dbac96420394aa35ce29385814742ac4942b26
+ git_hash: 9f6043e1a51d04f9f6f00ade10e410691fe41f66
targets:
nightly:
git_hash: 'base-browser'
tor-browser:
tor-browser: '[% INCLUDE build %]'
- git_hash: 9cbc3b3d25d2c5c77f1b6b3172ba6bcad2563939
+ git_hash: cd3b5ba07ab83e7e0e8e0fdffbc1c4043a5525ca
targets:
nightly:
git_hash: 'tor-browser'
mullvad-browser:
mullvad-browser: '[% INCLUDE build %]'
- git_hash: 111ba9020215431c58d6382c08c57557d6ca50ba
+ git_hash: bf09d9c070f72ad3aee24c54cb154bab2570247b
targets:
nightly:
git_hash: 'mullvad-browser'
@@ -32,7 +32,7 @@ steps:
fenix: '[% INCLUDE build %]'
# We need to bump the commit before releasing but just pointing to a branch
# might cause too much rebuidling of the Firefox part.
- git_hash: ee29144d1fa9e2242814a5a96c94ddd975f1b98e
+ git_hash: c673da1157717b1a3738e69b24eb07ee1245c1a3
compress_tar: 'zst'
targets:
nightly:
=====================================
rbm.conf
=====================================
@@ -73,11 +73,11 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '14.5.3'
- torbrowser_build: 'build2'
+ torbrowser_version: '14.5.4'
+ torbrowser_build: 'build1'
# This should be the date of when the build is started. For the build
# to be reproducible, browser_release_date should always be in the past.
- browser_release_date: '2025/05/26 20:25:32'
+ browser_release_date: '2025/06/23 18:11:00'
browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]'
browser_default_channel: release
browser_platforms:
@@ -96,9 +96,9 @@ var:
updater_enabled: 1
build_mar: 1
torbrowser_incremental_from:
+ - 14.5.3
- 14.5.2
- 14.5.1
- - '14.5'
mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]'
torbrowser_legacy_version: 13.5.18
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-13.5.19-build1
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed new tag tbb-13.5.19-build1 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-13.5] Bug 41482: Prepare Tor Browser 13.5.19
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build
Commits:
82b59fa5 by Morgan at 2025-06-23T19:18:11+00:00
Bug 41482: Prepare Tor Browser 13.5.19
- - - - -
5 changed files:
- projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
- projects/browser/config
- projects/firefox/config
- projects/translation/config
- rbm.conf
Changes:
=====================================
projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
=====================================
@@ -1,3 +1,14 @@
+Tor Browser 13.5.19 - June 24 2025
+ * All Platforms
+ * Updated NoScript to 13.0.8
+ * Bug 43835: Backport tor-browser#43782: Add new UX flow for changing security level (Desktop) [tor-browser]
+ * Bug 43910: Rebase Tor Browser 13.5.19 Legacy onto Firefox 115.25.0esr [tor-browser]
+ * Bug 43911: Backport security fixes from Firefox 140 [tor-browser]
+ * Build System
+ * All Platforms
+ * Bug 41477: Update keyring/boklm.gpg for new subkeys (2025) [tor-browser-build]
+ * Bug 41498: Update keyring/morgan.gpg with updated public key [tor-browser-build]
+
Tor Browser 13.5.18 - May 27 2025
* All Platforms
* Updated Firefox to 115.24.0esr
=====================================
projects/browser/config
=====================================
@@ -103,9 +103,9 @@ input_files:
enable: '[% ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.mozilla.org/firefox/downloads/file/4495120/noscript-13.0.6.x…
+ - URL: https://addons.mozilla.org/firefox/downloads/file/4497468/noscript-13.0.8.x…
name: noscript
- sha256sum: 85066ef24c44cc839b2d6bbe4d3d08652c8e09f06515e1b86ee72ba26c406989
+ sha256sum: 9d978cfe083cb9cce120b5ee41e8933d752d7ab4680bf517c5ec4b29c4cfd2dc
- URL: https://addons.mozilla.org/firefox/downloads/file/4359936/ublock_origin-1.6…
name: ublock-origin
sha256sum: e2cda9b2a1b0a7f6e5ef0da9f87f28df52f8560587ba2e51a3003121cfb81600
=====================================
projects/firefox/config
=====================================
@@ -16,12 +16,12 @@ container:
use_container: 1
var:
- firefox_platform_version: 115.24.0
+ firefox_platform_version: 115.25.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '13.5'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
- browser_build: 2
+ browser_build: 1
branding_directory_prefix: 'tb'
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]'
=====================================
projects/translation/config
=====================================
@@ -12,13 +12,13 @@ compress_tar: 'gz'
steps:
base-browser:
base-browser: '[% INCLUDE build %]'
- git_hash: 90dbac96420394aa35ce29385814742ac4942b26
+ git_hash: 9f6043e1a51d04f9f6f00ade10e410691fe41f66
targets:
nightly:
git_hash: 'base-browser'
tor-browser:
tor-browser: '[% INCLUDE build %]'
- git_hash: 9cbc3b3d25d2c5c77f1b6b3172ba6bcad2563939
+ git_hash: cd3b5ba07ab83e7e0e8e0fdffbc1c4043a5525ca
targets:
nightly:
git_hash: 'tor-browser'
=====================================
rbm.conf
=====================================
@@ -73,18 +73,18 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '13.5.18'
+ torbrowser_version: '13.5.19'
torbrowser_build: 'build1'
# This should be the date of when the build is started. For the build
# to be reproducible, browser_release_date should always be in the past.
- browser_release_date: '2025/05/26 20:58:45'
+ browser_release_date: '2025/06/23 18:56:30'
browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]'
updater_enabled: 1
build_mar: 1
torbrowser_incremental_from:
+ - 13.5.18
- 13.5.17
- 13.5.16
- - 13.5.15
mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]'
# By default, we sort the list of installed packages. This allows sharing
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-115.25.0esr-13.5-1-build1
by ma1 (@ma1) 23 Jun '25
by ma1 (@ma1) 23 Jun '25
23 Jun '25
ma1 pushed new tag tor-browser-115.25.0esr-13.5-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-2] fixup! BB 43615: Add Gitlab Issue and Merge Request templates
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch mullvad-browser-140.0a1-15.0-2 at The Tor Project / Applications / Mullvad Browser
Commits:
27e30268 by Morgan at 2025-06-23T18:18:52+00:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
now instruct users to /request_review instead of /cc
- - - - -
1 changed file:
- .gitlab/merge_request_templates/Default.md
Changes:
=====================================
.gitlab/merge_request_templates/Default.md
=====================================
@@ -60,7 +60,7 @@
#### Request Reviewer
- [ ] Request review from an applications developer depending on modified system:
- - **NOTE**: if the MR modifies multiple areas, please `/cc` all the relevant reviewers (since Gitlab only allows 1 reviewer)
+ - **NOTE**: if the MR modifies multiple areas, please `/request_review` all the relevant reviewers
- **accessibility** : henry
- **android** : clairehurst, dan
- **build system** : boklm
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/27e…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/27e…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-2] fixup! BB 43615: Add Gitlab Issue and Merge Request templates
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch base-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
76ee5f39 by Morgan at 2025-06-23T18:17:24+00:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
now instruct users to /request_review instead of /cc
- - - - -
1 changed file:
- .gitlab/merge_request_templates/Default.md
Changes:
=====================================
.gitlab/merge_request_templates/Default.md
=====================================
@@ -62,7 +62,7 @@
#### Request Reviewer
- [ ] Request review from an applications developer depending on modified system:
- - **NOTE**: if the MR modifies multiple areas, please `/cc` all the relevant reviewers (since Gitlab only allows 1 reviewer)
+ - **NOTE**: if the MR modifies multiple areas, please `/request_review` all the relevant reviewers
- **accessibility** : henry
- **android** : clairehurst, dan
- **build system** : boklm
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/76ee5f3…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/76ee5f3…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-2] fixup! BB 43615: Add Gitlab Issue and Merge Request templates
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch tor-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
ac53eb6b by Morgan at 2025-06-23T14:57:50+00:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
now instruct users to /request_review instead of /cc
- - - - -
1 changed file:
- .gitlab/merge_request_templates/Default.md
Changes:
=====================================
.gitlab/merge_request_templates/Default.md
=====================================
@@ -62,7 +62,7 @@
#### Request Reviewer
- [ ] Request review from an applications developer depending on modified system:
- - **NOTE**: if the MR modifies multiple areas, please `/cc` all the relevant reviewers (since Gitlab only allows 1 reviewer)
+ - **NOTE**: if the MR modifies multiple areas, please `/request_review` all the relevant reviewers
- **accessibility** : henry
- **android** : clairehurst, dan
- **build system** : boklm
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ac53eb6…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ac53eb6…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41499: Update build_apk step for new geckoview outdir structure
by brizental (@brizental) 23 Jun '25
by brizental (@brizental) 23 Jun '25
23 Jun '25
brizental pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
6e6a9168 by Beatriz Rizental at 2025-06-23T19:35:52+02:00
Bug 41499: Update build_apk step for new geckoview outdir structure
- - - - -
6efc7226 by Beatriz Rizental at 2025-06-23T19:35:52+02:00
Bug 41499: Comment out artifact copy
Temporary fix just so we get nightlies tomorrow.
- - - - -
2 changed files:
- projects/browser/build.android
- projects/geckoview/build_apk
Changes:
=====================================
projects/browser/build.android
=====================================
@@ -121,6 +121,6 @@ apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $
[% END -%]
[% IF c("var/nightly") -%]
- mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts"
- cp -r $rootdir/[% c('input_files_by_name/fenix') %]/artifacts [% dest_dir %]/[% c('filename') %]
+ # mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts"
+ # cp -r $rootdir/[% c('input_files_by_name/fenix') %]/artifacts [% dest_dir %]/[% c('filename') %]
[% END %]
=====================================
projects/geckoview/build_apk
=====================================
@@ -3,19 +3,15 @@
echo "Starting the creation of the fat AAR $(date)"
-tar -C $builddir -xf [% c('input_files_by_name/geckoview_armv7') %]
-tar -C $builddir -xf [% c('input_files_by_name/geckoview_aarch64') %]
-tar -C $builddir -xf [% c('input_files_by_name/geckoview_x86') %]
-tar -C $builddir -xf [% c('input_files_by_name/geckoview_x86_64') %]
tar -C $builddir -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
# Specify the architectures we want to merge
export MOZ_ANDROID_FAT_AAR_ARCHITECTURES=armeabi-v7a,arm64-v8a,x86,x86_64
-export MOZ_ANDROID_FAT_AAR_ARMEABI_V7A=$builddir/geckoview/*armeabi-v7a*.aar
-export MOZ_ANDROID_FAT_AAR_ARM64_V8A=$builddir/geckoview/*arm64-v8a*.aar
+export MOZ_ANDROID_FAT_AAR_ARMEABI_V7A=$rootdir/[% c('input_files_by_name/geckoview_armv7') %]/geckoview/*.aar
+export MOZ_ANDROID_FAT_AAR_ARM64_V8A=$rootdir/[% c('input_files_by_name/geckoview_aarch64') %]/geckoview/*.aar
# Specifying just "x86" is not differentiating enough
-export MOZ_ANDROID_FAT_AAR_X86=$builddir/geckoview/*x86-*.aar
-export MOZ_ANDROID_FAT_AAR_X86_64=$builddir/geckoview/*x86_64*.aar
+export MOZ_ANDROID_FAT_AAR_X86=$rootdir/[% c('input_files_by_name/geckoview_x86') %]/geckoview/*.aar
+export MOZ_ANDROID_FAT_AAR_X86_64=$rootdir/[% c('input_files_by_name/geckoview_x86_64') %]/geckoview/*.aar
cd $builddir/[% project %]-[% c("version") %]
ln -s mozconfig-android-all .mozconfig
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-13.5] Bug 41498: Update keyring/morgan.gpg with updated public key
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build
Commits:
f63cb52f by Morgan at 2025-06-23T15:56:59+00:00
Bug 41498: Update keyring/morgan.gpg with updated public key
- - - - -
1 changed file:
- keyring/morgan.gpg
Changes:
=====================================
keyring/morgan.gpg
=====================================
Binary files a/keyring/morgan.gpg and b/keyring/morgan.gpg differ
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-14.5] Bug 41498: Update keyring/morgan.gpg with updated public key
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch maint-14.5 at The Tor Project / Applications / tor-browser-build
Commits:
2c09a704 by Morgan at 2025-06-23T15:55:59+00:00
Bug 41498: Update keyring/morgan.gpg with updated public key
- - - - -
1 changed file:
- keyring/morgan.gpg
Changes:
=====================================
keyring/morgan.gpg
=====================================
Binary files a/keyring/morgan.gpg and b/keyring/morgan.gpg differ
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41498: Update keyring/morgan.gpg with updated public key
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
2f9e19ba by Morgan at 2025-06-23T15:54:56+00:00
Bug 41498: Update keyring/morgan.gpg with updated public key
- - - - -
1 changed file:
- keyring/morgan.gpg
Changes:
=====================================
keyring/morgan.gpg
=====================================
Binary files a/keyring/morgan.gpg and b/keyring/morgan.gpg differ
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Update MR template documentation
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
780b4fe9 by Morgan at 2025-06-23T14:40:38+00:00
Update MR template documentation
- - - - -
2 changed files:
- .gitlab/merge_request_templates/default.md
- .gitlab/merge_request_templates/relprep.md
Changes:
=====================================
.gitlab/merge_request_templates/default.md
=====================================
@@ -19,7 +19,7 @@
<!-- This block tells the merger where commits need to be merged and future code archaeologists where commits were *supposed* to be merged -->
#### Target Branches
- - [ ] **`main`**: esr128-14.5
+ - [ ] **`main`**: esr140-15.0
- [ ] **`maint-14.5`**: esr128-14.5
- [ ] **`maint-13.5`**: esr115-13.5
@@ -50,7 +50,7 @@
#### Request Reviewer
- [ ] Request review from an applications developer depending on modified system:
- - **NOTE**: if the MR modifies multiple areas, please `/cc` all the relevant reviewers (since gitlab only allows 1 reviewer)
+ - **NOTE**: if the MR modifies multiple areas, please `/request_review` all the relevant reviewers
- **accessibility** : henry
- **android** : clairehurst, dan
- **build system** : boklm
=====================================
.gitlab/merge_request_templates/relprep.md
=====================================
@@ -52,7 +52,7 @@
#### Request Reviewer
-- [ ] Request review from a release engineer: boklm, dan, ma1, morgan, pierov
+- [ ] Request review from release engineers: boklm, dan, ma1, morgan, pierov
#### Change Description
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-13.5] Misc updates to the kick_devmole_build script
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build
Commits:
0dc6b789 by Morgan at 2025-06-23T13:03:57+00:00
Misc updates to the kick_devmole_build script
- fixed hashes url
- updated comments
- - - - -
1 changed file:
- projects/release/kick_devmole_build
Changes:
=====================================
projects/release/kick_devmole_build
=====================================
@@ -1,9 +1,9 @@
#!/usr/bin/bash
-# This script triggers a build of Tor or Mullvad Browser on Mullvad Infrastructure
-# Hashes are saved here: https://cdn.stagemole.eu/hashes/
-# A Mullvad build server auth token (var/devmole_auth_token) is required to build
-# For now you have to be connecting from Sweden (ie via Malmö or Gothenburg exits using MullvadVPN) for your request to succeed
+# This script triggers a build of Tor or Mullvad Browser using on GitHub Actions:
+# - https://github.com/mullvad/browser-build-public/actions
+# Hashes are saved here: https://cdn.stagemole.eu/browser/hashes/
+# A GitHub Access Token (var/devmole_auth_token) is required to kick a build
set -e
@@ -45,4 +45,4 @@ curl \
-d "{\"ref\":\"main\",\"inputs\":{\"tag\":\"${TAG}\",\"release\":\"${RELEASE}\"}}"
echo
-echo Hashes will appear in the appropriate workflow run here: https://github.com/mullvad/browser-build-public/actions/workflows/build.yml
+echo Hashes will appear here: https://cdn.stagemole.eu/browser/hashes/[% c("var/projectname") %]/[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]/
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-14.5] Misc updates to the kick_devmole_build script
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch maint-14.5 at The Tor Project / Applications / tor-browser-build
Commits:
c8d79897 by Morgan at 2025-06-23T13:02:05+00:00
Misc updates to the kick_devmole_build script
- fixed hashes url
- updated comments
- - - - -
1 changed file:
- projects/release/kick_devmole_build
Changes:
=====================================
projects/release/kick_devmole_build
=====================================
@@ -1,9 +1,9 @@
#!/usr/bin/bash
-# This script triggers a build of Tor or Mullvad Browser on Mullvad Infrastructure
-# Hashes are saved here: https://cdn.stagemole.eu/hashes/
-# A Mullvad build server auth token (var/devmole_auth_token) is required to build
-# For now you have to be connecting from Sweden (ie via Malmö or Gothenburg exits using MullvadVPN) for your request to succeed
+# This script triggers a build of Tor or Mullvad Browser using on GitHub Actions:
+# - https://github.com/mullvad/browser-build-public/actions
+# Hashes are saved here: https://cdn.stagemole.eu/browser/hashes/
+# A GitHub Access Token (var/devmole_auth_token) is required to kick a build
set -e
@@ -45,4 +45,4 @@ curl \
-d "{\"ref\":\"main\",\"inputs\":{\"tag\":\"${TAG}\",\"release\":\"${RELEASE}\"}}"
echo
-echo Hashes will appear in the appropriate workflow run here: https://github.com/mullvad/browser-build-public/actions/workflows/build.yml
+echo Hashes will appear here: https://cdn.stagemole.eu/browser/hashes/[% c("var/projectname") %]/[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]/
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Misc updates to the kick_devmole_build script
by morgan (@morgan) 23 Jun '25
by morgan (@morgan) 23 Jun '25
23 Jun '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
87a0884e by Morgan at 2025-06-23T12:07:46+00:00
Misc updates to the kick_devmole_build script
- fixed hashes url
- updated comments
- - - - -
1 changed file:
- projects/release/kick_devmole_build
Changes:
=====================================
projects/release/kick_devmole_build
=====================================
@@ -1,9 +1,9 @@
#!/usr/bin/bash
-# This script triggers a build of Tor or Mullvad Browser on Mullvad Infrastructure
-# Hashes are saved here: https://cdn.stagemole.eu/hashes/
-# A Mullvad build server auth token (var/devmole_auth_token) is required to build
-# For now you have to be connecting from Sweden (ie via Malmö or Gothenburg exits using MullvadVPN) for your request to succeed
+# This script triggers a build of Tor or Mullvad Browser using on GitHub Actions:
+# - https://github.com/mullvad/browser-build-public/actions
+# Hashes are saved here: https://cdn.stagemole.eu/browser/hashes/
+# A GitHub Access Token (var/devmole_auth_token) is required to kick a build
set -e
@@ -45,4 +45,4 @@ curl \
-d "{\"ref\":\"main\",\"inputs\":{\"tag\":\"${TAG}\",\"release\":\"${RELEASE}\"}}"
echo
-echo Hashes will appear in the appropriate workflow run here: https://github.com/mullvad/browser-build-public/actions/workflows/build.yml
+echo Hashes will appear here: https://cdn.stagemole.eu/browser/hashes/[% c("var/projectname") %]/[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]/
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-128.12.0esr-14.5-1-build1
by Pier Angelo Vendrame (@pierov) 23 Jun '25
by Pier Angelo Vendrame (@pierov) 23 Jun '25
23 Jun '25
Pier Angelo Vendrame pushed new tag mullvad-browser-128.12.0esr-14.5-1-build1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-128.12.0esr-14.5-1] 24 commits: MB 38: Mullvad Browser configuration
by Pier Angelo Vendrame (@pierov) 23 Jun '25
by Pier Angelo Vendrame (@pierov) 23 Jun '25
23 Jun '25
Pier Angelo Vendrame pushed to branch mullvad-browser-128.12.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser
Commits:
8cbe49b6 by Pier Angelo Vendrame at 2025-06-23T12:19:48+02:00
MB 38: Mullvad Browser configuration
- - - - -
a7e31ffa by Pier Angelo Vendrame at 2025-06-23T12:19:48+02: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
- - - - -
a71e6a9f by Henry Wilkes at 2025-06-23T12:19:49+02:00
Mullvad Browser strings
This commit adds strings needed by the following Mullvad Browser
patches.
- - - - -
634dc474 by Henry Wilkes at 2025-06-23T12:19:49+02:00
Add CI for Mullvad Browser
- - - - -
abc9962c by Pier Angelo Vendrame at 2025-06-23T12:19:49+02: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.
- - - - -
204fe017 by Pier Angelo Vendrame at 2025-06-23T12:19:50+02:00
MB 63: Customize some about pages for Mullvad Browser
Also:
mullvad-browser#57: Purge unneeded about: pages
- - - - -
d0cabdbb by Pier Angelo Vendrame at 2025-06-23T12:19:50+02:00
MB 37: Customization for the about dialog
- - - - -
601171c1 by Henry Wilkes at 2025-06-23T12:19:50+02:00
MB 39: Add home page about:mullvad-browser
- - - - -
fa025d8b by hackademix at 2025-06-23T12:19:51+02:00
MB 97: Remove UI cues to install new extensions.
- - - - -
d1a05ea8 by hackademix at 2025-06-23T12:19:51+02:00
MB 47: uBlock Origin customization
- - - - -
54290abb by Pier Angelo Vendrame at 2025-06-23T12:19:51+02: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.
- - - - -
07227fd9 by Pier Angelo Vendrame at 2025-06-23T12:19:52+02:00
MB 112: Updater customization for Mullvad Browser
MB 71: Set the updater base URL to Mullvad domain
- - - - -
2a5267f9 by Nicolas Vigier at 2025-06-23T12:19:52+02:00
MB 79: Add Mullvad Browser MAR signing keys
MB 256: Add mullvad-browser nightly mar signing key
- - - - -
0a957984 by Pier Angelo Vendrame at 2025-06-23T12:19:52+02: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.
- - - - -
a2e4847b by Pier Angelo Vendrame at 2025-06-23T12:19:52+02: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.
- - - - -
9e8a0e3a by hackademix at 2025-06-23T12:19:53+02:00
MB 163: prevent uBlock Origin from being uninstalled/disabled
- - - - -
954f2949 by Morgan at 2025-06-23T12:19:53+02:00
MB 188: Customize Gitlab Issue and Merge templates
- - - - -
4a2c70ce by rui hildt at 2025-06-23T12:19:53+02:00
MB 213: Customize the search engines list
MB 328: Refactor the search engine patch.
Upstream switched to a completely different search engine configuration
between ESR 115 and ESR 128.
We moved our configuration to a couple of JSON files that do not follow
upstream's schemas, as they are overcomplicated for our needs.
Also, we keep the old search engine extensions for now, as upstream
also kept them, and planned of removing them with Bug 1885953.
- - - - -
f29af5c3 by hackademix at 2025-06-23T12:19:54+02:00
MB 214: Enable cross-tab identity leak protection in "quiet" mode
- - - - -
2841cd0a by Pier Angelo Vendrame at 2025-06-23T12:19:54+02:00
MB 80: Enable Mullvad Browser as a default browser
- - - - -
c8496206 by Pier Angelo Vendrame at 2025-06-23T12:19:54+02: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.
- - - - -
c4480b68 by Henry Wilkes at 2025-06-23T12:19:55+02:00
MB 329: Customize toolbar for mullvad-browser.
- - - - -
a22d475b by Henry Wilkes at 2025-06-23T12:19:55+02:00
MB 419: Mullvad Browser migration procedures.
This commit implements the the Mullvad Browser's version of _migrateUI.
- - - - -
59483c53 by Kershaw Chang at 2025-06-23T12:19:55+02:00
Bug 1910593 - Don't prefetch HTTPS RR if proxyDNS is enabled, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D219528
- - - - -
280 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/060 Rebase - Alpha.md
- .gitlab/issue_templates/061 Rebase - Stable.md
- .gitlab/issue_templates/063 Rebase - Rapid.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.js
- browser/base/content/overrides/app-license.html
- browser/base/content/pageinfo/pageInfo.xhtml
- browser/base/content/utilityOverlay.js
- browser/branding/branding-common.mozbuild
- + browser/branding/mb-alpha/VisualElements_150.png
- + browser/branding/mb-alpha/VisualElements_70.png
- + browser/branding/mb-alpha/configure.sh
- + browser/branding/mb-alpha/content/about-logo.png
- + browser/branding/mb-alpha/content/about-logo.svg
- + browser/branding/mb-alpha/content/about-logo(a)2x.png
- + browser/branding/mb-alpha/content/about-wordmark.svg
- + browser/branding/mb-alpha/content/about.png
- + browser/branding/mb-alpha/content/aboutDialog.css
- + browser/branding/mb-alpha/content/firefox-wordmark.svg
- + browser/branding/mb-alpha/content/icon128.png
- + browser/branding/mb-alpha/content/icon16.png
- + browser/branding/mb-alpha/content/icon256.png
- + browser/branding/mb-alpha/content/icon32.png
- + browser/branding/mb-alpha/content/icon48.png
- + browser/branding/mb-alpha/content/icon64.png
- + browser/branding/mb-alpha/content/jar.mn
- + browser/branding/mb-alpha/content/moz.build
- + browser/branding/mb-alpha/content/mullvad-branding.css
- + browser/branding/mb-alpha/default128.png
- + browser/branding/mb-alpha/default16.png
- + browser/branding/mb-alpha/default22.png
- + browser/branding/mb-alpha/default24.png
- + browser/branding/mb-alpha/default256.png
- + browser/branding/mb-alpha/default32.png
- + browser/branding/mb-alpha/default48.png
- + browser/branding/mb-alpha/default64.png
- + browser/branding/mb-alpha/document.icns
- + browser/branding/mb-alpha/document.ico
- + browser/branding/mb-alpha/document_pdf.ico
- + browser/branding/mb-alpha/firefox.icns
- + browser/branding/mb-alpha/firefox.ico
- + browser/branding/mb-alpha/firefox.svg
- + browser/branding/mb-alpha/locales/en-US/brand.ftl
- + browser/branding/mb-alpha/locales/en-US/brand.properties
- + browser/branding/mb-alpha/locales/jar.mn
- + browser/branding/mb-alpha/locales/moz.build
- + browser/branding/mb-alpha/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-alpha/moz.build
- + browser/branding/mb-alpha/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-alpha/newtab.ico
- + browser/branding/mb-alpha/newwindow.ico
- + browser/branding/mb-alpha/pbmode.ico
- + browser/branding/mb-alpha/pref/firefox-branding.js
- + browser/branding/mb-nightly/VisualElements_150.png
- + browser/branding/mb-nightly/VisualElements_70.png
- + browser/branding/mb-nightly/configure.sh
- + browser/branding/mb-nightly/content/about-logo.png
- + browser/branding/mb-nightly/content/about-logo.svg
- + browser/branding/mb-nightly/content/about-logo(a)2x.png
- + browser/branding/mb-nightly/content/about-wordmark.svg
- + browser/branding/mb-nightly/content/about.png
- + browser/branding/mb-nightly/content/aboutDialog.css
- + browser/branding/mb-nightly/content/firefox-wordmark.svg
- + browser/branding/mb-nightly/content/icon128.png
- + browser/branding/mb-nightly/content/icon16.png
- + browser/branding/mb-nightly/content/icon256.png
- + browser/branding/mb-nightly/content/icon32.png
- + browser/branding/mb-nightly/content/icon48.png
- + browser/branding/mb-nightly/content/icon64.png
- + browser/branding/mb-nightly/content/jar.mn
- + browser/branding/mb-nightly/content/moz.build
- + browser/branding/mb-nightly/content/mullvad-branding.css
- + browser/branding/mb-nightly/default128.png
- + browser/branding/mb-nightly/default16.png
- + browser/branding/mb-nightly/default22.png
- + browser/branding/mb-nightly/default24.png
- + browser/branding/mb-nightly/default256.png
- + browser/branding/mb-nightly/default32.png
- + browser/branding/mb-nightly/default48.png
- + browser/branding/mb-nightly/default64.png
- + browser/branding/mb-nightly/document.icns
- + browser/branding/mb-nightly/document.ico
- + browser/branding/mb-nightly/document_pdf.ico
- + browser/branding/mb-nightly/firefox.icns
- + browser/branding/mb-nightly/firefox.ico
- + browser/branding/mb-nightly/firefox.svg
- + browser/branding/mb-nightly/locales/en-US/brand.ftl
- + browser/branding/mb-nightly/locales/en-US/brand.properties
- + browser/branding/mb-nightly/locales/jar.mn
- + browser/branding/mb-nightly/locales/moz.build
- + browser/branding/mb-nightly/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-nightly/moz.build
- + browser/branding/mb-nightly/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-nightly/newtab.ico
- + browser/branding/mb-nightly/newwindow.ico
- + browser/branding/mb-nightly/pbmode.ico
- + browser/branding/mb-nightly/pref/firefox-branding.js
- + browser/branding/mb-release/VisualElements_150.png
- + browser/branding/mb-release/VisualElements_70.png
- + browser/branding/mb-release/configure.sh
- + browser/branding/mb-release/content/about-logo.png
- + browser/branding/mb-release/content/about-logo.svg
- + browser/branding/mb-release/content/about-logo(a)2x.png
- + browser/branding/mb-release/content/about-wordmark.svg
- + browser/branding/mb-release/content/about.png
- + browser/branding/mb-release/content/aboutDialog.css
- + browser/branding/mb-release/content/firefox-wordmark.svg
- + browser/branding/mb-release/content/icon128.png
- + browser/branding/mb-release/content/icon16.png
- + browser/branding/mb-release/content/icon256.png
- + browser/branding/mb-release/content/icon32.png
- + browser/branding/mb-release/content/icon48.png
- + browser/branding/mb-release/content/icon64.png
- + browser/branding/mb-release/content/jar.mn
- + browser/branding/mb-release/content/moz.build
- + browser/branding/mb-release/content/mullvad-branding.css
- + browser/branding/mb-release/default128.png
- + browser/branding/mb-release/default16.png
- + browser/branding/mb-release/default22.png
- + browser/branding/mb-release/default24.png
- + browser/branding/mb-release/default256.png
- + browser/branding/mb-release/default32.png
- + browser/branding/mb-release/default48.png
- + browser/branding/mb-release/default64.png
- + browser/branding/mb-release/document.icns
- + browser/branding/mb-release/document.ico
- + browser/branding/mb-release/document_pdf.ico
- + browser/branding/mb-release/firefox.icns
- + browser/branding/mb-release/firefox.ico
- + browser/branding/mb-release/firefox.svg
- + browser/branding/mb-release/locales/en-US/brand.ftl
- + browser/branding/mb-release/locales/en-US/brand.properties
- + browser/branding/mb-release/locales/jar.mn
- + browser/branding/mb-release/locales/moz.build
- + browser/branding/mb-release/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-release/moz.build
- + browser/branding/mb-release/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-release/newtab.ico
- + browser/branding/mb-release/newwindow.ico
- + browser/branding/mb-release/pbmode.ico
- + browser/branding/mb-release/pref/firefox-branding.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/moz.build
- + browser/components/mullvad-browser/AboutMullvadBrowserChild.sys.mjs
- + browser/components/mullvad-browser/AboutMullvadBrowserParent.sys.mjs
- + browser/components/mullvad-browser/content/2728-sparkles.svg
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.css
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.html
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.js
- + browser/components/mullvad-browser/jar.mn
- + browser/components/mullvad-browser/moz.build
- browser/components/newtab/AboutNewTabService.sys.mjs
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/preferences/search.inc.xhtml
- + browser/components/search/extensions/brave/favicon.svg
- + browser/components/search/extensions/brave/manifest.json
- + browser/components/search/extensions/ddg-html/favicon.ico
- + browser/components/search/extensions/ddg-html/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/metager/favicon.ico
- + browser/components/search/extensions/metager/manifest.json
- + browser/components/search/extensions/mojeek/favicon.ico
- + browser/components/search/extensions/mojeek/manifest.json
- + browser/components/search/extensions/mullvad-leta/favicon.svg
- + browser/components/search/extensions/mullvad-leta/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- browser/components/shell/ShellService.sys.mjs
- browser/components/shell/WindowsDefaultBrowser.cpp
- browser/components/shell/nsWindowsShellService.cpp
- browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/mullvad-browser
- browser/confvars.sh
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/updater_append.ini
- browser/modules/HomePage.sys.mjs
- browser/moz.build
- config/create_rc.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/aboutdebugging/src/components/sidebar/Sidebar.js
- devtools/client/jar.mn
- devtools/client/themes/images/aboutdebugging-firefox-aurora.svg
- devtools/client/themes/images/aboutdebugging-firefox-beta.svg
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- devtools/client/themes/images/aboutdebugging-firefox-nightly.svg
- devtools/client/themes/images/aboutdebugging-firefox-release.svg
- + devtools/client/themes/images/aboutdebugging-mullvadbrowser-logo.svg
- docshell/base/nsAboutRedirector.cpp
- docshell/build/components.conf
- dom/chrome-webidl/NetDashboard.webidl
- moz.configure
- mozconfig-linux-aarch64
- mozconfig-linux-aarch64-dev
- mozconfig-linux-x86_64
- mozconfig-linux-x86_64-asan
- mozconfig-linux-x86_64-dev
- mozconfig-macos
- mozconfig-macos-dev
- mozconfig-windows-x86_64
- netwerk/base/Dashboard.cpp
- netwerk/base/DashboardTypes.h
- netwerk/dns/nsHostResolver.cpp
- netwerk/protocol/http/nsHttp.cpp
- netwerk/protocol/http/nsHttp.h
- netwerk/protocol/http/nsHttpChannel.cpp
- netwerk/protocol/http/nsHttpChannel.h
- netwerk/protocol/http/nsHttpConnectionInfo.h
- netwerk/protocol/http/nsHttpConnectionMgr.cpp
- netwerk/protocol/http/nsHttpHandler.cpp
- netwerk/protocol/http/nsHttpHandler.h
- + netwerk/test/unit/test_proxyDNS_leak.js
- netwerk/test/unit/xpcshell.toml
- + other-licenses/nsis/Contrib/ApplicationID/Makefile
- + other-licenses/nsis/Contrib/CityHash/Makefile
- toolkit/components/extensions/child/ext-storage.js
- toolkit/components/extensions/parent/ext-storage.js
- toolkit/components/passwordmgr/LoginHelper.sys.mjs
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/brave.svg
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/metager.ico
- + toolkit/components/search/content/mojeek.ico
- + toolkit/components/search/content/mullvad-leta.svg
- + toolkit/components/search/content/mullvadBrowserSearchEngineIcons.json
- + toolkit/components/search/content/mullvadBrowserSearchEngines.json
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/content/aboutNetworking.js
- + toolkit/content/aboutRightsMullvad.xhtml
- + toolkit/content/aboutTelemetryMullvad.xhtml
- toolkit/content/jar.mn
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- + toolkit/locales/en-US/toolkit/global/mullvad-browser.ftl
- toolkit/mozapps/defaultagent/EventLog.h
- toolkit/mozapps/defaultagent/SetDefaultBrowser.cpp
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/content/aboutaddons.css
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- + toolkit/themes/shared/icons/mullvadbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- toolkit/xre/nsAppRunner.cpp
- tools/lint/fluent-lint/exclusions.yml
- widget/windows/WinTaskbar.cpp
- widget/windows/moz.build
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/08…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/08…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-2] 2 commits: fixup! Tweaks to the build system
by brizental (@brizental) 23 Jun '25
by brizental (@brizental) 23 Jun '25
23 Jun '25
brizental pushed to branch mullvad-browser-140.0a1-15.0-2 at The Tor Project / Applications / Mullvad Browser
Commits:
2f0fa637 by Beatriz Rizental at 2025-06-23T11:40:00+02:00
fixup! Tweaks to the build system
Make it possible to provide MOZ_PKG_MAC_DSSTORE, MOZ_PKG_MAC_BACKGROUND,
MOZ_PKG_MAC_ICON as environment variables. These files are not where the
build system expects it.
In our build system these files are in
tor-browser-build/projects/browser/Bundle-Data/BaseBrowser.dmg while the
build system expects it to be in browser/branding/tb-*.
For ./mach package to work properly when building for macos we need
these locations. Passing them as env vars is fine for building artifacts
in tbb.
- - - - -
72569bc4 by Beatriz Rizental at 2025-06-23T11:40:14+02:00
fixup! Tweaks to the build system
Disable inclusion of browser/installer/windows into packaged development
artifacts. That file is not included by our builds -- at least not by
the ones done by tor-browser-build.
Attempting to zip the unexisting folder will crash `./mach package` when
building inside tor-browser-build.
- - - - -
2 changed files:
- toolkit/mozapps/installer/packager.mk
- toolkit/mozapps/installer/upload-files.mk
Changes:
=====================================
toolkit/mozapps/installer/packager.mk
=====================================
@@ -135,7 +135,7 @@ make-package: FORCE
$(MAKE) make-package-internal
ifeq (WINNT,$(OS_ARCH))
ifeq ($(MOZ_PKG_FORMAT),ZIP)
- $(MAKE) -C windows ZIP_IN='$(ABS_DIST)/$(PACKAGE)' installer
+# $(MAKE) -C windows ZIP_IN='$(ABS_DIST)/$(PACKAGE)' installer
endif
endif
ifdef MOZ_AUTOMATION
=====================================
toolkit/mozapps/installer/upload-files.mk
=====================================
@@ -205,9 +205,9 @@ ifeq ($(MOZ_PKG_FORMAT),DMG)
_ABS_MOZSRCDIR = $(shell cd $(MOZILLA_DIR) && pwd)
PKG_DMG_SOURCE = $(MOZ_PKG_DIR)
- MOZ_PKG_MAC_DSSTORE=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/dsstore
- MOZ_PKG_MAC_BACKGROUND=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/background.png
- MOZ_PKG_MAC_ICON=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/disk.icns
+ MOZ_PKG_MAC_DSSTORE?=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/dsstore
+ MOZ_PKG_MAC_BACKGROUND?=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/background.png
+ MOZ_PKG_MAC_ICON?=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/disk.icns
INNER_MAKE_PACKAGE = \
$(call py_action,make_dmg, \
$(if $(MOZ_PKG_MAC_DSSTORE),--dsstore '$(MOZ_PKG_MAC_DSSTORE)') \
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/4c…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/4c…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new branch mullvad-browser-128.12.0esr-14.5-1
by Pier Angelo Vendrame (@pierov) 23 Jun '25
by Pier Angelo Vendrame (@pierov) 23 Jun '25
23 Jun '25
Pier Angelo Vendrame pushed new branch mullvad-browser-128.12.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag FIREFOX_128_12_0esr_BUILD1
by Pier Angelo Vendrame (@pierov) 23 Jun '25
by Pier Angelo Vendrame (@pierov) 23 Jun '25
23 Jun '25
Pier Angelo Vendrame pushed new tag FIREFOX_128_12_0esr_BUILD1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/FIREF…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

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

[Git][tpo/applications/tor-browser] Pushed new tag base-browser-128.12.0esr-14.5-1-build1
by Pier Angelo Vendrame (@pierov) 23 Jun '25
by Pier Angelo Vendrame (@pierov) 23 Jun '25
23 Jun '25
Pier Angelo Vendrame pushed new tag base-browser-128.12.0esr-14.5-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-128.12.0esr-14.5-1] 166 commits: Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load...
by Pier Angelo Vendrame (@pierov) 23 Jun '25
by Pier Angelo Vendrame (@pierov) 23 Jun '25
23 Jun '25
Pier Angelo Vendrame pushed to branch base-browser-128.12.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
739a3700 by Timothy Nikkel at 2025-06-17T16:25:42+02:00
Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load context, use the private browsing field from it's origin attributes. r=necko-reviewers,anti-tracking-reviewers,valentin
If the channel is not a nsIPrivateBrowsingChannel, and it also has no load context (eg inside svg images) then we will over write a non-zero mPrivateBrowsingId on the OriginAttributes of the channel with 0, making NS_UsePrivateBrowsing return false for the channel.
Differential Revision: https://phabricator.services.mozilla.com/D212083
- - - - -
5d24e03a by Jon Coppeard at 2025-06-17T16:25:44+02:00
Bug 1904011 - Ignore finalized scripts when iterating code covarage tables r=iain
Differential Revision: https://phabricator.services.mozilla.com/D214799
- - - - -
5a871a00 by Arturo Mejia at 2025-06-17T16:25:45+02:00
Bug 1908344 - Improve prompts showing a=dmeehan - BP, tor-browser#43005
Original Revision: https://phabricator.services.mozilla.com/D216996
Differential Revision: https://phabricator.services.mozilla.com/D217718
- - - - -
4411d81b by Sam Foster at 2025-06-17T16:25:47+02:00
Bug 1909099 - Always clean up old session restore and sync log files. r=markh,sessionstore-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D217520
- - - - -
43bfcfb3 by pollymce at 2025-06-17T16:25:48+02:00
Bug 1902996 - Improve messaging for fullscreen notifications. r=android-reviewers,gl
Instead of explaining to users that they are in fullscreen mode, which may be obvious, we explain how to get out of it :)
Also use a Toast rather than a custom Dialog.
Update Focus too.
Fix lint errors.
Differential Revision: https://phabricator.services.mozilla.com/D215782
- - - - -
777c39ca by Roger Yang at 2025-06-17T16:25:50+02:00
Bug 1862537 - Do not try to go back when it's a initial load r=android-reviewers,harrisono, a=pascalc
Differential Revision: https://phabricator.services.mozilla.com/D219782
- - - - -
ee8201ba by Henry Wilkes at 2025-06-17T16:25:51+02:00
Bug 1436462 - Use "Open in new private window" for bookmarks when in PBM. r=places-reviewers,mak
This makes the bookmark menu consistent with the "File" and context
menu when using private browsing mode.
We also share the same hide item logic for these "open" items in one
place in PlacesUIUtils so that they can be shared between the two
consumers (regular bookmarks and managed bookmarks). This ensures that
the "Open in container" item if hidden for managed bookmarks in a
private window.
Differential Revision: https://phabricator.services.mozilla.com/D220120
- - - - -
2a971eb4 by Fatih at 2025-06-17T16:25:53+02:00
Bug 1834307: Change StaticPrefs::general_smoothScroll() calls with nsLayoutUtils::IsSmoothScrollingEnabled. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221363
- - - - -
bd92f471 by Fatih at 2025-06-17T16:25:54+02:00
Bug 1834307: Check RFPTarget::CSSPrefersReducedMotion in nsLayoutUtils::IsSmoothScrollingEnabled. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221364
- - - - -
6f97a1c0 by Henry Wilkes at 2025-06-17T16:25:55+02:00
Bug 1919363 - Only show one app menu "new window" item in permanent private browsing. r=mconley
We also update the browser_private_browsing_window.js test.
The previous test was limited because it was referring to non-existent
"appmenu_newNavigator" and "appmenu_newPrivateWindow".
Differential Revision: https://phabricator.services.mozilla.com/D222507
- - - - -
3b742155 by rahulsainani at 2025-06-17T16:25:57+02:00
Bug 1906024 - Format download file names better a=diannaS
Original Revision: https://phabricator.services.mozilla.com/D220559
Differential Revision: https://phabricator.services.mozilla.com/D222254
- - - - -
da5b7060 by rahulsainani at 2025-06-17T16:25:58+02:00
Bug 1906024 - Format download file names a=diannaS
Original Revision: https://phabricator.services.mozilla.com/D221771
Differential Revision: https://phabricator.services.mozilla.com/D222259
- - - - -
6fb91271 by Nika Layzell at 2025-06-17T16:26:00+02:00
Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8
Previously these checks were largely diagnostic tools for finding bugs
in other code as it evolves. This unifies the checks a bit more and
makes them stronger for BrowsingContexts created over IPC, providing a
place for more coherency checks to be added in the future.
Differential Revision: https://phabricator.services.mozilla.com/D218860
- - - - -
fc52dd75 by Pier Angelo Vendrame at 2025-06-17T16:26:01+02:00
Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr
The spoofed value of the HTTP user-agent header is not consistent with
the value of navigator.userAgent on Windows, and this can lead to
compatibility issues.
Differential Revision: https://phabricator.services.mozilla.com/D223745
- - - - -
cfa0ffb0 by Fatih at 2025-06-17T16:26:03+02:00
Bug 1607032: Spoof screen orientation and angle to primary values. r=tjr,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D220904
- - - - -
efa7b285 by Fatih at 2025-06-17T16:26:04+02:00
Bug 1918202: Spoof orientation based on screen size. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221863
- - - - -
710971ef by Fatih at 2025-06-17T16:26:06+02:00
Bug 1922204: fixup square spoofed orientation. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D224312
- - - - -
0ca37089 by Pier Angelo Vendrame at 2025-06-17T16:26:07+02:00
Bug 1923264 - Discard unsupported updates in selectUpdate. r=bytesized,nalexander
UpdateService.#selectUpdate currently chooses always the most recent
update even when unsupported and an older but supported one is
available.
This commit makes #selectUpdate discard the unsupported update if a
supported alternative is found.
Differential Revision: https://phabricator.services.mozilla.com/D224905
- - - - -
908fef84 by stransky at 2025-06-17T16:26:08+02:00
Bug 1501744 [Linux] Fill PointerEvents on the Gtk backend r=emilio
Patch author is tpxp <tpxp(a)live.fr>
Differential Revision: https://phabricator.services.mozilla.com/D215201
- - - - -
b61725fe by Fatih at 2025-06-17T16:26:10+02:00
Bug 1436226: Ignore user prefs and hardware support for media capabilities when RFPTarget::MediaCapabilities is enabled. r=tjr,media-playback-reviewers,padenot
This patch mostly targeted Android, as media.mediasource.vp9.enabled is disabled on only Android and HW support takes precedence over pref, hence leaking HW support for VP9. However, we ended up modifying the patch to ignore prefs or HW support, fixing both possible user pref leak and HW support leak.
Differential Revision: https://phabricator.services.mozilla.com/D221338
- - - - -
9f3fab8c by hackademix at 2025-06-17T16:26:11+02:00
Bug 1556002 - Update initial window size and letterboxing stepping. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D226598
- - - - -
497f0f65 by Arturo Mejia at 2025-06-17T16:26:13+02:00
Bug 1836921 - Improve dialogs a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D226961
Differential Revision: https://phabricator.services.mozilla.com/D228842
- - - - -
598c762c by Makoto Kato at 2025-06-17T16:26:14+02:00
Bug 1776646 - Support EXTRA_IS_SENSITIVE for clipboard. r=geckoview-reviewers,owlish
When nsITransferable.isPrivateData is true, such as coping password or
private mode, we should set EXTRA_IS_SENSITIVE to ClipData.
AndroidJunit test runner doesn't often get `ClipDescription.extras`
from clipboard service in test runner. So we cannot write a unit test
using AndroidJUnit test runner.
Differential Revision: https://phabricator.services.mozilla.com/D225326
- - - - -
9f65222a by Malte Juergens at 2025-06-17T16:26:16+02:00
Bug 1909396 - Remove HTTPS-Only exception button in iframes r=freddyb,fluent-reviewers
Rationale for this can be read in Bug 1909396, but the main reason is that the iframe will get blocked regardless by mixed content blocking.
Differential Revision: https://phabricator.services.mozilla.com/D220257
- - - - -
fb48c67d by Cathy Lu at 2025-06-17T16:26:17+02:00
Bug 1914797 - Part 1 + 2 + partial backout (details below)
Bug 1914797 - Part 1 - Revert bug 1868469 r=android-reviewers,jonalmeida, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D226431
Bug 1914797 - Part 2 - Add url change during onPageStart for slow loading sites r=android-reviewers,jonalmeida, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D226432
Backed out 1 changesets (bug 1914797) for causing Bug 1929028
Backed out changeset a79554879d7b (bug 1914797)
- - - - -
a946ddb1 by Emilio Cobos Álvarez at 2025-06-17T16:26:19+02:00
Bug 1909625 - Ignore CSS zoom and text zoom for canvas. r=gfx-reviewers,lsalzman
The spec doesn't mention anything about applying them, and other
browsers don't, so let's just be consistent...
Differential Revision: https://phabricator.services.mozilla.com/D221709
- - - - -
fd7ba2cf by Emilio Cobos Álvarez at 2025-06-17T16:26:20+02:00
Bug 1918454 - Prevent divide by zero when inverting effective zoom. r=firefox-style-system-reviewers,layout-reviewers,boris
See comment.
Differential Revision: https://phabricator.services.mozilla.com/D222090
- - - - -
a842beaa by Pier Angelo Vendrame at 2025-06-17T16:26:22+02:00
Bug 1840385 - Do not spoof the OS in HTTP User Agent. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D234835
- - - - -
ca3095fa by Pier Angelo Vendrame at 2025-06-17T16:26:23+02:00
Bug 1923260 - Exempt Android resources from svg.disabled. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D224895
- - - - -
ddf15b9e by Julian Descottes at 2025-06-17T16:26:25+02:00
Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D221448
- - - - -
08e1f878 by John Lin at 2025-06-17T16:26:26+02:00
Bug 1924070 - modify H.264 extradata to match sample conversion code. r=media-playback-reviewers,alwu
In AVC stream, NAL unit is represented with the length of unit data
(NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength
field can be 1-4 bytes long and the size can be derived from the
'lengthSizeMinusOne' value recorded in extradata.
H264ChangeMonitor.CheckForChange() reformats all input samples so that
NALUnitLength will always be 4 bytes long while the original extradata is
used during decoder creation earlier, so decoder won't be able to correctly
parse converted samples if extradata is not modified accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D239547
- - - - -
f6116a9a by Tara at 2025-06-17T16:26:27+02:00
Bug 1908488 - Improve dialogs. r=android-reviewers,gmalekpour, a=dmeehan [bp]
Differential Revision: https://phabricator.services.mozilla.com/D236606
- - - - -
9e4ffe03 by John Schanck at 2025-06-17T16:26:29+02:00
Bug 1922357 - disallow the fido: URI scheme. a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D237313
Differential Revision: https://phabricator.services.mozilla.com/D238681
- - - - -
aeef6220 by Jeff Boek at 2025-06-17T16:26:30+02:00
Bug 1928334 - Handles animating activities a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D238342
Differential Revision: https://phabricator.services.mozilla.com/D238845
- - - - -
56e82247 by Tom Schuster at 2025-06-17T16:26:32+02:00
Bug 1942022 - Improve the about:protections CSP. r=firefox-desktop-core-reviewers ,mossop
Differential Revision: https://phabricator.services.mozilla.com/D234507
- - - - -
890c6088 by Tom Schuster at 2025-06-17T16:26:33+02:00
Bug 1942025 - Improve the about:privatebrowsing CSP. r=firefox-desktop-core-reviewers ,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D234508
- - - - -
ddc8fb19 by Ray Kraesig at 2025-06-17T16:26:35+02:00
Bug 1950056 - extend use of FOS_NODEREFERENCELINKS r=Gijs,win-reviewers,gstoll
In the modern era of user-customizable Quick Access sidebars on every
file dialog, navigating via `.lnk` files is rather less useful than it
was twenty years ago.
Disable link-following in file-open dialogs by default, to prevent any
of the usual security issues involving symlink smuggling. Allow
overriding this behavior via a pref, for users who don't care.
(File-save dialogs have a more nuanced guard against that sort of thing;
this patch doesn't affect that.)
Differential Revision: https://phabricator.services.mozilla.com/D239833
- - - - -
6c3df969 by Alexandre Lissy at 2025-06-22T08:37:32+02:00
Bug 1947157 - Use In-Product link for dedicated usernamespaces fix page r=jld
Differential Revision: https://phabricator.services.mozilla.com/D237599
- - - - -
9bfa9fed by smayya at 2025-06-22T08:37:33+02:00
Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D219041
- - - - -
a8669ab2 by gela at 2025-06-22T08:37:35+02:00
Bug 1929478 - Update log statement r=skhan
Differential Revision: https://phabricator.services.mozilla.com/D242094
- - - - -
c43fa079 by Titouan Thibaud at 2025-06-22T08:37:36+02:00
Bug 1945705 - Fix malformed download filename extracted from contentDisposition r=android-reviewers,rsainani
Differential Revision: https://phabricator.services.mozilla.com/D241072
- - - - -
615588e0 by Oskar Mansfeld at 2025-06-22T08:37:38+02:00
Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D239514
ESR128 backport: Remove glean references.
- - - - -
3cf80be4 by Daniel Holbert at 2025-06-22T08:37:39+02:00
Bug 1742738 part 1: Tighten up tearoff-table removal for DOMSVGPointList and DOMSVGStringList. r=firefox-svg-reviewers,longsonr
Differential Revision: https://phabricator.services.mozilla.com/D246062
- - - - -
c5b291b0 by Daniel Holbert at 2025-06-22T08:37:41+02:00
Bug 1742738 part 2: Tighten up tearoff-table removal for DOMSVGLength. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246063
- - - - -
b941de30 by Daniel Holbert at 2025-06-22T08:37:42+02:00
Bug 1742738 part 3: Tighten up tearoff-table removal for DOMSVGPoint. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246065
- - - - -
71bc32c0 by Gijs Kruitbosch at 2025-06-22T08:37:44+02:00
Bug 1959298 - use search params in about:memory, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D245049
- - - - -
3ee1a51d by Henry Wilkes at 2025-06-22T08:37:45+02:00
BB 41454: Move focus after calling openPreferences for a sub-category.
Temporary fix until mozilla bug 1799153 gets a patch upstream.
- - - - -
7856d11e by Henry Wilkes at 2025-06-22T08:37:47+02: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.
- - - - -
ea29c3a7 by Henry Wilkes at 2025-06-22T08:37:48+02: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.
- - - - -
2745ba74 by hackademix at 2025-06-22T08:37:50+02:00
BB 42194: Fix blank net error page on failed DNS resolution with active proxy.
- - - - -
35d984d0 by Henry Wilkes at 2025-06-22T08:37:51+02:00
BB 41483: Remove the firefox override for appstrings.properties
Remove this patch after upstream bugzilla bug 1790187
- - - - -
afa82dba by Marco Simonelli at 2025-06-22T08:37:53+02:00
BB 41459: WebRTC fails to build under mingw (Part 1)
- properly define NOMINMAX for just MSVC builds
- - - - -
8e935d40 by Marco Simonelli at 2025-06-22T08:37:54+02:00
BB 41459: WebRTC fails to build under mingw (Part 2)
- fixes required to build third_party/libwebrtc
- - - - -
19a495f3 by Marco Simonelli at 2025-06-22T08:37:56+02:00
BB 41459: WebRTC fails to build under mingw (Part 3)
- fixes required to build third_party/sipcc
- - - - -
d94e3531 by Marco Simonelli at 2025-06-22T08:37:57+02:00
BB 41459: WebRTC fails to build under mingw (Part 4)
- fixes requried to build netwerk/sctp
- - - - -
32e70381 by Marco Simonelli at 2025-06-22T08:37:59+02:00
BB 41459: WebRTC fails to build under mingw (Part 5)
- fixes required to build dom/media/webrtc
- - - - -
85b9cff0 by Marco Simonelli at 2025-06-22T08:38:00+02:00
BB 41459: WebRTC fails to build under mingw (Part 6)
- fixes required to build dom/media/systemservices
- - - - -
8f66e120 by june wilde at 2025-06-22T08:38:02+02:00
BB 42758: Fix WebRTC build errors.
- - - - -
d882285f by Dan Ballard at 2025-06-22T08:38:03+02:00
BB 43544: DoH pane undefined error in Privacy and Security
From: Sarah Jamie Lewis <sarah(a)openprivacy.ca>
Date: Fri, 28 Feb 2025 09:30:45 -0800
Subject: [PATCH 1/1] DoH Settings: Check for nulll gParentalControlsService
When the parental controls service is disabled in a build, the DoH
settings now display the correct stauts when Increased or Max Protection
is enabled.
Previously, selecting either of these options would cause DoH to be
enabled, but the "Status" and "Provider" fields would not be properly
populated, due to a check on the gParentalControlsService causing an
error.
This check is now identical to the same check in DownloadIntegration.sys.mjs
Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: ma1 <giorgio(a)maone.net>
- - - - -
31a938e2 by hackademix at 2025-06-22T08:38:05+02:00
BB 41854: Allow overriding download spam protection.
- - - - -
a6fe60c5 by hackademix at 2025-06-22T08:38:06+02:00
BB 42832: Download spam prevention exemption for browser extensions.
- - - - -
83076774 by Pier Angelo Vendrame at 2025-06-23T10:09:02+02: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).
- - - - -
8ffd4a2e by hackademix at 2025-06-23T10:09:14+02:00
BB 42835: Create an actor to filter file data transfers
- - - - -
6ee60b7c by Beatriz Rizental at 2025-06-23T10:09:17+02:00
BB 42728: Modify ./mach lint to skip unused linters
- - - - -
40611d19 by Morgan at 2025-06-23T10:09:18+02:00
BB 43615: Add Gitlab Issue and Merge Request templates
- - - - -
73881d7b by Richard Pospesel at 2025-06-23T10:09:20+02:00
BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs
- - - - -
7cb16ffd by Henry Wilkes at 2025-06-23T10:09:22+02:00
BB 42305: Add script to combine translation files across versions.
- - - - -
61060a62 by Beatriz Rizental at 2025-06-23T10:09:23+02:00
BB 43535: Enable tests
- - - - -
bb03ac7f by Beatriz Rizental at 2025-06-23T10:09:25+02:00
Add CI for Base Browser
- - - - -
940abf55 by Pier Angelo Vendrame at 2025-06-23T10:09:27+02: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
- - - - -
e0025bf8 by Pier Angelo Vendrame at 2025-06-23T10:09:28+02: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.
- - - - -
037d38f5 by Pier Angelo Vendrame at 2025-06-23T10:09:30+02:00
BB 29320: Replace the gnu target with gnullvm for Rust.
- - - - -
dbd8539a by Pier Angelo Vendrame at 2025-06-23T10:09:32+02: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.
- - - - -
9a9ecb34 by Pier Angelo Vendrame at 2025-06-23T10:09:33+02:00
BB 41108: Remove privileged macOS installation from 102
- - - - -
70a31b6a by Dan Ballard at 2025-06-23T10:09:35+02:00
BB 41149: Re-enable DLL injection protection in all builds not just nightlies
- - - - -
26c7df0d by Henry Wilkes at 2025-06-23T10:09:36+02:00
BB 43092: Disable wayland by default in Base Browser.
- - - - -
0b523d99 by Matthew Finkel at 2025-06-23T10:09:38+02: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.
- - - - -
cd05e4ef by Matthew Finkel at 2025-06-23T10:09:40+02:00
BB 28125: Prevent non-Necko network connections
- - - - -
f2872492 by Mike Perry at 2025-06-23T10:09:41+02: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
- - - - -
0420b12a by cypherpunks1 at 2025-06-23T10:09:43+02:00
BB 40717: Hide Windows SSO in settings
- - - - -
78fff7e6 by Georg Koppen at 2025-06-23T10:09:45+02: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.
- - - - -
f2197776 by Kathy Brade at 2025-06-23T10:09:47+02:00
BB 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
- - - - -
679a4886 by Henry Wilkes at 2025-06-23T10:09:48+02:00
BB 42831: Remove the shopping components.
- - - - -
b2e1ee2e by Kathy Brade at 2025-06-23T10:09:50+02: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.
- - - - -
7999a880 by Alex Catarineu at 2025-06-23T10:09:52+02:00
BB 41457: Remove Mozilla permissions
Bug 40025: Remove Mozilla add-on install permissions
- - - - -
206b4be1 by Kathy Brade at 2025-06-23T10:09:53+02:00
BB 40002: Remove about:ion
Firefox Ion (previously Firefox Pioneer) is an opt-in program in which people
volunteer to participate in studies that collect detailed, sensitive data about
how they use their browser.
Bug 41662: Disable about:sync-logs
Even though we disable sync by default with
`identity.fxaccounts.enabled`, this about: page is still avilable.
We could throw an exception on the constructor of the related
component, but it would result only in an error in the console, without
a visible "this address does not look right" error page.
If we fix the issues with MOZ_SERVICES_SYNC, we can restore the
component.
- - - - -
2de3fa7e by Morgan at 2025-06-23T10:09:55+02:00
BB 42716: Disable unwanted about: pages
- - - - -
fd6e34c2 by Arthur Edelstein at 2025-06-23T10:09:57+02: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.
- - - - -
df546331 by Alex Catarineu at 2025-06-23T10:09:58+02: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.
- - - - -
badbc509 by cypherpunks1 at 2025-06-23T10:10:00+02:00
BB 41092: Add a RemoteSettings JSON dump for query-stripping
- - - - -
d216964e by cypherpunks1 at 2025-06-23T10:10:01+02:00
BB 42730: Patch RemoteSettings to use only local dumps as a data source
- - - - -
65ee5160 by Pier Angelo Vendrame at 2025-06-23T10:10:03+02:00
BB 41635: Disable the Normandy component
Do not include Normandy at all whenever MOZ_NORMANDY is False.
- - - - -
5d93e603 by Georg Koppen at 2025-06-23T10:10:04+02:00
BB 30541: Disable WebGL readPixel() for web content
Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034
- - - - -
32414428 by Alex Catarineu at 2025-06-23T10:10:06+02:00
BB 28369: Stop shipping pingsender executable
- - - - -
3370a2aa by Henry Wilkes at 2025-06-23T10:10:08+02:00
BB 42630: Disable LaterRun module.
- - - - -
746de7cb by Pier Angelo Vendrame at 2025-06-23T10:10:09+02: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
- - - - -
c3440458 by Pier Angelo Vendrame at 2025-06-23T10:10:11+02: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".
- - - - -
196a77b2 by Richard Pospesel at 2025-06-23T10:10:12+02:00
BB 41327: Disable UrlbarProviderInterventions
- - - - -
38a21c67 by Richard Pospesel at 2025-06-23T10:10:14+02:00
BB 42037: Disable about:firefoxview page
- - - - -
78567a5f by Mike Perry at 2025-06-23T10:10:15+02:00
Firefox preference overrides.
- - - - -
fd803b70 by Pier Angelo Vendrame at 2025-06-23T10:10:17+02: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.
- - - - -
15d5a77e by Pier Angelo Vendrame at 2025-06-23T10:10:19+02:00
BB 41901: Hardcode normalized FontSubstitutes.
Windows has a system to set font aliases through the registry.
This allows some customization that could be used as a fingerprinting
vector.
Moreover, this mechanism is used by Windows itself, and different SKUs
might have different default FontSubstitutes.
- - - - -
69b9c1e0 by Pier Angelo Vendrame at 2025-06-23T10:10:20+02: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.
- - - - -
25d4bd90 by Alex Catarineu at 2025-06-23T10:10:22+02: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
- - - - -
d01ae485 by Pier Angelo Vendrame at 2025-06-23T10:10:23+02: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.
- - - - -
750eb16c by Alex Catarineu at 2025-06-23T10:10:24+02:00
BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware
- - - - -
368afea0 by Alex Catarineu at 2025-06-23T10:10:26+02:00
BB 26345: Hide tracking protection UI
- - - - -
700a88a7 by Henry Wilkes at 2025-06-23T10:10:27+02:00
BB 43109: Hide Firefox Relay from settings.
This should remain disabled, see tor-browser#42814.
- - - - -
4fa27a9d by Henry Wilkes at 2025-06-23T10:10:29+02: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.
- - - - -
9857802a by Morgan at 2025-06-23T10:10:30+02:00
BB 42070: Hide "Use smooth scrolling" from settings
- - - - -
11a2d866 by Arthur Edelstein at 2025-06-23T10:10:32+02:00
BB 18905: Hide unwanted items from help menu
Bug 25660: Remove the "New Private Window" option
- - - - -
3ed88f03 by Pier Angelo Vendrame at 2025-06-23T10:10:33+02:00
BB 41739: Remove "Website appearance" from about:preferences.
It is ignored because of RFP and it is confusing for users.
- - - - -
70380c7f by Henry Wilkes at 2025-06-23T10:10:35+02:00
BB 43117: Hide "Always underline links" from settings.
- - - - -
27777b78 by Pier Angelo Vendrame at 2025-06-23T10:10:36+02:00
BB 42774: Always hide the third-pary certs UI.
- - - - -
62c2333a by Henry Wilkes at 2025-06-23T10:10:38+02:00
BB 43118: Hide feature recommendation (CFR) settings.
- - - - -
f7f5eea3 by Pier Angelo Vendrame at 2025-06-23T10:10:39+02: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).
- - - - -
fbc65eb4 by Pier Angelo Vendrame at 2025-06-23T10:10:40+02: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.
- - - - -
bf58d806 by Alex Catarineu at 2025-06-23T10:10:42+02:00
BB 27604: Fix addon issues when moving the profile directory
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838
- - - - -
996c030b by Mike Perry at 2025-06-23T10:10:43+02: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
- - - - -
18450e31 by Pier Angelo Vendrame at 2025-06-23T10:10:45+02: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.
- - - - -
edc110bc by Matthew Finkel at 2025-06-23T10:10:46+02:00
BB 40432: Prevent probing installed applications
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084
- - - - -
5fb5e5ef by Henry Wilkes at 2025-06-23T10:10:48+02:00
BB 29745: Limit remote access to content accessible resources
- - - - -
db36bd7d by cypherpunks1 at 2025-06-23T10:10:49+02:00
BB 33955: When copying an image only copy the image contents to the clipboard
- - - - -
b3fc4600 by cypherpunks1 at 2025-06-23T10:10:51+02:00
BB 41791: Omit the source URL when copying page contents to the clipboard
- - - - -
614bea8e by hackademix at 2025-06-23T10:10:52+02:00
BB 42288: Allow language spoofing in status messages.
- - - - -
96def0a8 by Pier Angelo Vendrame at 2025-06-23T10:10:54+02: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.
- - - - -
0e3aac59 by Pier Angelo Vendrame at 2025-06-23T10:10:55+02:00
Base Browser strings
This commit adds all the strings needed by following Base Browser
patches.
- - - - -
4281ef6d by Henry Wilkes at 2025-06-23T10:10:57+02:00
BB 42583: Modify moz-support-link for Base Browser.
- - - - -
86d70b9d by Pier Angelo Vendrame at 2025-06-23T10:10:58+02: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.
- - - - -
775dc12e by p13dz at 2025-06-23T10:11:00+02:00
BB 40283: Workaround for the file upload bug
- - - - -
c02833df by hackademix at 2025-06-23T10:11:01+02:00
BB 42019: Empty browser's clipboard on browser shutdown
- - - - -
7c6c447b by hackademix at 2025-06-23T10:11:03+02:00
BB 42084: Ensure English spoofing works even if preferences are set out of order.
- - - - -
b477387a by Pier Angelo Vendrame at 2025-06-23T10:11:04+02:00
BB 41930: Remove the UI to customize accept_languages.
- - - - -
da4be2f2 by hackademix at 2025-06-23T10:11:06+02:00
BB 41434: Letterboxing, improve logging.
- - - - -
3f524096 by hackademix at 2025-06-23T10:11:07+02:00
BB 41434: Letterboxing, preemptively apply margins in a global CSS rule to mitigate race conditions on newly created windows and tabs.
- - - - -
e7edc9ba by hackademix at 2025-06-23T10:11:09+02:00
BB 31064: Letterboxing, exempt browser extensions.
- - - - -
1b6b51e7 by hackademix at 2025-06-23T10:11:10+02:00
BB 32411: Letterboxing, exempt view-source: URIs.
- - - - -
f99929dd by hackademix at 2025-06-23T10:11:12+02:00
BB 42574: Letterboxing, exempt pdf.js.
- - - - -
7ce4b14a by hackademix at 2025-06-23T10:11:13+02:00
BB 32308: Use direct browser sizing for letterboxing.
Bug 30556: align letterboxing with 200x100 new win width stepping
- - - - -
0e1caa8a by hackademix at 2025-06-23T10:11:15+02:00
BB 41631: Prevent weird initial window dimensions caused by subpixel computations
- - - - -
d32a51dd by hackademix at 2025-06-23T10:11:16+02:00
BB 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
1a762a0e by hackademix at 2025-06-23T10:11:18+02:00
BB 41916: Letterboxing preferences UI
- - - - -
c37eddf1 by hackademix at 2025-06-23T10:11:19+02:00
BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
- - - - -
c4f1bfca by hackademix at 2025-06-23T10:11:21+02:00
BB 41695: Warn on window maximization without letterboxing in RFPHelper module
- - - - -
8667ceee by hackademix at 2025-06-23T10:11:22+02:00
BB 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
c10b0f31 by Henry Wilkes at 2025-06-23T10:11:24+02:00
BB 42528: Don't leak system scrollbar size on windows.
- - - - -
0ef60fc5 by Henry Wilkes at 2025-06-23T10:11:25+02:00
BB 31575: Disable Firefox Home (Activity Stream)
Treat about:blank as the default home page and new tab page.
Avoid loading AboutNewTab in BrowserGlue.sys.mjs in order
to avoid several network requests that we do not need.
Bug 41624: Disable about:pocket-* pages.
Bug 40144: Redirect about:privatebrowsing to the user's home
- - - - -
85802e8a by Kathy Brade at 2025-06-23T10:11:27+02: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.
- - - - -
2c15830a by Pier Angelo Vendrame at 2025-06-23T10:11:28+02:00
BB 42061: Create an alpha update channel.
- - - - -
99e51cb8 by Nicolas Vigier at 2025-06-23T10:11:30+02:00
BB 41682: Add base-browser nightly mar signing key
- - - - -
f63b55d1 by Pier Angelo Vendrame at 2025-06-23T10:11:31+02: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/.
- - - - -
0a505581 by Pier Angelo Vendrame at 2025-06-23T10:11:33+02:00
BB 41698: Reword the recommendation badges in about:addons
Firefox strings use { -brand-product-name }.
As a result, it seems that the fork is recommending extensions, whereas
AMO curators are doing that.
So, we replace the strings with custom ones that clarify that Mozilla is
recommending them.
We assign the strings with JS because our translation backend does not
support Fluent attributes, yet, but once it does, we should switch to
them, instead.
Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1825033
- - - - -
cf1af28c by Pier Angelo Vendrame at 2025-06-23T10:11:34+02: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.
- - - - -
1a5c524f by Alex Catarineu at 2025-06-23T10:11:36+02:00
BB 40069: Add helpers for message passing with extensions
- - - - -
3d683de7 by Matthew Finkel at 2025-06-23T10:11:38+02:00
BB 41598: Prevent NoScript from being removed/disabled.
Bug 40253: Explicitly allow NoScript in Private Browsing mode.
- - - - -
96ae954c by Henry Wilkes at 2025-06-23T10:11:39+02: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).
- - - - -
96ec440a by hackademix at 2025-06-23T10:11:41+02:00
BB 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons
- - - - -
d90e37dc by Pier Angelo Vendrame at 2025-06-23T10:11:42+02: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
- - - - -
9bb322ea by Pier Angelo Vendrame at 2025-06-23T10:11:44+02:00
BB 40926: Implemented the New Identity feature
- - - - -
228f9012 by Henry Wilkes at 2025-06-23T10:11:45+02:00
BB 41736: Customize toolbar for base-browser.
- - - - -
ba255190 by Pier Angelo Vendrame at 2025-06-23T10:11:47+02:00
BB 42027: Base Browser migration procedures.
This commit implmenents the the Base Browser's version of _migrateUI.
- - - - -
1ba0f1c2 by Henry Wilkes at 2025-06-23T10:11:48+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
7b7e1281 by Henry Wilkes at 2025-06-23T10:11:50+02:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
5ba7aba9 by Henry Wilkes at 2025-06-23T10:11:51+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
6045e91d by Henry Wilkes at 2025-06-23T10:11:53+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
08626a87 by Henry Wilkes at 2025-06-23T10:11:55+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
528 changed files:
- .eslintignore
- + .gitlab-ci.yml
- + .gitlab/ci/docker/base/Dockerfile
- + .gitlab/ci/jobs/lint/helpers.py
- + .gitlab/ci/jobs/lint/lint.yml
- + .gitlab/ci/jobs/update-translations.yml
- + .gitlab/ci/mixins.yml
- + .gitlab/issue_templates/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/050 Backport.md
- + .gitlab/issue_templates/060 Rebase - Alpha.md
- + .gitlab/issue_templates/061 Rebase - Stable.md
- + .gitlab/issue_templates/063 Rebase - Rapid.md
- + .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/Default.md
- + .gitlab/merge_request_templates/Default.md
- .prettierignore
- − browser/actors/RFPHelperChild.sys.mjs
- − browser/actors/RFPHelperParent.sys.mjs
- browser/actors/moz.build
- browser/app/Makefile.in
- browser/app/macbuild/Contents/MacOS-files.in
- browser/app/moz.build
- browser/app/permissions
- + browser/app/profile/001-base-profile.js
- browser/app/profile/firefox.js
- browser/base/content/aboutDialog-appUpdater.js
- browser/base/content/aboutDialog.js
- browser/base/content/aboutDialog.xhtml
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-addons.js
- browser/base/content/browser-context.inc
- browser/base/content/browser-init.js
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-safebrowsing.js
- browser/base/content/browser-sets.inc
- browser/base/content/browser.css
- browser/base/content/browser.js
- browser/base/content/browser.js.globals
- browser/base/content/browser.xhtml
- + browser/base/content/languageNotification.js
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/base/content/test/general/browser_private_browsing_window.js
- browser/base/jar.mn
- browser/base/moz.build
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/aboutlogins/AboutLoginsParent.sys.mjs
- browser/components/aboutlogins/content/aboutLogins.css
- browser/components/aboutlogins/content/aboutLogins.mjs
- browser/components/aboutlogins/content/components/fxaccounts-button.css
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/customizableui/content/panelUI.inc.xhtml
- browser/components/downloads/DownloadSpamProtection.sys.mjs
- browser/components/extensions/parent/ext-browserAction.js
- browser/components/migration/ChromeMigrationUtils.sys.mjs
- browser/components/migration/content/migration-wizard.mjs
- browser/components/moz.build
- + browser/components/newidentity/content/newIdentityDialog.css
- + browser/components/newidentity/content/newIdentityDialog.js
- + browser/components/newidentity/content/newIdentityDialog.xhtml
- + browser/components/newidentity/content/newidentity.js
- + browser/components/newidentity/jar.mn
- + browser/components/newidentity/moz.build
- browser/components/newtab/AboutNewTabService.sys.mjs
- browser/components/places/PlacesUIUtils.sys.mjs
- browser/components/places/content/controller.js
- browser/components/places/content/placesContextMenu.inc.xhtml
- browser/components/places/tests/browser/browser_bookmark_context_menu_contents.js
- browser/components/places/tests/browser/head.js
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/home.js
- browser/components/preferences/jar.mn
- + browser/components/preferences/letterboxing-middle-dark.svg
- + browser/components/preferences/letterboxing-middle-light.svg
- + browser/components/preferences/letterboxing-top-dark.svg
- + browser/components/preferences/letterboxing-top-light.svg
- + browser/components/preferences/letterboxing.css
- + browser/components/preferences/letterboxing.inc.xhtml
- + browser/components/preferences/letterboxing.js
- browser/components/preferences/main.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
- browser/components/protections/content/protections.html
- browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js
- browser/components/resistfingerprinting/test/browser/browser_navigator.js
- browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js
- browser/components/resistfingerprinting/test/browser/browser_roundedWindow_open_max_inner.js
- browser/components/resistfingerprinting/test/browser/head.js
- browser/components/search/SearchSERPTelemetry.sys.mjs
- + browser/components/securitylevel/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/shopping/jar.mn
- browser/components/shopping/moz.build
- browser/components/tabbrowser/content/tabbrowser.js
- browser/components/urlbar/UrlbarProvidersManager.sys.mjs
- browser/components/urlbar/UrlbarUtils.sys.mjs
- browser/components/urlbar/moz.build
- + browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/base-browser-android
- browser/confvars.sh
- browser/extensions/moz.build
- + browser/fonts/fonts.conf
- browser/fonts/moz.build
- browser/installer/Makefile.in
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/shared.nsh
- browser/locales/Makefile.in
- − browser/locales/en-US/chrome/overrides/appstrings.properties
- browser/locales/jar.mn
- browser/modules/BrowserWindowTracker.sys.mjs
- browser/modules/HomePage.sys.mjs
- browser/modules/LaterRun.sys.mjs
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- browser/modules/moz.build
- browser/moz.build
- browser/moz.configure
- browser/themes/shared/addons/unified-extensions.css
- + browser/themes/shared/icons/new_identity.svg
- browser/themes/shared/identity-block/identity-block.css
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/preferences/preferences.css
- browser/themes/shared/tabbrowser/content-area.css
- browser/themes/shared/tabbrowser/tabs.css
- browser/themes/shared/toolbarbutton-icons.css
- build/application.ini.in
- build/moz.build
- build/moz.configure/init.configure
- build/moz.configure/rust.configure
- build/moz.configure/update-programs.configure
- build/variables.py
- caps/nsScriptSecurityManager.cpp
- devtools/client/aboutdebugging/src/actions/runtimes.js
- docshell/base/BrowsingContext.cpp
- docshell/base/BrowsingContext.h
- docshell/base/URIFixup.sys.mjs
- docshell/base/nsAboutRedirector.cpp
- docshell/build/components.conf
- dom/base/Navigator.cpp
- dom/base/ScreenOrientation.cpp
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsCopySupport.cpp
- dom/base/nsGlobalWindowInner.cpp
- dom/base/nsNodeInfoManager.cpp
- dom/base/test/chrome/bug418986-1.js
- dom/canvas/CanvasRenderingContext2D.cpp
- dom/canvas/ClientWebGLContext.cpp
- dom/ipc/WindowGlobalParent.cpp
- dom/locales/moz.build
- dom/media/eme/MediaKeySystemAccess.cpp
- dom/media/mediacapabilities/MediaCapabilities.cpp
- dom/media/mediasource/MediaSource.cpp
- dom/media/mediasource/MediaSource.h
- dom/media/mediasource/SourceBuffer.cpp
- dom/media/platforms/wrappers/MediaChangeMonitor.cpp
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/webrtc/libwebrtcglue/VideoConduit.cpp
- dom/media/webrtc/sdp/RsdparsaSdpAttributeList.cpp
- dom/media/webrtc/transport/nrinterfaceprioritizer.cpp
- dom/media/webrtc/transport/sigslot.h
- dom/media/webrtc/transport/test/ice_unittest.cpp
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.c
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.h
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-win32.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
- dom/media/webrtc/transport/third_party/nrappkit/src/log/r_log.c
- dom/media/webrtc/transport/third_party/nrappkit/src/registry/registry.c
- dom/security/test/https-only/browser.toml
- + dom/security/test/https-only/browser_iframe_buttons.js
- + dom/security/test/https-only/file_iframe_buttons.html
- dom/svg/DOMSVGLength.cpp
- dom/svg/DOMSVGLength.h
- dom/svg/DOMSVGPoint.cpp
- dom/svg/DOMSVGPoint.h
- dom/svg/DOMSVGPointList.cpp
- dom/svg/DOMSVGPointList.h
- dom/svg/DOMSVGStringList.cpp
- dom/svg/DOMSVGStringList.h
- dom/xslt/xslt/txMozillaXSLTProcessor.cpp
- dom/xslt/xslt/txXSLTMsgsURL.h
- extensions/auth/nsHttpNegotiateAuth.cpp
- gfx/layers/apz/src/APZInputBridge.cpp
- gfx/layers/apz/src/APZPublicUtils.cpp
- gfx/layers/apz/src/GenericScrollAnimation.cpp
- gfx/layers/apz/src/WheelScrollAnimation.cpp
- gfx/thebes/StandardFonts-linux.inc → gfx/thebes/StandardFonts-linux-upstream.inc
- + gfx/thebes/StandardFonts-macos-bb.inc
- gfx/thebes/StandardFonts-macos.inc → gfx/thebes/StandardFonts-macos-upstream.inc
- + gfx/thebes/StandardFonts-win10-bb.inc
- gfx/thebes/StandardFonts-win10.inc → gfx/thebes/StandardFonts-win10-upstream.inc
- gfx/thebes/gfxDWriteFontList.cpp
- gfx/thebes/gfxDWriteFontList.h
- gfx/thebes/gfxFcPlatformFontList.cpp
- gfx/thebes/gfxGDIFontList.cpp
- gfx/thebes/gfxMacPlatformFontList.mm
- gfx/thebes/gfxPlatformFontList.cpp
- hal/android/AndroidHal.cpp
- image/test/browser/browser.toml
- + image/test/browser/browser_bug1899180.js
- + image/test/browser/helper1899180.html
- intl/locale/LocaleService.cpp
- intl/strres/nsIStringBundle.idl
- intl/strres/nsStringBundle.cpp
- js/src/gc/Zone.cpp
- + js/src/jit-test/tests/debug/bug-1904011.js
- js/src/old-configure.in
- layout/base/nsLayoutUtils.cpp
- layout/xul/nsSliderFrame.cpp
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksUseCases.kt
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/SimpleRedirectDialogFragment.kt
- mobile/android/android-components/components/feature/app-links/src/test/java/mozilla/components/feature/app/links/AppLinksUseCasesTest.kt
- mobile/android/android-components/components/feature/app-links/src/test/java/mozilla/components/feature/app/links/SimpleRedirectDialogFragmentTest.kt
- mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt
- + mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/FullScreenNotification.kt
- − mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/FullScreenNotificationDialog.kt
- + mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/GestureNavUtils.kt
- + mobile/android/android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/dialog/FullScreenNotificationTest.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/ext/SearchEngine.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/internal/SearchUrlBuilder.kt
- mobile/android/android-components/components/feature/session/src/main/java/mozilla/components/feature/session/SessionUseCases.kt
- mobile/android/android-components/components/feature/session/src/test/java/mozilla/components/feature/session/SessionUseCasesTest.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt
- mobile/android/android-components/components/support/ktx/src/test/java/mozilla/components/support/ktx/kotlin/StringTest.kt
- mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DownloadUtils.kt
- mobile/android/android-components/docs/changelog.md
- + mobile/android/basebrowser.configure
- mobile/android/confvars.sh
- mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CrashReportingTest.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/UseCases.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt
- − mobile/android/fenix/app/src/main/res/layout/full_screen_notification_dialog.xml
- mobile/android/fenix/app/src/main/res/values-be/strings.xml
- mobile/android/fenix/app/src/main/res/values-bg/strings.xml
- mobile/android/fenix/app/src/main/res/values-bs/strings.xml
- mobile/android/fenix/app/src/main/res/values-ca/strings.xml
- mobile/android/fenix/app/src/main/res/values-co/strings.xml
- mobile/android/fenix/app/src/main/res/values-cs/strings.xml
- mobile/android/fenix/app/src/main/res/values-cy/strings.xml
- mobile/android/fenix/app/src/main/res/values-da/strings.xml
- mobile/android/fenix/app/src/main/res/values-de/strings.xml
- mobile/android/fenix/app/src/main/res/values-dsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-el/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rAR/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rCL/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rMX/strings.xml
- mobile/android/fenix/app/src/main/res/values-eu/strings.xml
- mobile/android/fenix/app/src/main/res/values-fi/strings.xml
- mobile/android/fenix/app/src/main/res/values-fr/strings.xml
- mobile/android/fenix/app/src/main/res/values-fur/strings.xml
- mobile/android/fenix/app/src/main/res/values-fy-rNL/strings.xml
- mobile/android/fenix/app/src/main/res/values-gl/strings.xml
- mobile/android/fenix/app/src/main/res/values-hsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-hy-rAM/strings.xml
- mobile/android/fenix/app/src/main/res/values-ia/strings.xml
- mobile/android/fenix/app/src/main/res/values-is/strings.xml
- mobile/android/fenix/app/src/main/res/values-it/strings.xml
- mobile/android/fenix/app/src/main/res/values-iw/strings.xml
- mobile/android/fenix/app/src/main/res/values-ja/strings.xml
- mobile/android/fenix/app/src/main/res/values-kab/strings.xml
- mobile/android/fenix/app/src/main/res/values-kk/strings.xml
- mobile/android/fenix/app/src/main/res/values-ko/strings.xml
- mobile/android/fenix/app/src/main/res/values-nb-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-nl/strings.xml
- mobile/android/fenix/app/src/main/res/values-nn-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-oc/strings.xml
- mobile/android/fenix/app/src/main/res/values-pa-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-pl/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rBR/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rPT/strings.xml
- mobile/android/fenix/app/src/main/res/values-rm/strings.xml
- mobile/android/fenix/app/src/main/res/values-ru/strings.xml
- mobile/android/fenix/app/src/main/res/values-sat/strings.xml
- mobile/android/fenix/app/src/main/res/values-si/strings.xml
- mobile/android/fenix/app/src/main/res/values-sk/strings.xml
- mobile/android/fenix/app/src/main/res/values-sl/strings.xml
- mobile/android/fenix/app/src/main/res/values-sq/strings.xml
- mobile/android/fenix/app/src/main/res/values-sv-rSE/strings.xml
- mobile/android/fenix/app/src/main/res/values-tg/strings.xml
- mobile/android/fenix/app/src/main/res/values-th/strings.xml
- mobile/android/fenix/app/src/main/res/values-tr/strings.xml
- mobile/android/fenix/app/src/main/res/values-ug/strings.xml
- mobile/android/fenix/app/src/main/res/values-vi/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rTW/strings.xml
- mobile/android/fenix/app/src/main/res/values/strings.xml
- mobile/android/focus-android/app/src/main/java/org/mozilla/focus/browser/integration/FullScreenIntegration.kt
- mobile/android/focus-android/app/src/main/java/org/mozilla/focus/fragment/BrowserFragment.kt
- − mobile/android/focus-android/app/src/main/res/layout/dialog_full_screen_notification.xml
- mobile/android/focus-android/app/src/main/res/values/strings.xml
- mobile/android/focus-android/app/src/test/java/org/mozilla/focus/browser/integration/FullScreenIntegrationTest.kt
- mobile/android/geckoview/api.txt
- − mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/VideoCaptureTest.kt
- mobile/android/geckoview/src/main/AndroidManifest.xml
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/Clipboard.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/GeckoLoader.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/IntentUtils.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoInputConnection.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
- mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/IntentUtilsTest.java
- mobile/android/gradle/with_gecko_binaries.gradle
- mobile/android/installer/package-manifest.in
- mobile/android/moz.configure
- mobile/shared/chrome/geckoview/geckoview.js
- mobile/shared/components/geckoview/GeckoViewStartup.sys.mjs
- modules/libpref/init/StaticPrefList.yaml
- modules/libpref/init/all.js
- moz.configure
- + mozconfig-android-aarch64
- + mozconfig-android-all
- + mozconfig-android-armv7
- + mozconfig-android-x86
- + mozconfig-android-x86_64
- + mozconfig-linux-aarch64
- + mozconfig-linux-aarch64-dev
- + mozconfig-linux-arm
- + mozconfig-linux-i686
- + mozconfig-linux-x86_64
- + mozconfig-linux-x86_64-asan
- + mozconfig-linux-x86_64-dev
- + mozconfig-macos
- + mozconfig-macos-dev
- + mozconfig-windows-i686
- + mozconfig-windows-x86_64
- netwerk/base/nsIOService.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/protocol/http/HttpConnectionUDP.cpp
- netwerk/protocol/http/nsHttpHandler.cpp
- netwerk/protocol/http/nsHttpNTLMAuth.cpp
- netwerk/sctp/src/moz.build
- netwerk/sctp/src/netinet/sctp_cc_functions.c
- netwerk/sctp/src/netinet/sctp_indata.c
- netwerk/sctp/src/netinet/sctp_input.c
- netwerk/sctp/src/netinet/sctp_output.c
- netwerk/sctp/src/netinet/sctp_usrreq.c
- netwerk/sctp/src/netinet/sctputil.c
- netwerk/sctp/src/user_mbuf.c
- netwerk/sctp/src/user_socket.c
- netwerk/system/android/nsAndroidNetworkLinkService.cpp
- netwerk/system/linux/nsNetworkLinkService.cpp
- netwerk/system/mac/nsNetworkLinkService.mm
- netwerk/system/netlink/NetlinkService.cpp
- netwerk/system/win32/nsNotifyAddrListener.cpp
- netwerk/test/unit/trr_common.js
- netwerk/url-classifier/UrlClassifierFeatureBase.cpp
- netwerk/url-classifier/components.conf
- old-configure.in
- python/mach/mach/telemetry.py
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/mach_commands.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
- security/sandbox/common/SandboxUtils.sys.mjs
- services/settings/Attachments.sys.mjs
- services/settings/IDBHelpers.sys.mjs
- services/settings/RemoteSettingsClient.sys.mjs
- services/settings/dumps/gen_last_modified.py
- services/settings/dumps/main/moz.build
- services/settings/remote-settings.sys.mjs
- services/settings/servicesSettings.manifest
- services/settings/static-dumps/main/moz.build
- + services/settings/static-dumps/main/query-stripping.json
- services/sync/components.conf
- servo/components/style/properties/cascade.rs
- servo/components/style/properties/properties.mako.rs
- servo/components/style/values/computed/box.rs
- servo/components/style/values/specified/length.rs
- servo/ports/geckolib/glue.rs
- testing/marionette/harness/marionette_harness/runner/base.py
- testing/specialpowers/api.js
- + testing/web-platform/tests/css/css-viewport/zoom/canvas-ref.html
- + testing/web-platform/tests/css/css-viewport/zoom/canvas.html
- + testing/web-platform/tests/css/css-viewport/zoom/textarea-very-small-zoom-crash.html
- third_party/libwebrtc/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h
- third_party/libwebrtc/modules/desktop_capture/desktop_capture_types.h
- third_party/libwebrtc/modules/desktop_capture/win/desktop_capture_utils.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.h
- third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h
- third_party/libwebrtc/rtc_base/platform_thread_types.cc
- third_party/libwebrtc/rtc_base/socket.h
- third_party/libwebrtc/rtc_base/system/file_wrapper.cc
- third_party/libwebrtc/rtc_base/win/create_direct3d_device.h
- third_party/sipcc/cpr_win_types.h
- third_party/sipcc/sdp_token.c
- toolkit/.eslintrc.js
- + toolkit/actors/FilesFilterChild.sys.mjs
- + toolkit/actors/FilesFilterParent.sys.mjs
- toolkit/actors/NetErrorChild.sys.mjs
- toolkit/actors/moz.build
- toolkit/components/aboutmemory/content/aboutMemory.js
- toolkit/components/antitracking/StoragePrincipalHelper.cpp
- toolkit/components/antitracking/antitracking.manifest
- toolkit/components/antitracking/components.conf
- toolkit/components/downloads/DownloadCore.sys.mjs
- toolkit/components/downloads/DownloadIntegration.sys.mjs
- toolkit/components/extensions/Extension.sys.mjs
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/httpsonlyerror/content/errorpage.html
- toolkit/components/httpsonlyerror/content/errorpage.js
- toolkit/components/moz.build
- toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
- toolkit/components/resistfingerprinting/nsRFPService.cpp
- toolkit/components/resistfingerprinting/nsRFPService.h
- toolkit/components/search/SearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/securitylevel/SecurityLevel.manifest
- + toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/components/securitylevel/components.conf
- + toolkit/components/securitylevel/moz.build
- toolkit/components/shopping/jar.mn
- toolkit/components/telemetry/app/TelemetrySend.sys.mjs
- toolkit/components/telemetry/moz.build
- toolkit/components/urlformatter/URLFormatter.sys.mjs
- toolkit/components/windowwatcher/nsWindowWatcher.cpp
- toolkit/content/aboutSupport.js
- toolkit/content/jar.mn
- toolkit/content/widgets/moz-message-bar/moz-message-bar.mjs
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- toolkit/content/widgets/notificationbox.js
- + toolkit/locales-preview/base-browser-no-translate.ftl
- toolkit/locales/en-US/toolkit/about/aboutHttpsOnlyError.ftl
- + toolkit/locales/en-US/toolkit/global/base-browser.ftl
- toolkit/locales/jar.mn
- toolkit/modules/ActorManagerParent.sys.mjs
- toolkit/modules/AppConstants.sys.mjs
- toolkit/modules/FinderParent.sys.mjs
- toolkit/modules/LogManager.sys.mjs
- toolkit/modules/RemotePageAccessManager.sys.mjs
- toolkit/modules/UpdateUtils.sys.mjs
- toolkit/modules/moz.build
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/extensions/test/browser/head.js
- toolkit/mozapps/extensions/test/xpcshell/head_addons.js
- toolkit/mozapps/update/UpdateService.sys.mjs
- toolkit/mozapps/update/UpdateServiceStub.sys.mjs
- toolkit/mozapps/update/common/updatehelper.cpp
- toolkit/mozapps/update/tests/data/sharedUpdateXML.js
- + toolkit/mozapps/update/tests/unit_aus_update/mixedUnsupported.js
- toolkit/mozapps/update/tests/unit_aus_update/xpcshell.toml
- toolkit/mozapps/update/updater/launchchild_osx.mm
- toolkit/mozapps/update/updater/moz.build
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/updater.cpp
- toolkit/themes/shared/findbar.css
- toolkit/xre/LauncherRegistryInfo.cpp
- toolkit/xre/MacLaunchHelper.h
- toolkit/xre/MacLaunchHelper.mm
- toolkit/xre/MacRunFromDmgUtils.mm
- toolkit/xre/ProfileReset.cpp
- toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp
- toolkit/xre/nsAppRunner.cpp
- toolkit/xre/nsIXREDirProvider.idl
- toolkit/xre/nsUpdateDriver.cpp
- toolkit/xre/nsXREDirProvider.cpp
- toolkit/xre/nsXREDirProvider.h
- + tools/base-browser/l10n/combine-translation-versions.py
- + tools/base-browser/l10n/combine/__init__.py
- + tools/base-browser/l10n/combine/combine.py
- + tools/base-browser/l10n/combine/tests/README
- + tools/base-browser/l10n/combine/tests/__init__.py
- + tools/base-browser/l10n/combine/tests/test_android.py
- + tools/base-browser/l10n/combine/tests/test_dtd.py
- + tools/base-browser/l10n/combine/tests/test_fluent.py
- + tools/base-browser/l10n/combine/tests/test_properties.py
- tools/lint/fluent-lint/exclusions.yml
- + tools/torbrowser/generate-bugzilla-triage-csv.sh
- uriloader/base/nsDocLoader.cpp
- uriloader/base/nsURILoader.cpp
- uriloader/exthandler/nsExternalHelperAppService.cpp
- widget/ScrollbarDrawingWin.cpp
- widget/ScrollbarDrawingWin11.cpp
- widget/android/WebExecutorSupport.cpp
- widget/android/nsClipboard.cpp
- widget/cocoa/nsChildView.mm
- widget/gtk/MPRISServiceHandler.cpp
- widget/gtk/nsWindow.cpp
- widget/windows/WinTaskbar.cpp
- widget/windows/nsDataObj.cpp
- widget/windows/nsFilePicker.cpp
- xpcom/io/nsAppFileLocationProvider.cpp
- xpfe/appshell/AppWindow.cpp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/893837…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/893837…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-128.12.0esr-14.5-1-build1
by Pier Angelo Vendrame (@pierov) 23 Jun '25
by Pier Angelo Vendrame (@pierov) 23 Jun '25
23 Jun '25
Pier Angelo Vendrame pushed new tag tor-browser-128.12.0esr-14.5-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.12.0esr-14.5-1] 260 commits: Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load...
by ma1 (@ma1) 23 Jun '25
by ma1 (@ma1) 23 Jun '25
23 Jun '25
ma1 pushed to branch tor-browser-128.12.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
739a3700 by Timothy Nikkel at 2025-06-17T16:25:42+02:00
Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load context, use the private browsing field from it's origin attributes. r=necko-reviewers,anti-tracking-reviewers,valentin
If the channel is not a nsIPrivateBrowsingChannel, and it also has no load context (eg inside svg images) then we will over write a non-zero mPrivateBrowsingId on the OriginAttributes of the channel with 0, making NS_UsePrivateBrowsing return false for the channel.
Differential Revision: https://phabricator.services.mozilla.com/D212083
- - - - -
5d24e03a by Jon Coppeard at 2025-06-17T16:25:44+02:00
Bug 1904011 - Ignore finalized scripts when iterating code covarage tables r=iain
Differential Revision: https://phabricator.services.mozilla.com/D214799
- - - - -
5a871a00 by Arturo Mejia at 2025-06-17T16:25:45+02:00
Bug 1908344 - Improve prompts showing a=dmeehan - BP, tor-browser#43005
Original Revision: https://phabricator.services.mozilla.com/D216996
Differential Revision: https://phabricator.services.mozilla.com/D217718
- - - - -
4411d81b by Sam Foster at 2025-06-17T16:25:47+02:00
Bug 1909099 - Always clean up old session restore and sync log files. r=markh,sessionstore-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D217520
- - - - -
43bfcfb3 by pollymce at 2025-06-17T16:25:48+02:00
Bug 1902996 - Improve messaging for fullscreen notifications. r=android-reviewers,gl
Instead of explaining to users that they are in fullscreen mode, which may be obvious, we explain how to get out of it :)
Also use a Toast rather than a custom Dialog.
Update Focus too.
Fix lint errors.
Differential Revision: https://phabricator.services.mozilla.com/D215782
- - - - -
777c39ca by Roger Yang at 2025-06-17T16:25:50+02:00
Bug 1862537 - Do not try to go back when it's a initial load r=android-reviewers,harrisono, a=pascalc
Differential Revision: https://phabricator.services.mozilla.com/D219782
- - - - -
ee8201ba by Henry Wilkes at 2025-06-17T16:25:51+02:00
Bug 1436462 - Use "Open in new private window" for bookmarks when in PBM. r=places-reviewers,mak
This makes the bookmark menu consistent with the "File" and context
menu when using private browsing mode.
We also share the same hide item logic for these "open" items in one
place in PlacesUIUtils so that they can be shared between the two
consumers (regular bookmarks and managed bookmarks). This ensures that
the "Open in container" item if hidden for managed bookmarks in a
private window.
Differential Revision: https://phabricator.services.mozilla.com/D220120
- - - - -
2a971eb4 by Fatih at 2025-06-17T16:25:53+02:00
Bug 1834307: Change StaticPrefs::general_smoothScroll() calls with nsLayoutUtils::IsSmoothScrollingEnabled. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221363
- - - - -
bd92f471 by Fatih at 2025-06-17T16:25:54+02:00
Bug 1834307: Check RFPTarget::CSSPrefersReducedMotion in nsLayoutUtils::IsSmoothScrollingEnabled. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221364
- - - - -
6f97a1c0 by Henry Wilkes at 2025-06-17T16:25:55+02:00
Bug 1919363 - Only show one app menu "new window" item in permanent private browsing. r=mconley
We also update the browser_private_browsing_window.js test.
The previous test was limited because it was referring to non-existent
"appmenu_newNavigator" and "appmenu_newPrivateWindow".
Differential Revision: https://phabricator.services.mozilla.com/D222507
- - - - -
3b742155 by rahulsainani at 2025-06-17T16:25:57+02:00
Bug 1906024 - Format download file names better a=diannaS
Original Revision: https://phabricator.services.mozilla.com/D220559
Differential Revision: https://phabricator.services.mozilla.com/D222254
- - - - -
da5b7060 by rahulsainani at 2025-06-17T16:25:58+02:00
Bug 1906024 - Format download file names a=diannaS
Original Revision: https://phabricator.services.mozilla.com/D221771
Differential Revision: https://phabricator.services.mozilla.com/D222259
- - - - -
6fb91271 by Nika Layzell at 2025-06-17T16:26:00+02:00
Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8
Previously these checks were largely diagnostic tools for finding bugs
in other code as it evolves. This unifies the checks a bit more and
makes them stronger for BrowsingContexts created over IPC, providing a
place for more coherency checks to be added in the future.
Differential Revision: https://phabricator.services.mozilla.com/D218860
- - - - -
fc52dd75 by Pier Angelo Vendrame at 2025-06-17T16:26:01+02:00
Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr
The spoofed value of the HTTP user-agent header is not consistent with
the value of navigator.userAgent on Windows, and this can lead to
compatibility issues.
Differential Revision: https://phabricator.services.mozilla.com/D223745
- - - - -
cfa0ffb0 by Fatih at 2025-06-17T16:26:03+02:00
Bug 1607032: Spoof screen orientation and angle to primary values. r=tjr,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D220904
- - - - -
efa7b285 by Fatih at 2025-06-17T16:26:04+02:00
Bug 1918202: Spoof orientation based on screen size. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221863
- - - - -
710971ef by Fatih at 2025-06-17T16:26:06+02:00
Bug 1922204: fixup square spoofed orientation. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D224312
- - - - -
0ca37089 by Pier Angelo Vendrame at 2025-06-17T16:26:07+02:00
Bug 1923264 - Discard unsupported updates in selectUpdate. r=bytesized,nalexander
UpdateService.#selectUpdate currently chooses always the most recent
update even when unsupported and an older but supported one is
available.
This commit makes #selectUpdate discard the unsupported update if a
supported alternative is found.
Differential Revision: https://phabricator.services.mozilla.com/D224905
- - - - -
908fef84 by stransky at 2025-06-17T16:26:08+02:00
Bug 1501744 [Linux] Fill PointerEvents on the Gtk backend r=emilio
Patch author is tpxp <tpxp(a)live.fr>
Differential Revision: https://phabricator.services.mozilla.com/D215201
- - - - -
b61725fe by Fatih at 2025-06-17T16:26:10+02:00
Bug 1436226: Ignore user prefs and hardware support for media capabilities when RFPTarget::MediaCapabilities is enabled. r=tjr,media-playback-reviewers,padenot
This patch mostly targeted Android, as media.mediasource.vp9.enabled is disabled on only Android and HW support takes precedence over pref, hence leaking HW support for VP9. However, we ended up modifying the patch to ignore prefs or HW support, fixing both possible user pref leak and HW support leak.
Differential Revision: https://phabricator.services.mozilla.com/D221338
- - - - -
9f3fab8c by hackademix at 2025-06-17T16:26:11+02:00
Bug 1556002 - Update initial window size and letterboxing stepping. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D226598
- - - - -
497f0f65 by Arturo Mejia at 2025-06-17T16:26:13+02:00
Bug 1836921 - Improve dialogs a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D226961
Differential Revision: https://phabricator.services.mozilla.com/D228842
- - - - -
598c762c by Makoto Kato at 2025-06-17T16:26:14+02:00
Bug 1776646 - Support EXTRA_IS_SENSITIVE for clipboard. r=geckoview-reviewers,owlish
When nsITransferable.isPrivateData is true, such as coping password or
private mode, we should set EXTRA_IS_SENSITIVE to ClipData.
AndroidJunit test runner doesn't often get `ClipDescription.extras`
from clipboard service in test runner. So we cannot write a unit test
using AndroidJUnit test runner.
Differential Revision: https://phabricator.services.mozilla.com/D225326
- - - - -
9f65222a by Malte Juergens at 2025-06-17T16:26:16+02:00
Bug 1909396 - Remove HTTPS-Only exception button in iframes r=freddyb,fluent-reviewers
Rationale for this can be read in Bug 1909396, but the main reason is that the iframe will get blocked regardless by mixed content blocking.
Differential Revision: https://phabricator.services.mozilla.com/D220257
- - - - -
fb48c67d by Cathy Lu at 2025-06-17T16:26:17+02:00
Bug 1914797 - Part 1 + 2 + partial backout (details below)
Bug 1914797 - Part 1 - Revert bug 1868469 r=android-reviewers,jonalmeida, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D226431
Bug 1914797 - Part 2 - Add url change during onPageStart for slow loading sites r=android-reviewers,jonalmeida, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D226432
Backed out 1 changesets (bug 1914797) for causing Bug 1929028
Backed out changeset a79554879d7b (bug 1914797)
- - - - -
a946ddb1 by Emilio Cobos Álvarez at 2025-06-17T16:26:19+02:00
Bug 1909625 - Ignore CSS zoom and text zoom for canvas. r=gfx-reviewers,lsalzman
The spec doesn't mention anything about applying them, and other
browsers don't, so let's just be consistent...
Differential Revision: https://phabricator.services.mozilla.com/D221709
- - - - -
fd7ba2cf by Emilio Cobos Álvarez at 2025-06-17T16:26:20+02:00
Bug 1918454 - Prevent divide by zero when inverting effective zoom. r=firefox-style-system-reviewers,layout-reviewers,boris
See comment.
Differential Revision: https://phabricator.services.mozilla.com/D222090
- - - - -
a842beaa by Pier Angelo Vendrame at 2025-06-17T16:26:22+02:00
Bug 1840385 - Do not spoof the OS in HTTP User Agent. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D234835
- - - - -
ca3095fa by Pier Angelo Vendrame at 2025-06-17T16:26:23+02:00
Bug 1923260 - Exempt Android resources from svg.disabled. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D224895
- - - - -
ddf15b9e by Julian Descottes at 2025-06-17T16:26:25+02:00
Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D221448
- - - - -
08e1f878 by John Lin at 2025-06-17T16:26:26+02:00
Bug 1924070 - modify H.264 extradata to match sample conversion code. r=media-playback-reviewers,alwu
In AVC stream, NAL unit is represented with the length of unit data
(NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength
field can be 1-4 bytes long and the size can be derived from the
'lengthSizeMinusOne' value recorded in extradata.
H264ChangeMonitor.CheckForChange() reformats all input samples so that
NALUnitLength will always be 4 bytes long while the original extradata is
used during decoder creation earlier, so decoder won't be able to correctly
parse converted samples if extradata is not modified accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D239547
- - - - -
f6116a9a by Tara at 2025-06-17T16:26:27+02:00
Bug 1908488 - Improve dialogs. r=android-reviewers,gmalekpour, a=dmeehan [bp]
Differential Revision: https://phabricator.services.mozilla.com/D236606
- - - - -
9e4ffe03 by John Schanck at 2025-06-17T16:26:29+02:00
Bug 1922357 - disallow the fido: URI scheme. a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D237313
Differential Revision: https://phabricator.services.mozilla.com/D238681
- - - - -
aeef6220 by Jeff Boek at 2025-06-17T16:26:30+02:00
Bug 1928334 - Handles animating activities a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D238342
Differential Revision: https://phabricator.services.mozilla.com/D238845
- - - - -
56e82247 by Tom Schuster at 2025-06-17T16:26:32+02:00
Bug 1942022 - Improve the about:protections CSP. r=firefox-desktop-core-reviewers ,mossop
Differential Revision: https://phabricator.services.mozilla.com/D234507
- - - - -
890c6088 by Tom Schuster at 2025-06-17T16:26:33+02:00
Bug 1942025 - Improve the about:privatebrowsing CSP. r=firefox-desktop-core-reviewers ,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D234508
- - - - -
ddc8fb19 by Ray Kraesig at 2025-06-17T16:26:35+02:00
Bug 1950056 - extend use of FOS_NODEREFERENCELINKS r=Gijs,win-reviewers,gstoll
In the modern era of user-customizable Quick Access sidebars on every
file dialog, navigating via `.lnk` files is rather less useful than it
was twenty years ago.
Disable link-following in file-open dialogs by default, to prevent any
of the usual security issues involving symlink smuggling. Allow
overriding this behavior via a pref, for users who don't care.
(File-save dialogs have a more nuanced guard against that sort of thing;
this patch doesn't affect that.)
Differential Revision: https://phabricator.services.mozilla.com/D239833
- - - - -
6c3df969 by Alexandre Lissy at 2025-06-22T08:37:32+02:00
Bug 1947157 - Use In-Product link for dedicated usernamespaces fix page r=jld
Differential Revision: https://phabricator.services.mozilla.com/D237599
- - - - -
9bfa9fed by smayya at 2025-06-22T08:37:33+02:00
Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D219041
- - - - -
a8669ab2 by gela at 2025-06-22T08:37:35+02:00
Bug 1929478 - Update log statement r=skhan
Differential Revision: https://phabricator.services.mozilla.com/D242094
- - - - -
c43fa079 by Titouan Thibaud at 2025-06-22T08:37:36+02:00
Bug 1945705 - Fix malformed download filename extracted from contentDisposition r=android-reviewers,rsainani
Differential Revision: https://phabricator.services.mozilla.com/D241072
- - - - -
615588e0 by Oskar Mansfeld at 2025-06-22T08:37:38+02:00
Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D239514
ESR128 backport: Remove glean references.
- - - - -
3cf80be4 by Daniel Holbert at 2025-06-22T08:37:39+02:00
Bug 1742738 part 1: Tighten up tearoff-table removal for DOMSVGPointList and DOMSVGStringList. r=firefox-svg-reviewers,longsonr
Differential Revision: https://phabricator.services.mozilla.com/D246062
- - - - -
c5b291b0 by Daniel Holbert at 2025-06-22T08:37:41+02:00
Bug 1742738 part 2: Tighten up tearoff-table removal for DOMSVGLength. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246063
- - - - -
b941de30 by Daniel Holbert at 2025-06-22T08:37:42+02:00
Bug 1742738 part 3: Tighten up tearoff-table removal for DOMSVGPoint. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246065
- - - - -
71bc32c0 by Gijs Kruitbosch at 2025-06-22T08:37:44+02:00
Bug 1959298 - use search params in about:memory, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D245049
- - - - -
3ee1a51d by Henry Wilkes at 2025-06-22T08:37:45+02:00
BB 41454: Move focus after calling openPreferences for a sub-category.
Temporary fix until mozilla bug 1799153 gets a patch upstream.
- - - - -
7856d11e by Henry Wilkes at 2025-06-22T08:37:47+02: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.
- - - - -
ea29c3a7 by Henry Wilkes at 2025-06-22T08:37:48+02: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.
- - - - -
2745ba74 by hackademix at 2025-06-22T08:37:50+02:00
BB 42194: Fix blank net error page on failed DNS resolution with active proxy.
- - - - -
35d984d0 by Henry Wilkes at 2025-06-22T08:37:51+02:00
BB 41483: Remove the firefox override for appstrings.properties
Remove this patch after upstream bugzilla bug 1790187
- - - - -
afa82dba by Marco Simonelli at 2025-06-22T08:37:53+02:00
BB 41459: WebRTC fails to build under mingw (Part 1)
- properly define NOMINMAX for just MSVC builds
- - - - -
8e935d40 by Marco Simonelli at 2025-06-22T08:37:54+02:00
BB 41459: WebRTC fails to build under mingw (Part 2)
- fixes required to build third_party/libwebrtc
- - - - -
19a495f3 by Marco Simonelli at 2025-06-22T08:37:56+02:00
BB 41459: WebRTC fails to build under mingw (Part 3)
- fixes required to build third_party/sipcc
- - - - -
d94e3531 by Marco Simonelli at 2025-06-22T08:37:57+02:00
BB 41459: WebRTC fails to build under mingw (Part 4)
- fixes requried to build netwerk/sctp
- - - - -
32e70381 by Marco Simonelli at 2025-06-22T08:37:59+02:00
BB 41459: WebRTC fails to build under mingw (Part 5)
- fixes required to build dom/media/webrtc
- - - - -
85b9cff0 by Marco Simonelli at 2025-06-22T08:38:00+02:00
BB 41459: WebRTC fails to build under mingw (Part 6)
- fixes required to build dom/media/systemservices
- - - - -
8f66e120 by june wilde at 2025-06-22T08:38:02+02:00
BB 42758: Fix WebRTC build errors.
- - - - -
d882285f by Dan Ballard at 2025-06-22T08:38:03+02:00
BB 43544: DoH pane undefined error in Privacy and Security
From: Sarah Jamie Lewis <sarah(a)openprivacy.ca>
Date: Fri, 28 Feb 2025 09:30:45 -0800
Subject: [PATCH 1/1] DoH Settings: Check for nulll gParentalControlsService
When the parental controls service is disabled in a build, the DoH
settings now display the correct stauts when Increased or Max Protection
is enabled.
Previously, selecting either of these options would cause DoH to be
enabled, but the "Status" and "Provider" fields would not be properly
populated, due to a check on the gParentalControlsService causing an
error.
This check is now identical to the same check in DownloadIntegration.sys.mjs
Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: ma1 <giorgio(a)maone.net>
- - - - -
31a938e2 by hackademix at 2025-06-22T08:38:05+02:00
BB 41854: Allow overriding download spam protection.
- - - - -
a6fe60c5 by hackademix at 2025-06-22T08:38:06+02:00
BB 42832: Download spam prevention exemption for browser extensions.
- - - - -
83076774 by Pier Angelo Vendrame at 2025-06-23T10:09:02+02: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).
- - - - -
8ffd4a2e by hackademix at 2025-06-23T10:09:14+02:00
BB 42835: Create an actor to filter file data transfers
- - - - -
6ee60b7c by Beatriz Rizental at 2025-06-23T10:09:17+02:00
BB 42728: Modify ./mach lint to skip unused linters
- - - - -
40611d19 by Morgan at 2025-06-23T10:09:18+02:00
BB 43615: Add Gitlab Issue and Merge Request templates
- - - - -
73881d7b by Richard Pospesel at 2025-06-23T10:09:20+02:00
BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs
- - - - -
7cb16ffd by Henry Wilkes at 2025-06-23T10:09:22+02:00
BB 42305: Add script to combine translation files across versions.
- - - - -
61060a62 by Beatriz Rizental at 2025-06-23T10:09:23+02:00
BB 43535: Enable tests
- - - - -
bb03ac7f by Beatriz Rizental at 2025-06-23T10:09:25+02:00
Add CI for Base Browser
- - - - -
940abf55 by Pier Angelo Vendrame at 2025-06-23T10:09:27+02: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
- - - - -
e0025bf8 by Pier Angelo Vendrame at 2025-06-23T10:09:28+02: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.
- - - - -
037d38f5 by Pier Angelo Vendrame at 2025-06-23T10:09:30+02:00
BB 29320: Replace the gnu target with gnullvm for Rust.
- - - - -
dbd8539a by Pier Angelo Vendrame at 2025-06-23T10:09:32+02: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.
- - - - -
9a9ecb34 by Pier Angelo Vendrame at 2025-06-23T10:09:33+02:00
BB 41108: Remove privileged macOS installation from 102
- - - - -
70a31b6a by Dan Ballard at 2025-06-23T10:09:35+02:00
BB 41149: Re-enable DLL injection protection in all builds not just nightlies
- - - - -
26c7df0d by Henry Wilkes at 2025-06-23T10:09:36+02:00
BB 43092: Disable wayland by default in Base Browser.
- - - - -
0b523d99 by Matthew Finkel at 2025-06-23T10:09:38+02: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.
- - - - -
cd05e4ef by Matthew Finkel at 2025-06-23T10:09:40+02:00
BB 28125: Prevent non-Necko network connections
- - - - -
f2872492 by Mike Perry at 2025-06-23T10:09:41+02: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
- - - - -
0420b12a by cypherpunks1 at 2025-06-23T10:09:43+02:00
BB 40717: Hide Windows SSO in settings
- - - - -
78fff7e6 by Georg Koppen at 2025-06-23T10:09:45+02: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.
- - - - -
f2197776 by Kathy Brade at 2025-06-23T10:09:47+02:00
BB 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
- - - - -
679a4886 by Henry Wilkes at 2025-06-23T10:09:48+02:00
BB 42831: Remove the shopping components.
- - - - -
b2e1ee2e by Kathy Brade at 2025-06-23T10:09:50+02: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.
- - - - -
7999a880 by Alex Catarineu at 2025-06-23T10:09:52+02:00
BB 41457: Remove Mozilla permissions
Bug 40025: Remove Mozilla add-on install permissions
- - - - -
206b4be1 by Kathy Brade at 2025-06-23T10:09:53+02:00
BB 40002: Remove about:ion
Firefox Ion (previously Firefox Pioneer) is an opt-in program in which people
volunteer to participate in studies that collect detailed, sensitive data about
how they use their browser.
Bug 41662: Disable about:sync-logs
Even though we disable sync by default with
`identity.fxaccounts.enabled`, this about: page is still avilable.
We could throw an exception on the constructor of the related
component, but it would result only in an error in the console, without
a visible "this address does not look right" error page.
If we fix the issues with MOZ_SERVICES_SYNC, we can restore the
component.
- - - - -
2de3fa7e by Morgan at 2025-06-23T10:09:55+02:00
BB 42716: Disable unwanted about: pages
- - - - -
fd6e34c2 by Arthur Edelstein at 2025-06-23T10:09:57+02: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.
- - - - -
df546331 by Alex Catarineu at 2025-06-23T10:09:58+02: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.
- - - - -
badbc509 by cypherpunks1 at 2025-06-23T10:10:00+02:00
BB 41092: Add a RemoteSettings JSON dump for query-stripping
- - - - -
d216964e by cypherpunks1 at 2025-06-23T10:10:01+02:00
BB 42730: Patch RemoteSettings to use only local dumps as a data source
- - - - -
65ee5160 by Pier Angelo Vendrame at 2025-06-23T10:10:03+02:00
BB 41635: Disable the Normandy component
Do not include Normandy at all whenever MOZ_NORMANDY is False.
- - - - -
5d93e603 by Georg Koppen at 2025-06-23T10:10:04+02:00
BB 30541: Disable WebGL readPixel() for web content
Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034
- - - - -
32414428 by Alex Catarineu at 2025-06-23T10:10:06+02:00
BB 28369: Stop shipping pingsender executable
- - - - -
3370a2aa by Henry Wilkes at 2025-06-23T10:10:08+02:00
BB 42630: Disable LaterRun module.
- - - - -
746de7cb by Pier Angelo Vendrame at 2025-06-23T10:10:09+02: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
- - - - -
c3440458 by Pier Angelo Vendrame at 2025-06-23T10:10:11+02: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".
- - - - -
196a77b2 by Richard Pospesel at 2025-06-23T10:10:12+02:00
BB 41327: Disable UrlbarProviderInterventions
- - - - -
38a21c67 by Richard Pospesel at 2025-06-23T10:10:14+02:00
BB 42037: Disable about:firefoxview page
- - - - -
78567a5f by Mike Perry at 2025-06-23T10:10:15+02:00
Firefox preference overrides.
- - - - -
fd803b70 by Pier Angelo Vendrame at 2025-06-23T10:10:17+02: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.
- - - - -
15d5a77e by Pier Angelo Vendrame at 2025-06-23T10:10:19+02:00
BB 41901: Hardcode normalized FontSubstitutes.
Windows has a system to set font aliases through the registry.
This allows some customization that could be used as a fingerprinting
vector.
Moreover, this mechanism is used by Windows itself, and different SKUs
might have different default FontSubstitutes.
- - - - -
69b9c1e0 by Pier Angelo Vendrame at 2025-06-23T10:10:20+02: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.
- - - - -
25d4bd90 by Alex Catarineu at 2025-06-23T10:10:22+02: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
- - - - -
d01ae485 by Pier Angelo Vendrame at 2025-06-23T10:10:23+02: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.
- - - - -
750eb16c by Alex Catarineu at 2025-06-23T10:10:24+02:00
BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware
- - - - -
368afea0 by Alex Catarineu at 2025-06-23T10:10:26+02:00
BB 26345: Hide tracking protection UI
- - - - -
700a88a7 by Henry Wilkes at 2025-06-23T10:10:27+02:00
BB 43109: Hide Firefox Relay from settings.
This should remain disabled, see tor-browser#42814.
- - - - -
4fa27a9d by Henry Wilkes at 2025-06-23T10:10:29+02: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.
- - - - -
9857802a by Morgan at 2025-06-23T10:10:30+02:00
BB 42070: Hide "Use smooth scrolling" from settings
- - - - -
11a2d866 by Arthur Edelstein at 2025-06-23T10:10:32+02:00
BB 18905: Hide unwanted items from help menu
Bug 25660: Remove the "New Private Window" option
- - - - -
3ed88f03 by Pier Angelo Vendrame at 2025-06-23T10:10:33+02:00
BB 41739: Remove "Website appearance" from about:preferences.
It is ignored because of RFP and it is confusing for users.
- - - - -
70380c7f by Henry Wilkes at 2025-06-23T10:10:35+02:00
BB 43117: Hide "Always underline links" from settings.
- - - - -
27777b78 by Pier Angelo Vendrame at 2025-06-23T10:10:36+02:00
BB 42774: Always hide the third-pary certs UI.
- - - - -
62c2333a by Henry Wilkes at 2025-06-23T10:10:38+02:00
BB 43118: Hide feature recommendation (CFR) settings.
- - - - -
f7f5eea3 by Pier Angelo Vendrame at 2025-06-23T10:10:39+02: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).
- - - - -
fbc65eb4 by Pier Angelo Vendrame at 2025-06-23T10:10:40+02: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.
- - - - -
bf58d806 by Alex Catarineu at 2025-06-23T10:10:42+02:00
BB 27604: Fix addon issues when moving the profile directory
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838
- - - - -
996c030b by Mike Perry at 2025-06-23T10:10:43+02: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
- - - - -
18450e31 by Pier Angelo Vendrame at 2025-06-23T10:10:45+02: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.
- - - - -
edc110bc by Matthew Finkel at 2025-06-23T10:10:46+02:00
BB 40432: Prevent probing installed applications
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084
- - - - -
5fb5e5ef by Henry Wilkes at 2025-06-23T10:10:48+02:00
BB 29745: Limit remote access to content accessible resources
- - - - -
db36bd7d by cypherpunks1 at 2025-06-23T10:10:49+02:00
BB 33955: When copying an image only copy the image contents to the clipboard
- - - - -
b3fc4600 by cypherpunks1 at 2025-06-23T10:10:51+02:00
BB 41791: Omit the source URL when copying page contents to the clipboard
- - - - -
614bea8e by hackademix at 2025-06-23T10:10:52+02:00
BB 42288: Allow language spoofing in status messages.
- - - - -
96def0a8 by Pier Angelo Vendrame at 2025-06-23T10:10:54+02: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.
- - - - -
0e3aac59 by Pier Angelo Vendrame at 2025-06-23T10:10:55+02:00
Base Browser strings
This commit adds all the strings needed by following Base Browser
patches.
- - - - -
4281ef6d by Henry Wilkes at 2025-06-23T10:10:57+02:00
BB 42583: Modify moz-support-link for Base Browser.
- - - - -
86d70b9d by Pier Angelo Vendrame at 2025-06-23T10:10:58+02: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.
- - - - -
775dc12e by p13dz at 2025-06-23T10:11:00+02:00
BB 40283: Workaround for the file upload bug
- - - - -
c02833df by hackademix at 2025-06-23T10:11:01+02:00
BB 42019: Empty browser's clipboard on browser shutdown
- - - - -
7c6c447b by hackademix at 2025-06-23T10:11:03+02:00
BB 42084: Ensure English spoofing works even if preferences are set out of order.
- - - - -
b477387a by Pier Angelo Vendrame at 2025-06-23T10:11:04+02:00
BB 41930: Remove the UI to customize accept_languages.
- - - - -
da4be2f2 by hackademix at 2025-06-23T10:11:06+02:00
BB 41434: Letterboxing, improve logging.
- - - - -
3f524096 by hackademix at 2025-06-23T10:11:07+02:00
BB 41434: Letterboxing, preemptively apply margins in a global CSS rule to mitigate race conditions on newly created windows and tabs.
- - - - -
e7edc9ba by hackademix at 2025-06-23T10:11:09+02:00
BB 31064: Letterboxing, exempt browser extensions.
- - - - -
1b6b51e7 by hackademix at 2025-06-23T10:11:10+02:00
BB 32411: Letterboxing, exempt view-source: URIs.
- - - - -
f99929dd by hackademix at 2025-06-23T10:11:12+02:00
BB 42574: Letterboxing, exempt pdf.js.
- - - - -
7ce4b14a by hackademix at 2025-06-23T10:11:13+02:00
BB 32308: Use direct browser sizing for letterboxing.
Bug 30556: align letterboxing with 200x100 new win width stepping
- - - - -
0e1caa8a by hackademix at 2025-06-23T10:11:15+02:00
BB 41631: Prevent weird initial window dimensions caused by subpixel computations
- - - - -
d32a51dd by hackademix at 2025-06-23T10:11:16+02:00
BB 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
1a762a0e by hackademix at 2025-06-23T10:11:18+02:00
BB 41916: Letterboxing preferences UI
- - - - -
c37eddf1 by hackademix at 2025-06-23T10:11:19+02:00
BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
- - - - -
c4f1bfca by hackademix at 2025-06-23T10:11:21+02:00
BB 41695: Warn on window maximization without letterboxing in RFPHelper module
- - - - -
8667ceee by hackademix at 2025-06-23T10:11:22+02:00
BB 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
c10b0f31 by Henry Wilkes at 2025-06-23T10:11:24+02:00
BB 42528: Don't leak system scrollbar size on windows.
- - - - -
0ef60fc5 by Henry Wilkes at 2025-06-23T10:11:25+02:00
BB 31575: Disable Firefox Home (Activity Stream)
Treat about:blank as the default home page and new tab page.
Avoid loading AboutNewTab in BrowserGlue.sys.mjs in order
to avoid several network requests that we do not need.
Bug 41624: Disable about:pocket-* pages.
Bug 40144: Redirect about:privatebrowsing to the user's home
- - - - -
85802e8a by Kathy Brade at 2025-06-23T10:11:27+02: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.
- - - - -
2c15830a by Pier Angelo Vendrame at 2025-06-23T10:11:28+02:00
BB 42061: Create an alpha update channel.
- - - - -
99e51cb8 by Nicolas Vigier at 2025-06-23T10:11:30+02:00
BB 41682: Add base-browser nightly mar signing key
- - - - -
f63b55d1 by Pier Angelo Vendrame at 2025-06-23T10:11:31+02: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/.
- - - - -
0a505581 by Pier Angelo Vendrame at 2025-06-23T10:11:33+02:00
BB 41698: Reword the recommendation badges in about:addons
Firefox strings use { -brand-product-name }.
As a result, it seems that the fork is recommending extensions, whereas
AMO curators are doing that.
So, we replace the strings with custom ones that clarify that Mozilla is
recommending them.
We assign the strings with JS because our translation backend does not
support Fluent attributes, yet, but once it does, we should switch to
them, instead.
Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1825033
- - - - -
cf1af28c by Pier Angelo Vendrame at 2025-06-23T10:11:34+02: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.
- - - - -
1a5c524f by Alex Catarineu at 2025-06-23T10:11:36+02:00
BB 40069: Add helpers for message passing with extensions
- - - - -
3d683de7 by Matthew Finkel at 2025-06-23T10:11:38+02:00
BB 41598: Prevent NoScript from being removed/disabled.
Bug 40253: Explicitly allow NoScript in Private Browsing mode.
- - - - -
96ae954c by Henry Wilkes at 2025-06-23T10:11:39+02: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).
- - - - -
96ec440a by hackademix at 2025-06-23T10:11:41+02:00
BB 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons
- - - - -
d90e37dc by Pier Angelo Vendrame at 2025-06-23T10:11:42+02: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
- - - - -
9bb322ea by Pier Angelo Vendrame at 2025-06-23T10:11:44+02:00
BB 40926: Implemented the New Identity feature
- - - - -
228f9012 by Henry Wilkes at 2025-06-23T10:11:45+02:00
BB 41736: Customize toolbar for base-browser.
- - - - -
ba255190 by Pier Angelo Vendrame at 2025-06-23T10:11:47+02:00
BB 42027: Base Browser migration procedures.
This commit implmenents the the Base Browser's version of _migrateUI.
- - - - -
1ba0f1c2 by Henry Wilkes at 2025-06-23T10:11:48+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
7b7e1281 by Henry Wilkes at 2025-06-23T10:11:50+02:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
5ba7aba9 by Henry Wilkes at 2025-06-23T10:11:51+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
6045e91d by Henry Wilkes at 2025-06-23T10:11:53+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
08626a87 by Henry Wilkes at 2025-06-23T10:11:55+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
a03efe52 by Henry Wilkes at 2025-06-23T10:11:56+02:00
TB 42308: Create README for tor-browser.
We drop the README.txt that comes from Mozilla Firefox and add README.md
for tor-browser.
- - - - -
66aef7b8 by Beatriz Rizental at 2025-06-23T10:11:58+02:00
Add CI for Tor Browser
- - - - -
81228821 by Richard Pospesel at 2025-06-23T10:11:59+02:00
TB 41089: Add tor-browser build scripts + Makefile to tor-browser
- - - - -
448c24c2 by Henry Wilkes at 2025-06-23T10:12:01+02:00
TB 41803: Add some developer tools for working on tor-browser.
- - - - -
850d593b by Kathy Brade at 2025-06-23T10:12:02+02:00
TB 11641: Disable remoting by default.
Unless the -osint command line flag is used, the browser now defaults
to the equivalent of -no-remote. There is a new -allow-remote flag that
may be used to restore the original (Firefox-like) default behavior.
- - - - -
61a4e8e1 by Alex Catarineu at 2025-06-23T10:12:04+02:00
Add TorStrings module for localization
- - - - -
fab14402 by Henry Wilkes at 2025-06-23T10:12:05+02:00
Tor Browser strings
This commit adds all the strings needed for Tor Browser patches.
- - - - -
9c126d9a by Henry Wilkes at 2025-06-23T10:12:07+02:00
Tor Browser localization migration scripts.
- - - - -
a7dcb5f8 by Mike Perry at 2025-06-23T10:12:08+02:00
TB 2176: Rebrand Firefox to TorBrowser
See also Bugs #5194, #7187, #8115, #8219.
This patch does some basic renaming of Firefox to TorBrowser. The rest of the
branding is done by images and icons.
Also fix bug 27905.
Bug 25702: Update Tor Browser icon to follow design guidelines
- Updated all of the branding in /browser/branding/official with new 'stable'
icon series.
- Updated /extensions/onboarding/content/img/tor-watermark.png with new icon and
add the source svg in the same directory
- Copied /browser/branding/official over /browser/branding/nightly and the new
/browser/branding/alpha directories. Replaced content with 'nightly' and
'alpha' icon series.
Updated VisualElements_70.png and VisualElements_150.png with updated icons in
each branding directory (fixes #22654)
- Updated firefox.VisualElementsManfiest.xml with updated colors in each
branding directory
- Added firefox.svg to each branding directory from which all the other icons
are derived (apart from document.icns and document.ico)
- Added default256.png and default512.png icons
- Updated aboutTBUpdate.css to point to branding-aware icon128.png and removed
original icon
- Use the Tor Browser icon within devtools/client/themes/images/.
Bug 30631: Blurry Tor Browser icon on macOS app switcher
It would seem the png2icns tool does not generate correct icns files and
so on macOS the larger icons were missing resulting in blurry icons in
the OS chrome. Regenerated the padded icons in a macOS VM using
iconutil.
Bug 28196: preparations for using torbutton tor-browser-brand.ftl
A small change to Fluent FileSource class is required so that we
can register a new source without its supported locales being
counted as available locales for the browser.
Bug 31803: Replaced about:debugging logo with flat version
Bug 21724: Make Firefox and Tor Browser distinct macOS apps
When macOS opens a document or selects a default browser, it sometimes
uses the CFBundleSignature. Changing from the Firefox MOZB signature to
a different signature TORB allows macOS to distinguish between Firefox
and Tor Browser.
Bug 32092: Fix Tor Browser Support link in preferences
For bug 40562, we moved onionPattern* from bug 27476 to here, as
about:tor needs these files but it is included earlier.
Bug 41278: Create Tor Browser styled pdf logo similar to the vanilla Firefox one
Bug 42088: New application icons (used in-app and on linux).
Bug 42087: New application icons (windows).
- - - - -
d98ba4ec by Henry Wilkes at 2025-06-23T10:12:10+02:00
Customize moz-toggle for tor-browser.
- - - - -
45a4feae by Henry Wilkes at 2025-06-23T10:12:11+02:00
TB 43087: Add onion-pattern to be used on Tor pages.
- - - - -
6f3e0127 by hackademix at 2025-06-23T10:12:12+02:00
TB 41917: Tor brand-specific styles.
- - - - -
7098012e by Henry Wilkes at 2025-06-23T10:12:14+02:00
TB 41817: tor-browser semantic colors.
- - - - -
4995b8d0 by Henry Wilkes at 2025-06-23T10:12:15+02:00
TB 42110: Add TorUIUtils module for common tor component methods.
- - - - -
26809e74 by Henry Wilkes at 2025-06-23T10:12:17+02:00
Add purple tor version of the loading APNG.
- - - - -
70300930 by Henry Wilkes at 2025-06-23T10:12:19+02:00
TB 42583: Modify moz-support-link for Tor Browser.
- - - - -
21e897c4 by sanketh at 2025-06-23T10:12:20+02:00
TB 40209: Implement Basic Crypto Safety
Adds a CryptoSafety actor which detects when you've copied a crypto
address from a HTTP webpage and shows a warning.
Closes #40209.
Bug 40428: Fix string attribute names
- - - - -
905c47c7 by Mike Perry at 2025-06-23T10:12:22+02:00
TB3: Tor Browser's official .mozconfigs.
Also:
Add an --enable-tor-browser-data-outside-app-dir configure option
Add --with-tor-browser-version configure option
Bug 31457: disable per-installation profiles
The dedicated profiles (per-installation) feature does not interact
well with our bundled profiles on Linux and Windows, and it also causes
multiple profiles to be created on macOS under TorBrowser-Data.
Bug 31935: Disable profile downgrade protection.
Since Tor Browser does not support more than one profile, disable
the prompt and associated code that offers to create one when a
version downgrade situation is detected.
Add --enable-tor-browser-update build option
Bug 40793: moved Tor configuration options from old-configure.in to moz.configure
Bug 41584: Move some configuration options to base-browser level
- - - - -
3cda0e0a by Henry Wilkes at 2025-06-23T10:12:23+02:00
TB 41340: Enable TOR_BROWSER_NIGHTLY_BUILD features for dev and nightly builds
tor-browser#41285: Enable fluent warnings.
- - - - -
99d47cfb by Pier Angelo Vendrame at 2025-06-23T10:12:25+02:00
TB 40562: Added Tor Browser preferences to 000-tor-browser.js
Before reordering patches, we used to keep the Tor-related patches
(torbutton and tor-launcher) at the beginning.
After that issue, we decided to move them towards the end.
In addition to that, we have decided to move Tor Browser-only
preferences there, too, to make Base Browser-only fixups easier to
apply.
- - - - -
37418a23 by Pier Angelo Vendrame at 2025-06-23T10:12:26+02:00
TB 13252: Customize profile management on macOS
On macOS we allow both portable mode and system installation.
However, in the latter case, we customize Firefox's directories to
match the hierarchy we use for the portable mode.
Also, display an informative error message if the TorBrowser-Data
directory cannot be created due to an "access denied" or a
"read only volume" error.
- - - - -
9022fd28 by Pier Angelo Vendrame at 2025-06-23T10:12:28+02:00
TB 40933: Add tor-launcher functionality
Bug 41926: Reimplement the control port
- - - - -
0d927b70 by Cecylia Bocovich at 2025-06-23T10:12:29+02:00
Lox integration
- - - - -
251b3892 by Richard Pospesel at 2025-06-23T10:12:30+02:00
TB 40597: Implement TorSettings module
- migrated in-page settings read/write implementation from about:preferences#tor
to the TorSettings module
- TorSettings initially loads settings from the tor daemon, and saves them to
firefox prefs
- TorSettings notifies observers when a setting has changed; currently only
QuickStart notification is implemented for parity with previous preference
notify logic in about:torconnect and about:preferences#tor
- about:preferences#tor, and about:torconnect now read and write settings
thorugh the TorSettings module
- all tor settings live in the torbrowser.settings.* preference branch
- removed unused pref modify permission for about:torconnect content page from
AsyncPrefs.jsm
Bug 40645: Migrate Moat APIs to Moat.jsm module
- - - - -
699aeda1 by Arthur Edelstein at 2025-06-23T10:12:31+02:00
TB 3455: Add DomainIsolator, for isolating circuit by domain.
Add an XPCOM component that registers a ProtocolProxyChannelFilter
which sets the username/password for each web request according to
url bar domain.
Bug 9442: Add New Circuit button
Bug 13766: Set a 10 minute circuit dirty timeout for the catch-all circ.
Bug 19206: Include a 128 bit random tag as part of the domain isolator nonce.
Bug 19206: Clear out the domain isolator state on `New Identity`.
Bug 21201.2: Isolate by firstPartyDomain from OriginAttributes
Bug 21745: Fix handling of catch-all circuit
Bug 41741: Refactor the domain isolator and new circuit
- - - - -
a81a73f6 by Henry Wilkes at 2025-06-23T10:12:32+02:00
TB 41600: Add a tor circuit display panel.
- - - - -
01e461a6 by Pier Angelo Vendrame at 2025-06-23T10:12:33+02:00
TB 42247: Android helpers for the TorProvider
GeckoView is missing some API we use on desktop for the integration
with the tor daemon, such as subprocess.
Therefore, we need to implement them in Java and plumb the data
back and forth between JS and Java.
- - - - -
c8d5ed91 by hackademix at 2025-06-23T10:12:34+02:00
TB 8324: Prevent DNS proxy bypasses caused by Drag&Drop
Bug 41613: Skip Drang & Drop filtering for DNS-safe URLs
- - - - -
5a5f216b by Matthew Finkel at 2025-06-23T10:12:34+02:00
TB 25741: TBA: Disable GeckoNetworkManager
The browser should not need information related to the network
interface or network state, tor should take care of that.
- - - - -
7ee7539b by Pier Angelo Vendrame at 2025-06-23T10:12:35+02:00
TB 40807: Added QRCode.js to toolkit/modules
- - - - -
197196da by Richard Pospesel at 2025-06-23T10:12:36+02:00
TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
This patch adds a new about:preferences#connection page which allows
modifying bridge, proxy, and firewall settings from within Tor Browser.
All of the functionality present in tor-launcher's Network
Configuration panel is present:
- Setting built-in bridges
- Requesting bridges from BridgeDB via moat
- Using user-provided bridges
- Configuring SOCKS4, SOCKS5, and HTTP/HTTPS proxies
- Setting firewall ports
- Viewing and Copying Tor's logs
- The Networking Settings in General preferences has been removed
Bug 40774: Update about:preferences page to match new UI designs
- - - - -
00fe645d by Richard Pospesel at 2025-06-23T10:12:37+02:00
TB 27476: Implement about:torconnect captive portal within Tor Browser
- implements new about:torconnect page as tor-launcher replacement
- adds new torconnect component to browser
- tor process management functionality remains implemented in tor-launcher through the TorProtocolService module
- adds warning/error box to about:preferences#tor when not connected to tor
Bug 40773: Update the about:torconnect frontend page to match additional UI flows.
Bug 41608: Add a toolbar status button and a urlbar "Connect" button.
- - - - -
5dd1e041 by Pier Angelo Vendrame at 2025-06-23T10:12:37+02:00
Temporary changes to about:torconnect for Android.
We are planning of tempoorarily using about:torconnect on Android, until
the native UX is ready.
- - - - -
47dcd206 by Henry Wilkes at 2025-06-23T10:12:38+02:00
TB 43405: Show a prompt whenever we fail to apply Tor settings.
- - - - -
5a791c5a by Henry Wilkes at 2025-06-23T10:12:39+02:00
TB 7494: Create local home page for TBB.
Bug 41333: Update about:tor to new design. Including:
+ make the favicon match the branding icon.
+ make the location bar show a search icon.
- - - - -
459e1d85 by Pier Angelo Vendrame at 2025-06-23T10:12:40+02:00
TB 41668: Tweaks to the Base Browser updater for Tor Browser
This commit was once part of "Bug 4234: Use the Firefox Update Process
for Tor Browser.".
However, some parts of it were not needed for Base Browser and some
derivative browsers.
Therefore, we extracted from that commit the parts for Tor Browser
legacy, and we add them back to the patch set with this commit.
- - - - -
a16d386b by Kathy Brade at 2025-06-23T10:12:40+02:00
TB 12647: Support symlinks in the updater.
- - - - -
beb41967 by Georg Koppen at 2025-06-23T10:12:41+02:00
TB 32658: Create a new MAR signing key
It's time for our rotation again: Move the backup key in the front
position and add a new backup key.
Bug 33803: Move our primary nightly MAR signing key to tor-browser
Bug 33803: Add a secondary nightly MAR signing key
- - - - -
1a10fd0c by Pier Angelo Vendrame at 2025-06-23T10:12:42+02:00
TB 42891: Set the bundled search engine for Tor Browser.
After upstream changes between Firefox 115 and 128, we had to
completely rework the way in which we define our search engines.
This commit replaces the old "Omnibox: Add DDG, Startpage, Disconnect,
Youtube, Twitter; remove Amazon, eBay, bing".
With that commit, we customized a list of addons IDs to ship as
built-in search engines, but then upsteam moved to using only
RemoteSettings.
The configuration has many more fields, and it would be quite long to
include it in the source code. Therefore, we use some local JSON files
and load the settings from them.
- - - - -
68a2cfc5 by Alex Catarineu at 2025-06-23T10:12:43+02:00
TB 40073: Disable remote Public Suffix List fetching
In https://bugzilla.mozilla.org/show_bug.cgi?id=1563246 Firefox implemented
fetching the Public Suffix List via RemoteSettings and replacing the default
one at runtime, which we do not want.
- - - - -
9a7a2b85 by Henry Wilkes at 2025-06-23T10:12:43+02:00
TB 41906: Hide DNS over HTTPS preferences.
- - - - -
f5b2619c by Richard Pospesel at 2025-06-23T10:12:44+02:00
TB 23247: Communicating security expectations for .onion
Encrypting pages hosted on Onion Services with SSL/TLS is redundant
(in terms of hiding content) as all traffic within the Tor network is
already fully encrypted. Therefore, serving HTTP pages from an Onion
Service is more or less fine.
Prior to this patch, Tor Browser would mostly treat pages delivered
via Onion Services as well as pages delivered in the ordinary fashion
over the internet in the same way. This created some inconsistencies
in behaviour and misinformation presented to the user relating to the
security of pages delivered via Onion Services:
- HTTP Onion Service pages did not have any 'lock' icon indicating
the site was secure
- HTTP Onion Service pages would be marked as unencrypted in the Page
Info screen
- Mixed-mode content restrictions did not apply to HTTP Onion Service
pages embedding Non-Onion HTTP content
This patch fixes the above issues, and also adds several new 'Onion'
icons to the mix to indicate all of the various permutations of Onion
Services hosted HTTP or HTTPS pages with HTTP or HTTPS content.
Strings for Onion Service Page Info page are pulled from Torbutton's
localization strings.
- - - - -
a869055b by Kathy Brade at 2025-06-23T10:12:45+02:00
TB 30237: Add v3 onion services client authentication prompt
When Tor informs the browser that client authentication is needed,
temporarily load about:blank instead of about:neterror and prompt
for the user's key.
If a correctly formatted key is entered, use Tor's ONION_CLIENT_AUTH_ADD
control port command to add the key (via Torbutton's control port
module) and reload the page.
If the user cancels the prompt, display the standard about:neterror
"Unable to connect" page. This requires a small change to
browser/actors/NetErrorChild.jsm to account for the fact that the
docShell no longer has the failedChannel information. The failedChannel
is used to extract TLS-related error info, which is not applicable
in the case of a canceled .onion authentication prompt.
Add a leaveOpen option to PopupNotifications.show so we can display
error messages within the popup notification doorhanger without
closing the prompt.
Add support for onion services strings to the TorStrings module.
Add support for Tor extended SOCKS errors (Tor proposal 304) to the
socket transport and SOCKS layers. Improved display of all of these
errors will be implemented as part of bug 30025.
Also fixes bug 19757:
Add a "Remember this key" checkbox to the client auth prompt.
Add an "Onion Services Authentication" section within the
about:preferences "Privacy & Security section" to allow
viewing and removal of v3 onion client auth keys that have
been stored on disk.
Also fixes bug 19251: use enhanced error pages for onion service errors.
- - - - -
7eb5c36b by Alex Catarineu at 2025-06-23T10:12:46+02:00
TB 21952: Implement Onion-Location
Whenever a valid Onion-Location HTTP header (or corresponding HTML
<meta> http-equiv attribute) is found in a document load, we either
redirect to it (if the user opted-in via preference) or notify the
presence of an onionsite alternative with a badge in the urlbar.
- - - - -
fef8034e by Pier Angelo Vendrame at 2025-06-23T10:12:46+02:00
TB 40458: Implement .tor.onion aliases
We have enabled HTTPS-Only mode, therefore we do not need
HTTPS-Everywhere anymore.
However, we want to keep supporting .tor.onion aliases (especially for
securedrop).
Therefore, in this patch we implemented the parsing of HTTPS-Everywhere
rulesets, and the redirect of .tor.onion domains.
Actually, Tor Browser believes they are actual domains. We change them
on the fly on the SOCKS proxy requests to resolve the domain, and on
the code that verifies HTTPS certificates.
- - - - -
8811549e by Pier Angelo Vendrame at 2025-06-23T10:12:47+02:00
TB 11698: Incorporate Tor Browser Manual pages into Tor Browser
This patch associates the about:manual page to a translated page that
must be injected to browser/omni.ja after the build.
The content must be placed in chrome/browser/content/browser/manual/, so
that is then available at chrome://browser/content/manual/.
We preferred giving absolute freedom to the web team, rather than having
to change the patch in case of changes on the documentation.
- - - - -
a9cf54e9 by Pier Angelo Vendrame at 2025-06-23T10:12:48+02:00
TB 41435: Add a Tor Browser migration function
For now this function only deletes old language packs for which we are
already packaging the strings with the application.
- - - - -
7bbd39a7 by Dan Ballard at 2025-06-23T10:12:49+02:00
TB 40701: Add security warning when downloading a file
Shown in the downloads panel, about:downloads and places.xhtml.
- - - - -
ca7e21cc by Henry Wilkes at 2025-06-23T10:12:50+02:00
TB 41736: Customize toolbar for tor-browser.
- - - - -
1c98b572 by hackademix at 2025-06-23T10:12:50+02:00
TB 41728: Pin bridges.torproject.org domains to Let's Encrypt's root cert public key
- - - - -
c13dfcf4 by Richard Pospesel at 2025-06-23T10:12:51+02:00
TB 41822: Unconditionally disable default browser UX in about:preferences
- - - - -
1eadc12b by Cecylia Bocovich at 2025-06-23T10:12:52+02:00
Temporary commit: manually place generated wasm files
These files are built reproducibly using tor-browser-build: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_re…
We're manually adding them here while working on the interface, but
eventually these should be placed in the right location using
tor-browser-build.
- - - - -
f9b1f0ca by Pier Angelo Vendrame at 2025-06-23T10:12:53+02:00
[android] TBA strings
- - - - -
db250043 by Dan Ballard at 2025-06-23T10:12:53+02:00
TB 42660: Disable ProxySelector.openConnectionWithProxy and NOPify CrashReporter.sendCrashReport
- - - - -
b47c994e by Dan Ballard at 2025-06-23T10:12:54+02:00
TB 43006: Disable RFP for Font Visibility on Android
- - - - -
a8979547 by Matthew Finkel at 2025-06-23T10:12:55+02:00
TB 40005: [android] Modify Default toolbar menu
Originally android-components#40005.
- - - - -
3b9e7626 by Alex Catarineu at 2025-06-23T10:12:56+02:00
TB 34378: [android] Port external helper app prompting
Together with the corresponding fenix patch, this allows all `startActivity`
that may open external apps to be replaced by `TorUtils.startActivityPrompt`.
Originally, android-components#40007 and fenix#34378.
- - - - -
caf37f49 by Alex Catarineu at 2025-06-23T10:12:56+02:00
TB 40002: [android] Ensure system download manager is not used
Originally, android-components#40002.
android-components#40075: Support scoped storage to enable downloads on API < 29
- in android-components!7, we blocked all usage of Scoped
Storage in an attempt to block usage of Android's
DownloadManager, which is known to cause proxy bypasses
- as of Android API 29, downloads will not work without Scoped Storage,
causing all downlaods to fail (see: fenix##40192)
- here, we enable usage of scoped storage for API >= 29, but block
calls to DownloadManager on API < 29
- - - - -
6c6242d5 by Alex Catarineu at 2025-06-23T10:12:57+02:00
TB 40009: [android] Change the default search engines
Originally, android-components#40009.
This matches the search engines from desktop, that is:
DDG as the default, then YouTube, Google, DDGOnion,
Startpage, Twitter, Wikipedia and Yahoo.
android-components#40062: Update DuckDuckGo onion search plugin
- - - - -
d83833e1 by hackademix at 2025-06-23T10:12:58+02:00
TB 42191: [android] Temporary StrictMode relaxation to clear the thumbnail cache.
- - - - -
cfe3fda4 by hackademix at 2025-06-23T10:12:59+02:00
[android] Modify add-on support
Bug 41160: One-time ultimate switch Tor Browser Android to HTTPS-Only.
Bug 41159: Remove HTTPS-Everywhere extension from Tor Browser Android.
Bug 41094: Enable HTTPS-Only Mode by default in Tor Browser Android.
Turn shouldUseHttpsOnly's default to true.
Bug 40225: Bundled extensions don't get updated with Android Tor
Browser updates.
Bug 40030: Install NoScript addon on startup.
Also 40070: Consider storing the list of recommended addons
This implements our own AddonsProvider, which loads the list of
available addons from assets instead of fetching it from an
endpoint.
Also, we hide the uninstall button for builtin addons.
Bug 40058: Hide option for disallowing addon in private mode
- - - - -
ace3869d by Alex Catarineu at 2025-06-23T10:12:59+02:00
[android] Modify Addon support
android-components#40011: Hide option for disallowing addons in private mode
android-components#40016: Allow inheriting from AddonCollectionProvider
This will allow implementing our own AddonsProvider in fenix.
- - - - -
20197b96 by Alex Catarineu at 2025-06-23T10:13:00+02:00
TB 40015: [android] Port padlock states for .onion services
Originally, android-components#40015.
- - - - -
ac62aae7 by Matthew Finkel at 2025-06-23T10:13:01+02:00
[android] Modify Tracking Protection configuration
android-components#40020: Disable third-party cookies
android-components#40024: Disable tracking protection by default
- - - - -
50e468e2 by Matthew Finkel at 2025-06-23T10:13:02+02:00
TB 40023: [android] Stop PrivateNotificationService
Originally, android-components#40023.
- - - - -
e555f766 by Alex Catarineu at 2025-06-23T10:13:02+02:00
TB 34439 [android]: Isolate Icon loader on Android.
Originally, android-components#34439.
- - - - -
030ede40 by Matthew Finkel at 2025-06-23T10:13:03+02:00
[android] Disable features and functionality
Bug 33594: Disable data collection by default (Glean)
Bug 40019: Adjust is disabled on Release when data collection is disabled
Bug 34338: Disable the crash reporter
Bug 40014: Neuter Google Advertising ID
Bug 40018: Disable Push service
Bug 40034: Disable PWA onboading
Bug 40072: Disable Tracking Protection
Bug 40061: Do not show "Send to device" in sharing menu
Bug 40109: Reduce requested permissions
Exclude LOCATION and NETWORK_STATE
- - - - -
e6f34bf2 by Matthew Finkel at 2025-06-23T10:13:04+02:00
TB 40032 [android]: Set usesCleartextTraffic as false
Originally, fenix#40032.
- - - - -
15cdc2a2 by Matthew Finkel at 2025-06-23T10:13:05+02:00
[android] Rename as Tor Browser
Bug 40020: Change applicationId
Bug 40020: Change app name
Bug 40020: Change deeplink scheme
Bug 40020: Change App icons
Bug 40073: Use correct branding on About page
Bug 40088: Use Tor Browser logo in migration screen
- - - - -
601ea721 by Georg Koppen at 2025-06-23T10:13:06+02:00
[android] Modify build system
Bug 40083: Make locale ordering in BuildConfig deterministic
Bug 40042: Add option do overwrite timestamp in extension version
Bug 40059: Use MOZ_BUILD_DATE for versionCode
At the same time we adapt MOZ_BUILD_DATE to our needs where it is
actually used and not in tor-browser-build. This gives us more
flexibility. See: tor-browser-build#40084.
Bug 40067: Fix reproducibility issue in classes2.dex
We make sure our MOZ_BUILD_DATE gets used as a source for showing date
related information on the Fenix about page.
Bug 40071: Show only supported locales
Bug 40064: Use Gecko Beta for Nightly and Debug variants
Bug 40123: Allow building the instrumented tests apks for variants other than debug
This allows to specify the variant of the instrumented tests via
a `testBuildType` gradle argument. It also applies a workaround for
a R8 issue from https://issuetracker.google.com/issues/140851070.
Bug 40143: Use deterministic date in Test apk
The build config was using Date() when generating the Test apk's
versionName.
- - - - -
b96efbdc by Beatriz Rizental at 2025-06-23T10:13:06+02:00
TB 42669: [android] Use custom no-op app-services
Fetch the custom built no-op application services library
from tor-browser-build when building for Android.
- - - - -
c80cc897 by Matthew Finkel at 2025-06-23T10:13:07+02:00
TB 40185: [android] Use NimbusDisabled
Originally, fenix#40185.
- - - - -
5c1004bd by Alex Catarineu at 2025-06-23T10:13:08+02:00
TB 40087 [android]: Implement a switch for spoof English.
Originally, fenix#40087 and android-components#40019.
- - - - -
6b3330ce by Matthew Finkel at 2025-06-23T10:13:09+02:00
TB 34403 [android]: Disable Normal mode by default.
Originally, fenix#34403.
- - - - -
d7c2dc00 by Matthew Finkel at 2025-06-23T10:13:09+02:00
TB 40016 [android]: Don't install WebCompat webext.
Originally, fenix#40016.
- - - - -
f51af177 by Matthew Finkel at 2025-06-23T10:13:10+02:00
[android] Modify UI/UX
Bug 40015: Modify Home menu
Bug 40016: Hide unwanted Settings
Bug 40016: Modify Default toolbar menu
Bug 40016: Add Donate settings button
Bug 40016: Move Allow Screenshots under Advanced
Bug 40016: Don't install WebCompat webext
Bug 40016: Don't onboard Search Suggestions
Bug 40094: Do not use MasterPasswordTipProvider in HomeFragment
Bug 40095: Hide "Sign in to sync" in bookmarks
Bug 40031: Hide Mozilla-specific items on About page
Bug 40063: Do not sort search engines alphabetically
Bug 40141: Hide EME site permission
Bug 40166: Hide "Normal" tab (again) and Sync tab in TabTray
Bug 40167: Hide "Save to Collection" in menu
Bug 40172: Find the Quit button
Bug 40186: Hide Credit Cards in Settings
Bug 40198: Spoof English toggle now overlaps with locale list
- - - - -
7339d91c by Matthew Finkel at 2025-06-23T10:13:11+02:00
TB 40026 [android]: Implement Security Level settings on Android.
Originally, fenix#40026.
- - - - -
ad445f41 by Dan Ballard at 2025-06-23T10:13:12+02:00
TB 41972: [android] Disable Mozilla onboarding
- - - - -
24d313f6 by Dan Ballard at 2025-06-23T10:13:12+02:00
TB 41878: [android] Add standalone Tor Bootstrap
- - - - -
4ff887f2 by Matthew Finkel at 2025-06-23T10:13:13+02:00
TB 40041 [android]: Implement Tor Network Settings
Originally, fenix#40041.
- - - - -
d6230c9b by clairehurst at 2025-06-23T10:13:14+02:00
[android] Implement Android-native Connection Assist UI
- - - - -
b9cc0fbb by clairehurst at 2025-06-23T10:13:15+02:00
TB 42655 [android]: Implement "New circuit for this site" on Android
- - - - -
40d31b13 by clairehurst at 2025-06-23T10:13:16+02:00
TB 42089: [android] Remove ability to submit site support requests
- - - - -
d8222c48 by clairehurst at 2025-06-23T10:13:16+02:00
[android] Delete unused media
- - - - -
48319d57 by clairehurst at 2025-06-23T10:13:17+02:00
[android] TB 43351: Add function to disable forcing ALL CAPS for the fenix snackbar action button text
This is needed because the default snackbar will force all caps, which can cause problems in some languages. See tor-browser#43351 and bugzilla bug 1935387.
TODO: Remove once the forced all caps is removed by mozilla.
- - - - -
0064eae0 by Beatriz Rizental at 2025-06-23T10:13:18+02:00
TB 43243: [android] Implement Android launch test
Also remove exit call from terminate function.
It causes all espresso tests to crash on exit and otherwise doesn't do anything.
- - - - -
385f30a3 by Dan Ballard at 2025-06-23T10:13:19+02:00
TB 43505 [android]: Add 2025 UX Survey Campaign
- - - - -
bbd9e3b4 by Morgan at 2025-06-23T10:13:19+02:00
TB 43616: Customize Gitlab Issue and Merge Request templates
- - - - -
28ba2fb6 by Dan Ballard at 2025-06-23T10:13:20+02:00
fixup! [android] Modify build system
Bug 43809: allow tba-fetch-deps to download from nightlies
- - - - -
e039ae44 by Dan Ballard at 2025-06-23T10:13:21+02:00
fixup! TB 42669: [android] Use custom no-op app-services
Bug 43809: allow tba-fetch-deps to download nightlies
- - - - -
f3e0e0fc by Henry Wilkes at 2025-06-23T10:13:22+02:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43783: Expose SecurityLevelPrefs.setSecurityLevelAndRestart to
android integration.
- - - - -
77d93411 by clairehurst at 2025-06-23T10:13:23+02:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
d0fa3723 by clairehurst at 2025-06-23T10:13:23+02:00
fixup! [android] Implement Android-native Connection Assist UI
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
8fd1bceb by clairehurst at 2025-06-23T10:13:24+02:00
fixup! [android] TBA strings
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
2023 changed files:
- .eslintignore
- .gitignore
- + .gitlab-ci.yml
- + .gitlab/ci/containers/base/Containerfile
- + .gitlab/ci/jobs/lint/helpers.py
- + .gitlab/ci/jobs/lint/lint.yml
- + .gitlab/ci/jobs/startup-test/startup-test-android.py
- + .gitlab/ci/jobs/startup-test/startup-test.py
- + .gitlab/ci/jobs/startup-test/startup-test.yml
- + .gitlab/ci/jobs/update-containers.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/040 Feature.md
- + .gitlab/issue_templates/050 Backport.md
- + .gitlab/issue_templates/060 Rebase - Alpha.md
- + .gitlab/issue_templates/061 Rebase - Stable.md
- + .gitlab/issue_templates/062 Rebase - Legacy.md
- + .gitlab/issue_templates/063 Rebase - Rapid.md
- + .gitlab/issue_templates/070 Uplift.md
- + .gitlab/issue_templates/080 Security Backports.md
- + .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/100 Release QA - Desktop.md
- + .gitlab/issue_templates/101 Release QA - Android.md
- + .gitlab/issue_templates/110 Bugzilla Triage.md
- + .gitlab/issue_templates/120 Bugzilla Audit.md
- + .gitlab/issue_templates/Default.md
- + .gitlab/merge_request_templates/Default.md
- .prettierignore
- + README.md
- − README.txt
- + browser/actors/CryptoSafetyChild.sys.mjs
- + browser/actors/CryptoSafetyParent.sys.mjs
- − browser/actors/RFPHelperChild.sys.mjs
- − browser/actors/RFPHelperParent.sys.mjs
- 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/000-tor-browser.js
- + browser/app/profile/001-base-profile.js
- browser/app/profile/firefox.js
- browser/base/content/aboutDialog-appUpdater.js
- browser/base/content/aboutDialog.js
- browser/base/content/aboutDialog.xhtml
- + browser/base/content/aboutDialogTor.css
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-addons.js
- browser/base/content/browser-context.inc
- browser/base/content/browser-init.js
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-places.js
- browser/base/content/browser-safebrowsing.js
- browser/base/content/browser-sets.inc
- browser/base/content/browser-siteIdentity.js
- browser/base/content/browser.css
- browser/base/content/browser.js
- browser/base/content/browser.js.globals
- browser/base/content/browser.xhtml
- browser/base/content/default-bookmarks.html
- + browser/base/content/languageNotification.js
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/base/content/pageinfo/pageInfo.xhtml
- browser/base/content/pageinfo/security.js
- browser/base/content/popup-notifications.inc
- browser/base/content/test/general/browser_private_browsing_window.js
- browser/base/content/utilityOverlay.js
- browser/base/jar.mn
- browser/base/moz.build
- browser/branding/branding-common.mozbuild
- + browser/branding/tb-alpha/VisualElements_150.png
- + browser/branding/tb-alpha/VisualElements_70.png
- + browser/branding/tb-alpha/configure.sh
- + browser/branding/tb-alpha/content/about-logo.png
- + browser/branding/tb-alpha/content/about-logo.svg
- + browser/branding/tb-alpha/content/about-logo(a)2x.png
- + browser/branding/tb-alpha/content/about-wordmark.svg
- + browser/branding/tb-alpha/content/about.png
- + browser/branding/tb-alpha/content/aboutDialog.css
- + browser/branding/tb-alpha/content/firefox-wordmark.svg
- + browser/branding/tb-alpha/content/jar.mn
- + browser/branding/tb-alpha/content/moz.build
- + browser/branding/tb-alpha/default128.png
- + browser/branding/tb-alpha/default16.png
- + browser/branding/tb-alpha/default22.png
- + browser/branding/tb-alpha/default24.png
- + browser/branding/tb-alpha/default256.png
- + browser/branding/tb-alpha/default32.png
- + browser/branding/tb-alpha/default48.png
- + browser/branding/tb-alpha/default64.png
- + browser/branding/tb-alpha/document.icns
- + browser/branding/tb-alpha/document.ico
- + browser/branding/tb-alpha/document_pdf.ico
- + browser/branding/tb-alpha/firefox.VisualElementsManifest.xml
- + browser/branding/tb-alpha/firefox.icns
- + browser/branding/tb-alpha/firefox.ico
- + browser/branding/tb-alpha/locales/en-US/brand.ftl
- + browser/branding/tb-alpha/locales/en-US/brand.properties
- + browser/branding/tb-alpha/locales/jar.mn
- + browser/branding/tb-alpha/locales/moz.build
- + browser/branding/tb-alpha/moz.build
- + browser/branding/tb-alpha/newtab.ico
- + browser/branding/tb-alpha/newwindow.ico
- + browser/branding/tb-alpha/pbmode.ico
- + browser/branding/tb-alpha/pref/firefox-branding.js
- + browser/branding/tb-nightly/VisualElements_150.png
- + browser/branding/tb-nightly/VisualElements_70.png
- + browser/branding/tb-nightly/configure.sh
- + browser/branding/tb-nightly/content/about-logo.png
- + browser/branding/tb-nightly/content/about-logo.svg
- + browser/branding/tb-nightly/content/about-logo(a)2x.png
- + browser/branding/tb-nightly/content/about-wordmark.svg
- + browser/branding/tb-nightly/content/about.png
- + browser/branding/tb-nightly/content/aboutDialog.css
- + browser/branding/tb-nightly/content/firefox-wordmark.svg
- + browser/branding/tb-nightly/content/jar.mn
- + browser/branding/tb-nightly/content/moz.build
- + browser/branding/tb-nightly/default128.png
- + browser/branding/tb-nightly/default16.png
- + browser/branding/tb-nightly/default22.png
- + browser/branding/tb-nightly/default24.png
- + browser/branding/tb-nightly/default256.png
- + browser/branding/tb-nightly/default32.png
- + browser/branding/tb-nightly/default48.png
- + browser/branding/tb-nightly/default64.png
- + browser/branding/tb-nightly/document.icns
- + browser/branding/tb-nightly/document.ico
- + browser/branding/tb-nightly/document_pdf.ico
- + browser/branding/tb-nightly/firefox.VisualElementsManifest.xml
- + browser/branding/tb-nightly/firefox.icns
- + browser/branding/tb-nightly/firefox.ico
- + browser/branding/tb-nightly/locales/en-US/brand.ftl
- + browser/branding/tb-nightly/locales/en-US/brand.properties
- + browser/branding/tb-nightly/locales/jar.mn
- + browser/branding/tb-nightly/locales/moz.build
- + browser/branding/tb-nightly/moz.build
- + browser/branding/tb-nightly/newtab.ico
- + browser/branding/tb-nightly/newwindow.ico
- + browser/branding/tb-nightly/pbmode.ico
- + browser/branding/tb-nightly/pref/firefox-branding.js
- + browser/branding/tb-release/VisualElements_150.png
- + browser/branding/tb-release/VisualElements_70.png
- + browser/branding/tb-release/configure.sh
- + browser/branding/tb-release/content/about-logo.png
- + browser/branding/tb-release/content/about-logo.svg
- + browser/branding/tb-release/content/about-logo(a)2x.png
- + browser/branding/tb-release/content/about-wordmark.svg
- + browser/branding/tb-release/content/about.png
- + browser/branding/tb-release/content/aboutDialog.css
- + browser/branding/tb-release/content/firefox-wordmark.svg
- + browser/branding/tb-release/content/jar.mn
- + browser/branding/tb-release/content/moz.build
- + browser/branding/tb-release/default128.png
- + browser/branding/tb-release/default16.png
- + browser/branding/tb-release/default22.png
- + browser/branding/tb-release/default24.png
- + browser/branding/tb-release/default256.png
- + browser/branding/tb-release/default32.png
- + browser/branding/tb-release/default48.png
- + browser/branding/tb-release/default64.png
- + browser/branding/tb-release/document.icns
- + browser/branding/tb-release/document.ico
- + browser/branding/tb-release/document_pdf.ico
- + browser/branding/tb-release/firefox.VisualElementsManifest.xml
- + browser/branding/tb-release/firefox.icns
- + browser/branding/tb-release/firefox.ico
- + browser/branding/tb-release/locales/en-US/brand.ftl
- + browser/branding/tb-release/locales/en-US/brand.properties
- + browser/branding/tb-release/locales/jar.mn
- + browser/branding/tb-release/locales/moz.build
- + browser/branding/tb-release/moz.build
- + browser/branding/tb-release/newtab.ico
- + browser/branding/tb-release/newwindow.ico
- + browser/branding/tb-release/pbmode.ico
- + browser/branding/tb-release/pref/firefox-branding.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/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/abouttor/AboutTorChild.sys.mjs
- + browser/components/abouttor/AboutTorMessage.sys.mjs
- + browser/components/abouttor/AboutTorParent.sys.mjs
- + browser/components/abouttor/HomepageOverride.sys.mjs
- + browser/components/abouttor/content/1f44b-waving-hand.svg
- + browser/components/abouttor/content/1f4e3-megaphone.svg
- + browser/components/abouttor/content/26a1-high-voltage.svg
- + browser/components/abouttor/content/2728-sparkles.svg
- + browser/components/abouttor/content/2764-red-heart.svg
- + browser/components/abouttor/content/aboutTor.css
- + browser/components/abouttor/content/aboutTor.html
- + browser/components/abouttor/content/aboutTor.js
- + browser/components/abouttor/content/dax-logo.svg
- + browser/components/abouttor/jar.mn
- + browser/components/abouttor/moz.build
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/customizableui/content/panelUI.inc.xhtml
- browser/components/downloads/DownloadSpamProtection.sys.mjs
- + browser/components/downloads/DownloadsTorWarning.sys.mjs
- browser/components/downloads/content/contentAreaDownloadsView.js
- browser/components/downloads/content/contentAreaDownloadsView.xhtml
- browser/components/downloads/content/downloads.css
- browser/components/downloads/content/downloads.js
- browser/components/downloads/content/downloadsPanel.inc.xhtml
- browser/components/downloads/moz.build
- browser/components/extensions/parent/ext-browserAction.js
- browser/components/extensions/schemas/chrome_settings_overrides.json
- browser/components/migration/ChromeMigrationUtils.sys.mjs
- browser/components/migration/content/migration-wizard.mjs
- browser/components/moz.build
- + browser/components/newidentity/content/newIdentityDialog.css
- + browser/components/newidentity/content/newIdentityDialog.js
- + browser/components/newidentity/content/newIdentityDialog.xhtml
- + browser/components/newidentity/content/newidentity.js
- + browser/components/newidentity/jar.mn
- + browser/components/newidentity/moz.build
- browser/components/newtab/AboutNewTabService.sys.mjs
- + browser/components/onionservices/OnionAliasStore.sys.mjs
- + browser/components/onionservices/OnionLocationChild.sys.mjs
- + browser/components/onionservices/OnionLocationParent.sys.mjs
- + browser/components/onionservices/TorRequestWatch.sys.mjs
- + browser/components/onionservices/content/authNotificationIcon.inc.xhtml
- + browser/components/onionservices/content/authPopup.inc.xhtml
- + browser/components/onionservices/content/authPreferences.css
- + browser/components/onionservices/content/authPreferences.inc.xhtml
- + browser/components/onionservices/content/authPreferences.js
- + browser/components/onionservices/content/authPrompt.js
- + browser/components/onionservices/content/onionlocation-urlbar.inc.xhtml
- + browser/components/onionservices/content/onionlocation.css
- + browser/components/onionservices/content/onionservices.css
- + browser/components/onionservices/content/savedKeysDialog.js
- + browser/components/onionservices/content/savedKeysDialog.xhtml
- + browser/components/onionservices/jar.mn
- + browser/components/onionservices/moz.build
- browser/components/places/PlacesUIUtils.sys.mjs
- browser/components/places/content/controller.js
- browser/components/places/content/places.css
- browser/components/places/content/places.js
- browser/components/places/content/places.xhtml
- browser/components/places/content/placesContextMenu.inc.xhtml
- browser/components/places/tests/browser/browser_bookmark_context_menu_contents.js
- browser/components/places/tests/browser/head.js
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/home.js
- browser/components/preferences/jar.mn
- + browser/components/preferences/letterboxing-middle-dark.svg
- + browser/components/preferences/letterboxing-middle-light.svg
- + browser/components/preferences/letterboxing-top-dark.svg
- + browser/components/preferences/letterboxing-top-light.svg
- + browser/components/preferences/letterboxing.css
- + browser/components/preferences/letterboxing.inc.xhtml
- + browser/components/preferences/letterboxing.js
- browser/components/preferences/main.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
- browser/components/protections/content/protections.html
- browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js
- browser/components/resistfingerprinting/test/browser/browser_navigator.js
- browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js
- browser/components/resistfingerprinting/test/browser/browser_roundedWindow_open_max_inner.js
- browser/components/resistfingerprinting/test/browser/head.js
- + browser/components/rulesets/RulesetsChild.sys.mjs
- + browser/components/rulesets/RulesetsParent.sys.mjs
- + browser/components/rulesets/content/aboutRulesets.css
- + browser/components/rulesets/content/aboutRulesets.html
- + browser/components/rulesets/content/aboutRulesets.js
- + browser/components/rulesets/content/securedrop.svg
- + browser/components/rulesets/jar.mn
- + browser/components/rulesets/moz.build
- browser/components/search/SearchSERPTelemetry.sys.mjs
- + browser/components/search/extensions/ddg-onion/favicon.ico
- + browser/components/search/extensions/ddg-onion/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/startpage-onion/favicon.png
- + browser/components/search/extensions/startpage-onion/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- + 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/shopping/jar.mn
- browser/components/shopping/moz.build
- browser/components/tabbrowser/content/tabbrowser.js
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f4-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f6-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fd-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/README.txt
- + browser/components/torcircuit/content/tor-circuit-icon-mask.svg
- + browser/components/torcircuit/content/tor-circuit-node-end.svg
- + browser/components/torcircuit/content/tor-circuit-node-middle.svg
- + browser/components/torcircuit/content/tor-circuit-node-relays.svg
- + browser/components/torcircuit/content/tor-circuit-node-start.svg
- + browser/components/torcircuit/content/tor-circuit-redirect.svg
- + browser/components/torcircuit/content/torCircuitPanel.css
- + browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
- + browser/components/torcircuit/content/torCircuitPanel.js
- + browser/components/torcircuit/jar.mn
- + browser/components/torcircuit/moz.build
- + browser/components/torpreferences/content/bridge-bot.svg
- + browser/components/torpreferences/content/bridge-qr.svg
- + browser/components/torpreferences/content/bridge.svg
- + browser/components/torpreferences/content/bridgeQrDialog.js
- + browser/components/torpreferences/content/bridgeQrDialog.xhtml
- + browser/components/torpreferences/content/bridgemoji/BridgeEmoji.js
- + browser/components/torpreferences/content/bridgemoji/annotations.json
- + browser/components/torpreferences/content/bridgemoji/bridge-emojis.json
- + browser/components/torpreferences/content/bridgemoji/svgs/1f300.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f308.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f319.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f31f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f321.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f332.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f333.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f334.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f335.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f336.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f337.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f339.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f341.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f344.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f345.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f346.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f347.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f348.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f349.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f350.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f351.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f352.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f353.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f354.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f355.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f368.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f369.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f37f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f380.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f381.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f382.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f383.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f388.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f389.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f38f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f392.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f399.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f39f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ac.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3af.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ba.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3bb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3be.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3dd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f417.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f418.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f419.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f420.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f422.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f425.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f426.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f428.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f430.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f431.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f432.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f433.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f434.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f435.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f436.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f437.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f441.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f451.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f455.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f457.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f45f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f47d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f484.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f488.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f490.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4b3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4bf.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4cc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4ce.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4fb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f50b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f511.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f525.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f526.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f54a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f5ff.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f680.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f681.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f686.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f695.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f697.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fa.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f916.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f93f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f941.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f950.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f951.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f955.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f956.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f965.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f966.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f968.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f980.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f981.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f984.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f986.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f987.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f988.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f989.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f992.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f993.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f994.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f995.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f998.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f999.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ad.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9d9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9da.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9dc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ea.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ec.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ed.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa73.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa80.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa81.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa83.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa90.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa91.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa95.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa97.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fab6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/23f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2600.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2602.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2604.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/260e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2693.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2696.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26bd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2708.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/270f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2728.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2744.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/README.txt
- + browser/components/torpreferences/content/builtinBridgeDialog.js
- + browser/components/torpreferences/content/builtinBridgeDialog.xhtml
- + browser/components/torpreferences/content/connectionCategory.inc.xhtml
- + browser/components/torpreferences/content/connectionPane.js
- + browser/components/torpreferences/content/connectionPane.xhtml
- + browser/components/torpreferences/content/connectionSettingsDialog.js
- + browser/components/torpreferences/content/connectionSettingsDialog.xhtml
- + browser/components/torpreferences/content/lox-bridge-icon.svg
- + browser/components/torpreferences/content/lox-bridge-pass.svg
- + browser/components/torpreferences/content/lox-complete-ring.svg
- + browser/components/torpreferences/content/lox-invite-icon.svg
- + browser/components/torpreferences/content/lox-progress-ring.svg
- + browser/components/torpreferences/content/lox-success.svg
- + browser/components/torpreferences/content/loxInviteDialog.js
- + browser/components/torpreferences/content/loxInviteDialog.xhtml
- + browser/components/torpreferences/content/mail.svg
- + browser/components/torpreferences/content/network-broken.svg
- + browser/components/torpreferences/content/network.svg
- + browser/components/torpreferences/content/provideBridgeDialog.js
- + browser/components/torpreferences/content/provideBridgeDialog.xhtml
- + browser/components/torpreferences/content/requestBridgeDialog.js
- + browser/components/torpreferences/content/requestBridgeDialog.xhtml
- + browser/components/torpreferences/content/telegram-logo.svg
- + browser/components/torpreferences/content/torLogDialog.js
- + browser/components/torpreferences/content/torLogDialog.xhtml
- + browser/components/torpreferences/content/torPreferences.css
- + browser/components/torpreferences/jar.mn
- + browser/components/torpreferences/moz.build
- 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/config/mozconfigs/tor-browser
- + browser/config/mozconfigs/tor-browser-android
- browser/confvars.sh
- browser/extensions/moz.build
- + browser/fonts/fonts.conf
- browser/fonts/moz.build
- browser/installer/Makefile.in
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/shared.nsh
- browser/locales/Makefile.in
- − browser/locales/en-US/chrome/overrides/appstrings.properties
- browser/locales/jar.mn
- browser/modules/BrowserWindowTracker.sys.mjs
- browser/modules/HomePage.sys.mjs
- browser/modules/LaterRun.sys.mjs
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- + browser/modules/TorSettingsNotification.sys.mjs
- + browser/modules/TorUIUtils.sys.mjs
- browser/modules/URILoadingHelper.sys.mjs
- browser/modules/moz.build
- browser/moz.build
- browser/moz.configure
- browser/themes/shared/addons/unified-extensions.css
- browser/themes/shared/browser-shared.css
- browser/themes/shared/controlcenter/panel.css
- browser/themes/shared/downloads/contentAreaDownloadsView.css
- + browser/themes/shared/icons/new_circuit.svg
- + browser/themes/shared/icons/new_identity.svg
- browser/themes/shared/identity-block/identity-block.css
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/notification-icons.css
- browser/themes/shared/preferences/preferences.css
- browser/themes/shared/tabbrowser/content-area.css
- browser/themes/shared/tabbrowser/tabs.css
- browser/themes/shared/toolbarbutton-icons.css
- + browser/themes/shared/tor-branding.css
- + browser/themes/shared/tor-urlbar-button.css
- build.gradle
- build/application.ini.in
- build/moz.build
- build/moz.configure/init.configure
- build/moz.configure/rust.configure
- build/moz.configure/update-programs.configure
- build/variables.py
- caps/nsScriptSecurityManager.cpp
- config/createprecomplete.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/netmonitor/src/components/SecurityState.js
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- docshell/base/BrowsingContext.cpp
- docshell/base/BrowsingContext.h
- docshell/base/URIFixup.sys.mjs
- docshell/base/nsAboutRedirector.cpp
- docshell/base/nsDocShell.cpp
- docshell/build/components.conf
- dom/base/ContentAreaDropListener.sys.mjs
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/Navigator.cpp
- dom/base/ScreenOrientation.cpp
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsCopySupport.cpp
- dom/base/nsGlobalWindowInner.cpp
- dom/base/nsGlobalWindowOuter.cpp
- dom/base/nsNodeInfoManager.cpp
- dom/base/test/chrome/bug418986-1.js
- dom/canvas/CanvasRenderingContext2D.cpp
- dom/canvas/ClientWebGLContext.cpp
- dom/ipc/BrowserParent.cpp
- dom/ipc/BrowserParent.h
- dom/ipc/PBrowser.ipdl
- dom/ipc/WindowGlobalActor.cpp
- dom/ipc/WindowGlobalChild.cpp
- dom/ipc/WindowGlobalParent.cpp
- dom/locales/moz.build
- dom/media/eme/MediaKeySystemAccess.cpp
- dom/media/mediacapabilities/MediaCapabilities.cpp
- dom/media/mediasource/MediaSource.cpp
- dom/media/mediasource/MediaSource.h
- dom/media/mediasource/SourceBuffer.cpp
- dom/media/platforms/wrappers/MediaChangeMonitor.cpp
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/webrtc/libwebrtcglue/VideoConduit.cpp
- dom/media/webrtc/sdp/RsdparsaSdpAttributeList.cpp
- dom/media/webrtc/transport/nrinterfaceprioritizer.cpp
- dom/media/webrtc/transport/sigslot.h
- dom/media/webrtc/transport/test/ice_unittest.cpp
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.c
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.h
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-win32.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
- dom/media/webrtc/transport/third_party/nrappkit/src/log/r_log.c
- dom/media/webrtc/transport/third_party/nrappkit/src/registry/registry.c
- dom/security/nsContentSecurityUtils.cpp
- dom/security/nsMixedContentBlocker.cpp
- dom/security/test/https-only/browser.toml
- + dom/security/test/https-only/browser_iframe_buttons.js
- + dom/security/test/https-only/file_iframe_buttons.html
- dom/svg/DOMSVGLength.cpp
- dom/svg/DOMSVGLength.h
- dom/svg/DOMSVGPoint.cpp
- dom/svg/DOMSVGPoint.h
- dom/svg/DOMSVGPointList.cpp
- dom/svg/DOMSVGPointList.h
- dom/svg/DOMSVGStringList.cpp
- dom/svg/DOMSVGStringList.h
- dom/webidl/Document.webidl
- dom/websocket/WebSocket.cpp
- dom/xslt/xslt/txMozillaXSLTProcessor.cpp
- dom/xslt/xslt/txXSLTMsgsURL.h
- extensions/auth/nsHttpNegotiateAuth.cpp
- gfx/layers/apz/src/APZInputBridge.cpp
- gfx/layers/apz/src/APZPublicUtils.cpp
- gfx/layers/apz/src/GenericScrollAnimation.cpp
- gfx/layers/apz/src/WheelScrollAnimation.cpp
- gfx/thebes/StandardFonts-linux.inc → gfx/thebes/StandardFonts-linux-upstream.inc
- + gfx/thebes/StandardFonts-macos-bb.inc
- gfx/thebes/StandardFonts-macos.inc → gfx/thebes/StandardFonts-macos-upstream.inc
- + gfx/thebes/StandardFonts-win10-bb.inc
- gfx/thebes/StandardFonts-win10.inc → gfx/thebes/StandardFonts-win10-upstream.inc
- gfx/thebes/gfxDWriteFontList.cpp
- gfx/thebes/gfxDWriteFontList.h
- gfx/thebes/gfxFcPlatformFontList.cpp
- gfx/thebes/gfxGDIFontList.cpp
- gfx/thebes/gfxMacPlatformFontList.mm
- gfx/thebes/gfxPlatformFontList.cpp
- hal/android/AndroidHal.cpp
- image/test/browser/browser.toml
- + image/test/browser/browser_bug1899180.js
- + image/test/browser/helper1899180.html
- intl/l10n/Localization.h
- intl/locale/LocaleService.cpp
- intl/strres/nsIStringBundle.idl
- intl/strres/nsStringBundle.cpp
- js/src/gc/Zone.cpp
- + js/src/jit-test/tests/debug/bug-1904011.js
- js/src/old-configure.in
- js/xpconnect/src/xpc.msg
- layout/base/nsLayoutUtils.cpp
- layout/xul/nsSliderFrame.cpp
- mobile/android/android-components/components/browser/engine-gecko/build.gradle
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorage.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepository.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/fetch/GeckoViewFetchClient.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorageTest.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepositoryTest.kt
- mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/loader/HttpIconLoader.kt
- mobile/android/android-components/components/browser/menu/src/main/java/mozilla/components/browser/menu/WebExtensionBrowserMenuBuilder.kt
- mobile/android/android-components/components/browser/thumbnails/src/main/java/mozilla/components/browser/thumbnails/utils/ThumbnailDiskCache.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/SiteSecurityIconView.kt
- mobile/android/android-components/components/browser/toolbar/src/main/res/drawable/mozac_ic_site_security.xml
- mobile/android/android-components/components/browser/toolbar/src/main/res/values/attrs_browser_toolbar.xml
- mobile/android/android-components/components/browser/toolbar2/src/main/java/mozilla/components/browser/toolbar2/display/DisplayToolbar.kt
- mobile/android/android-components/components/browser/toolbar2/src/main/java/mozilla/components/browser/toolbar2/display/SiteSecurityIconView.kt
- mobile/android/android-components/components/browser/toolbar2/src/main/res/drawable/mozac_ic_site_security.xml
- mobile/android/android-components/components/browser/toolbar2/src/main/res/values/attrs_browser_toolbar.xml
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/EngineSession.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/cookiehandling/CookieBannersStorage.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/webextension/WebExtension.kt
- mobile/android/android-components/components/concept/engine/src/test/java/mozilla/components/concept/engine/SettingsTest.kt
- mobile/android/android-components/components/concept/fetch/src/main/java/mozilla/components/concept/fetch/Request.kt
- mobile/android/android-components/components/concept/toolbar/src/main/java/mozilla/components/concept/toolbar/Toolbar.kt
- mobile/android/android-components/components/feature/accounts/build.gradle
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt
- mobile/android/android-components/components/feature/addons/src/main/res/layout/mozac_feature_addons_fragment_dialog_addon_installed.xml
- mobile/android/android-components/components/feature/app-links/build.gradle
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksFeature.kt
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksUseCases.kt
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/SimpleRedirectDialogFragment.kt
- mobile/android/android-components/components/feature/app-links/src/test/java/mozilla/components/feature/app/links/AppLinksUseCasesTest.kt
- mobile/android/android-components/components/feature/app-links/src/test/java/mozilla/components/feature/app/links/SimpleRedirectDialogFragmentTest.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionAutocompleteProvider.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionSuggestionProvider.kt
- mobile/android/android-components/components/feature/contextmenu/src/main/java/mozilla/components/feature/contextmenu/ContextMenuCandidate.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/AbstractFetchDownloadService.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/DownloadsFeature.kt
- mobile/android/android-components/components/feature/downloads/src/test/java/mozilla/components/feature/downloads/DownloadsFeatureTest.kt
- mobile/android/android-components/components/feature/fxsuggest/build.gradle
- mobile/android/android-components/components/feature/privatemode/src/main/java/mozilla/components/feature/privatemode/notification/PrivateNotificationFeature.kt
- mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt
- + mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/FullScreenNotification.kt
- − mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/FullScreenNotificationDialog.kt
- + mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/GestureNavUtils.kt
- + mobile/android/android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/dialog/FullScreenNotificationTest.kt
- mobile/android/android-components/components/feature/search/build.gradle
- mobile/android/android-components/components/feature/search/src/main/assets/search/list.json
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg-onion.xml
- mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage-onion.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage.xml
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/ext/SearchEngine.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/internal/SearchUrlBuilder.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepository.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/BaseSearchTelemetryTest.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepositoryTest.kt
- mobile/android/android-components/components/feature/session/src/main/java/mozilla/components/feature/session/SessionUseCases.kt
- mobile/android/android-components/components/feature/session/src/test/java/mozilla/components/feature/session/SessionUseCasesTest.kt
- mobile/android/android-components/components/feature/toolbar/src/main/java/mozilla/components/feature/toolbar/ToolbarPresenter.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/Types.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/sync/WorkManagerSyncManager.kt
- mobile/android/android-components/components/service/glean/src/main/java/mozilla/components/service/glean/private/MetricAliases.kt
- mobile/android/android-components/components/service/nimbus/build.gradle
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingStorage.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/android/content/Context.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt
- mobile/android/android-components/components/support/ktx/src/test/java/mozilla/components/support/ktx/kotlin/StringTest.kt
- mobile/android/android-components/components/support/remotesettings/src/main/java/mozilla/components/support/remotesettings/RemoteSettingsClient.kt
- mobile/android/android-components/components/support/rustlog/src/main/java/mozilla/components/support/rustlog/RustLog.kt
- mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DownloadUtils.kt
- + mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/TorUtils.kt
- mobile/android/android-components/components/support/webextensions/src/main/java/mozilla/components/support/webextensions/WebExtensionSupport.kt
- + mobile/android/android-components/components/ui/icons/src/main/res/drawable/mozac_ic_onion.xml
- mobile/android/android-components/docs/changelog.md
- mobile/android/android-components/plugins/config/src/main/java/ConfigPlugin.kt
- mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
- mobile/android/android-components/samples/browser/src/main/res/layout/activity_installed_add_on_details.xml
- + mobile/android/app/000-tor-browser-android.js
- mobile/android/app/geckoview-prefs.js
- mobile/android/app/moz.build
- + mobile/android/basebrowser.configure
- + mobile/android/branding/tb-alpha/configure.sh
- + mobile/android/branding/tb-alpha/content/favicon32.png
- + mobile/android/branding/tb-alpha/content/favicon64.png
- + mobile/android/branding/tb-alpha/content/jar.mn
- + mobile/android/branding/tb-alpha/content/moz.build
- + mobile/android/branding/tb-alpha/locales/en-US/brand.ftl
- + mobile/android/branding/tb-alpha/locales/en-US/brand.properties
- + mobile/android/branding/tb-alpha/locales/jar.mn
- + mobile/android/branding/tb-alpha/locales/moz.build
- + mobile/android/branding/tb-alpha/moz.build
- + mobile/android/branding/tb-nightly/configure.sh
- + mobile/android/branding/tb-nightly/content/favicon32.png
- + mobile/android/branding/tb-nightly/content/favicon64.png
- + mobile/android/branding/tb-nightly/content/jar.mn
- + mobile/android/branding/tb-nightly/content/moz.build
- + mobile/android/branding/tb-nightly/locales/en-US/brand.ftl
- + mobile/android/branding/tb-nightly/locales/en-US/brand.properties
- + mobile/android/branding/tb-nightly/locales/jar.mn
- + mobile/android/branding/tb-nightly/locales/moz.build
- + mobile/android/branding/tb-nightly/moz.build
- + mobile/android/branding/tb-release/configure.sh
- + mobile/android/branding/tb-release/content/favicon32.png
- + mobile/android/branding/tb-release/content/favicon64.png
- + mobile/android/branding/tb-release/content/jar.mn
- + mobile/android/branding/tb-release/content/moz.build
- + mobile/android/branding/tb-release/locales/en-US/brand.ftl
- + mobile/android/branding/tb-release/locales/en-US/brand.properties
- + mobile/android/branding/tb-release/locales/jar.mn
- + mobile/android/branding/tb-release/locales/moz.build
- + mobile/android/branding/tb-release/moz.build
- mobile/android/confvars.sh
- mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
- mobile/android/fenix/.buildconfig.yml
- mobile/android/fenix/app/build.gradle
- mobile/android/fenix/app/lint-baseline.xml
- mobile/android/fenix/app/onboarding.fml.yaml
- mobile/android/fenix/app/proguard-rules.pro
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/AppStartupTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CrashReportingTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAboutRobot.kt
- + mobile/android/fenix/app/src/beta/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/beta/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_monochrome_foreground.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml → mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/beta/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/beta/res/values/static_strings.xml
- mobile/android/fenix/app/src/beta/res/xml/shortcuts.xml
- − mobile/android/fenix/app/src/debug/ic_launcher-web.webp
- + mobile/android/fenix/app/src/debug/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/debug/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_monochrome_foreground.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/values/colors.xml
- + mobile/android/fenix/app/src/debug/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/debug/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/AndroidManifest.xml
- + mobile/android/fenix/app/src/main/assets/common/torrc-defaults
- − mobile/android/fenix/app/src/main/assets/searchplugins/reddit.xml
- − mobile/android/fenix/app/src/main/assets/searchplugins/youtube.xml
- − mobile/android/fenix/app/src/main/ic_launcher-web.webp
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/IntentReceiverActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/OpenInAppOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Analytics.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/FenixSnackbar.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NimbusComponents.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NotificationManager.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/UseCases.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/middleware/MenuNavigationMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/AdjustMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricsUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserMenuSignIn.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenter.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMenuController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/PoweredByNotification.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/downloads/DynamicDownloadDialog.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/experiments/view/ResearchSurfaceSurvey.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/ext/Activity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/intent/HomeDeepLinkIntentProcessor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/PocketStoriesComposables.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/recentsyncedtabs/view/RecentSyncedTab.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/PrivateBrowsingDescriptionViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/PagerIndicator.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSites.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkItemMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicroSurveyHeader.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyCompleted.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyRequestPrompt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/FenixOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/ReEngagementNotificationWorker.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingScreen.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/UpgradeOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/HttpsOnlyFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorBridgeConfigFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/account/AccountUiView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/DefaultLocaleSettingsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/view/SavedLoginsListView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/ProtectionsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsInteractor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannersStorageExt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/SaveToPDFMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/shopping/ui/NoAnalysis.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/shopping/ui/ReviewQualityCheckContextualOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/shortcut/PwaOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/TabLayoutMediator.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayBanner.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/syncedtabs/SyncedTabsList.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/CampaignStrings.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/ConnectAssistUiState.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickstartViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapProgressViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBridgeTransports.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorController.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLog.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsComposeFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevelFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/UrlQuickLoadViewModel.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/trackingprotection/ProtectionsStore.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/NotificationBase.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/gecko/search/SearchWidgetProvider.kt
- + mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-hdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-hdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-mdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-mdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xxhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xxhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xxxhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xxxhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night/onboarding_ctd_default_browser.xml
- mobile/android/fenix/app/src/main/res/drawable-v23/splash_screen.xml
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/main/res/drawable/browser_location.xml
- + mobile/android/fenix/app/src/main/res/drawable/campaign_hand.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect_broken.xml
- + mobile/android/fenix/app/src/main/res/drawable/globe_broken.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account_warning.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_favorite.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_firefox.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_fx_accounts_avatar.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_launcher_foreground.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_launcher_monochrome.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_notification_permission.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features_icons_only.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_search_widget.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_sync.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_welcome.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_onion_pattern.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_pocket.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_scan.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_screenshot.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sign_in.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_signed_out.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_status_logo.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sync_disconnected.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_synced_tabs.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_config_bridge.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_network_settings.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/main/res/drawable/microsurvey_success.xml
- + mobile/android/fenix/app/src/main/res/drawable/new_circuit.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_default_browser.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_notification.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_sync.xml
- − mobile/android/fenix/app/src/main/res/drawable/pocket_vector.xml
- mobile/android/fenix/app/src/main/res/drawable/progress_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable/pager_dot.xml → mobile/android/fenix/app/src/main/res/drawable/rounded_corners.xml
- mobile/android/fenix/app/src/main/res/drawable-night/ic_logo_wordmark_normal.xml → mobile/android/fenix/app/src/main/res/drawable/tor_bootstrap_background_gradient.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable/onboarding_popup_shape.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_rounded_corners.xml
- mobile/android/fenix/app/src/main/res/layout/component_cookie_banner_details_panel.xml
- mobile/android/fenix/app/src/main/res/layout/component_tabstray2.xml
- mobile/android/fenix/app/src/main/res/layout/fenix_snackbar.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_about.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_create_shortcut.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_home.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_locale_settings.xml
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_connection_assist.xml
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_security_level_preferences.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_turn_on_sync.xml
- − mobile/android/fenix/app/src/main/res/layout/full_screen_notification_dialog.xml
- mobile/android/fenix/app/src/main/res/layout/onboarding_inactive_tabs_cfr.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private.xml → mobile/android/fenix/app/src/main/res/layout/preference_quick_start.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_permissions.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_protections_panel.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v1.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v2.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_large.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_medium.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_small.xml
- mobile/android/fenix/app/src/main/res/layout/sign_in_preference.xml
- − mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private_round.xml
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml
- mobile/android/fenix/app/src/main/res/values-be/strings.xml
- mobile/android/fenix/app/src/main/res/values-bg/strings.xml
- mobile/android/fenix/app/src/main/res/values-bs/strings.xml
- mobile/android/fenix/app/src/main/res/values-ca/strings.xml
- mobile/android/fenix/app/src/main/res/values-co/strings.xml
- mobile/android/fenix/app/src/main/res/values-cs/strings.xml
- mobile/android/fenix/app/src/main/res/values-cy/strings.xml
- mobile/android/fenix/app/src/main/res/values-da/strings.xml
- mobile/android/fenix/app/src/main/res/values-de/strings.xml
- mobile/android/fenix/app/src/main/res/values-dsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-el/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rAR/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rCL/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rMX/strings.xml
- mobile/android/fenix/app/src/main/res/values-eu/strings.xml
- mobile/android/fenix/app/src/main/res/values-fi/strings.xml
- mobile/android/fenix/app/src/main/res/values-fr/strings.xml
- mobile/android/fenix/app/src/main/res/values-fur/strings.xml
- mobile/android/fenix/app/src/main/res/values-fy-rNL/strings.xml
- mobile/android/fenix/app/src/main/res/values-gl/strings.xml
- mobile/android/fenix/app/src/main/res/values-hsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-hy-rAM/strings.xml
- mobile/android/fenix/app/src/main/res/values-ia/strings.xml
- mobile/android/fenix/app/src/main/res/values-is/strings.xml
- mobile/android/fenix/app/src/main/res/values-it/strings.xml
- mobile/android/fenix/app/src/main/res/values-iw/strings.xml
- mobile/android/fenix/app/src/main/res/values-ja/strings.xml
- mobile/android/fenix/app/src/main/res/values-kab/strings.xml
- mobile/android/fenix/app/src/main/res/values-kk/strings.xml
- mobile/android/fenix/app/src/main/res/values-ko/strings.xml
- mobile/android/fenix/app/src/main/res/values-nb-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-night-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values-night/styles.xml
- mobile/android/fenix/app/src/main/res/values-nl/strings.xml
- mobile/android/fenix/app/src/main/res/values-nn-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-oc/strings.xml
- mobile/android/fenix/app/src/main/res/values-pa-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-pl/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rBR/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rPT/strings.xml
- mobile/android/fenix/app/src/main/res/values-rm/strings.xml
- mobile/android/fenix/app/src/main/res/values-ru/strings.xml
- mobile/android/fenix/app/src/main/res/values-sat/strings.xml
- mobile/android/fenix/app/src/main/res/values-si/strings.xml
- mobile/android/fenix/app/src/main/res/values-sk/strings.xml
- mobile/android/fenix/app/src/main/res/values-sl/strings.xml
- mobile/android/fenix/app/src/main/res/values-sq/strings.xml
- mobile/android/fenix/app/src/main/res/values-sv-rSE/strings.xml
- mobile/android/fenix/app/src/main/res/values-tg/strings.xml
- mobile/android/fenix/app/src/main/res/values-th/strings.xml
- mobile/android/fenix/app/src/main/res/values-tr/strings.xml
- mobile/android/fenix/app/src/main/res/values-ug/strings.xml
- mobile/android/fenix/app/src/main/res/values-v24/styles.xml
- mobile/android/fenix/app/src/main/res/values-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values-vi/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rTW/strings.xml
- mobile/android/fenix/app/src/main/res/values/attrs.xml
- mobile/android/fenix/app/src/main/res/values/colors.xml
- + mobile/android/fenix/app/src/main/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/main/res/values/preference_keys.xml
- mobile/android/fenix/app/src/main/res/values/static_strings.xml
- mobile/android/fenix/app/src/main/res/values/strings.xml
- mobile/android/fenix/app/src/main/res/values/styles.xml
- + mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
- mobile/android/fenix/app/src/main/res/xml/logins_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/preferences.xml
- mobile/android/fenix/app/src/main/res/xml/private_browsing_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_details_exceptions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/sync_problem.xml
- + mobile/android/fenix/app/src/main/res/xml/tor_bridge_config_preferences.xml
- + mobile/android/fenix/app/src/nightly/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_monochrome_foreground.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/nightly/res/ic_launcher-web.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/nightly/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/nightly/res/values/static_strings.xml
- mobile/android/fenix/app/src/nightly/res/xml/shortcuts.xml
- + mobile/android/fenix/app/src/release/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/release/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/release/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_monochrome_foreground.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/release/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/release/res/values/static_strings.xml
- mobile/android/fenix/app/src/release/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/menu/MenuNavigationMiddlewareTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/metrics/MetricsUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/ext/ContextTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingPageUiDataTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/SupportUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/ProtectionsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragmentTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/DefaultCookieBannerDetailsControllerTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/share/viewholders/AppViewHolderTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/trackingprotection/ProtectionsStoreTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt
- mobile/android/fenix/build.gradle
- mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt
- + mobile/android/fenix/tools/tba-fetch-deps.sh
- + mobile/android/fenix/tools/tba-sign-devbuilds.sh
- mobile/android/focus-android/app/src/main/java/org/mozilla/focus/browser/integration/FullScreenIntegration.kt
- mobile/android/focus-android/app/src/main/java/org/mozilla/focus/fragment/BrowserFragment.kt
- − mobile/android/focus-android/app/src/main/res/layout/dialog_full_screen_notification.xml
- mobile/android/focus-android/app/src/main/res/values/strings.xml
- mobile/android/focus-android/app/src/test/java/org/mozilla/focus/browser/integration/FullScreenIntegrationTest.kt
- mobile/android/geckoview/api.txt
- mobile/android/geckoview/build.gradle
- − mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/VideoCaptureTest.kt
- mobile/android/geckoview/src/main/AndroidManifest.xml
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/Clipboard.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/GeckoLoader.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/IntentUtils.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoInputConnection.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.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/TorAndroidIntegration.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorBootstrappingStatus.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStage.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStageName.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebExtensionController.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/Prefs.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/TorLegacyAndroidSettings.java
- mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/IntentUtilsTest.java
- mobile/android/gradle/with_gecko_binaries.gradle
- mobile/android/installer/package-manifest.in
- mobile/android/locales/filter.py
- mobile/android/locales/jar.mn
- mobile/android/locales/l10n.toml
- mobile/android/moz.configure
- mobile/android/shared-settings.gradle
- mobile/locales/filter.py
- mobile/shared/chrome/geckoview/geckoview.js
- mobile/shared/components/geckoview/GeckoViewStartup.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewContent.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewProgress.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewWebExtension.sys.mjs
- modules/libpref/Preferences.cpp
- 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/nsIOService.cpp
- netwerk/base/nsNetUtil.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/build/components.conf
- netwerk/build/nsNetCID.h
- + netwerk/dns/IOnionAliasService.idl
- + netwerk/dns/OnionAliasService.cpp
- + netwerk/dns/OnionAliasService.h
- netwerk/dns/effective_tld_names.dat
- netwerk/dns/moz.build
- netwerk/protocol/http/HttpBaseChannel.cpp
- netwerk/protocol/http/HttpConnectionUDP.cpp
- 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/socket/nsSOCKSIOLayer.cpp
- netwerk/system/android/nsAndroidNetworkLinkService.cpp
- netwerk/system/linux/nsNetworkLinkService.cpp
- netwerk/system/mac/nsNetworkLinkService.mm
- netwerk/system/netlink/NetlinkService.cpp
- netwerk/system/win32/nsNotifyAddrListener.cpp
- netwerk/test/unit/trr_common.js
- netwerk/url-classifier/UrlClassifierFeatureBase.cpp
- netwerk/url-classifier/components.conf
- old-configure.in
- python/mach/mach/telemetry.py
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/mach_commands.py
- python/mozlint/mozlint/cli.py
- python/sites/mach.txt
- security/certverifier/CertVerifier.cpp
- security/manager/ssl/NSSSocketControl.cpp
- security/manager/ssl/RemoteSecuritySettings.sys.mjs
- security/manager/ssl/SSLServerCertVerification.cpp
- security/manager/ssl/SSLServerCertVerification.h
- security/manager/ssl/StaticHPKPins.h
- security/manager/ssl/nsSecureBrowserUI.cpp
- security/moz.build
- security/nss/lib/certhigh/ocsp.c
- security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
- security/nss/lib/mozpkix/include/pkix/Result.h
- security/nss/lib/mozpkix/include/pkix/pkixnss.h
- security/nss/lib/ssl/Makefile
- security/sandbox/common/SandboxUtils.sys.mjs
- services/settings/Attachments.sys.mjs
- services/settings/IDBHelpers.sys.mjs
- services/settings/RemoteSettingsClient.sys.mjs
- services/settings/dumps/gen_last_modified.py
- services/settings/dumps/main/moz.build
- services/settings/remote-settings.sys.mjs
- services/settings/servicesSettings.manifest
- services/settings/static-dumps/main/moz.build
- + services/settings/static-dumps/main/query-stripping.json
- services/sync/components.conf
- servo/components/style/properties/cascade.rs
- servo/components/style/properties/properties.mako.rs
- servo/components/style/values/computed/box.rs
- servo/components/style/values/specified/length.rs
- servo/ports/geckolib/glue.rs
- testing/marionette/harness/marionette_harness/runner/base.py
- testing/mozbase/mozinstall/mozinstall/mozinstall.py
- testing/mozbase/setup_development.py
- testing/mozharness/scripts/does_it_crash.py
- testing/specialpowers/api.js
- + testing/web-platform/tests/css/css-viewport/zoom/canvas-ref.html
- + testing/web-platform/tests/css/css-viewport/zoom/canvas.html
- + testing/web-platform/tests/css/css-viewport/zoom/textarea-very-small-zoom-crash.html
- third_party/libwebrtc/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h
- third_party/libwebrtc/modules/desktop_capture/desktop_capture_types.h
- third_party/libwebrtc/modules/desktop_capture/win/desktop_capture_utils.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.h
- third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h
- third_party/libwebrtc/rtc_base/platform_thread_types.cc
- third_party/libwebrtc/rtc_base/socket.h
- third_party/libwebrtc/rtc_base/system/file_wrapper.cc
- third_party/libwebrtc/rtc_base/win/create_direct3d_device.h
- third_party/sipcc/cpr_win_types.h
- third_party/sipcc/sdp_token.c
- toolkit/.eslintrc.js
- toolkit/actors/AboutHttpsOnlyErrorParent.sys.mjs
- + toolkit/actors/FilesFilterChild.sys.mjs
- + toolkit/actors/FilesFilterParent.sys.mjs
- toolkit/actors/NetErrorChild.sys.mjs
- toolkit/actors/NetErrorParent.sys.mjs
- toolkit/actors/moz.build
- toolkit/components/aboutmemory/content/aboutMemory.js
- toolkit/components/antitracking/StoragePrincipalHelper.cpp
- toolkit/components/antitracking/antitracking.manifest
- toolkit/components/antitracking/components.conf
- toolkit/components/downloads/DownloadCore.sys.mjs
- toolkit/components/downloads/DownloadIntegration.sys.mjs
- toolkit/components/extensions/Extension.sys.mjs
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/httpsonlyerror/content/errorpage.html
- toolkit/components/httpsonlyerror/content/errorpage.js
- + toolkit/components/lox/Lox.sys.mjs
- + toolkit/components/lox/content/lox_wasm_bg.wasm
- + toolkit/components/lox/jar.mn
- + toolkit/components/lox/lox_wasm.jsm
- + toolkit/components/lox/moz.build
- toolkit/components/moz.build
- toolkit/components/places/PlacesUtils.sys.mjs
- toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
- toolkit/components/resistfingerprinting/nsRFPService.cpp
- toolkit/components/resistfingerprinting/nsRFPService.h
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/content/torBrowserSearchEngineIcons.json
- + toolkit/components/search/content/torBrowserSearchEngines.json
- + toolkit/components/search/content/wikipedia.ico
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- + toolkit/components/securitylevel/SecurityLevel.manifest
- + toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/components/securitylevel/components.conf
- + toolkit/components/securitylevel/moz.build
- toolkit/components/shopping/jar.mn
- toolkit/components/telemetry/app/TelemetrySend.sys.mjs
- toolkit/components/telemetry/moz.build
- + toolkit/components/tor-launcher/TorBootstrapRequest.sys.mjs
- + toolkit/components/tor-launcher/TorControlPort.sys.mjs
- + toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs
- + toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
- + toolkit/components/tor-launcher/TorParsers.sys.mjs
- + toolkit/components/tor-launcher/TorProcess.sys.mjs
- + toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs
- + toolkit/components/tor-launcher/TorProvider.sys.mjs
- + toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
- + toolkit/components/tor-launcher/TorStartupService.sys.mjs
- + toolkit/components/tor-launcher/components.conf
- + toolkit/components/tor-launcher/moz.build
- + toolkit/components/tor-launcher/tor-launcher.manifest
- + toolkit/components/torconnect/TorConnectChild.sys.mjs
- + toolkit/components/torconnect/TorConnectParent.sys.mjs
- + toolkit/components/torconnect/content/aboutTorConnect.css
- + toolkit/components/torconnect/content/aboutTorConnect.html
- + toolkit/components/torconnect/content/aboutTorConnect.js
- + toolkit/components/torconnect/content/arrow-right.svg
- + toolkit/components/torconnect/content/bridge.svg
- + toolkit/components/torconnect/content/connection-failure.svg
- + toolkit/components/torconnect/content/connection-location.svg
- + toolkit/components/torconnect/content/tor-connect-broken.svg
- + toolkit/components/torconnect/content/tor-connect.svg
- + toolkit/components/torconnect/content/tor-not-connected-to-connected-animated.svg
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.css
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.js
- + toolkit/components/torconnect/content/torConnectUrlbarButton.js
- + toolkit/components/torconnect/jar.mn
- + toolkit/components/torconnect/moz.build
- toolkit/components/urlformatter/URLFormatter.sys.mjs
- toolkit/components/windowwatcher/nsWindowWatcher.cpp
- toolkit/content/.eslintrc.js
- toolkit/content/aboutNetError.html
- toolkit/content/aboutNetError.mjs
- toolkit/content/aboutSupport.js
- toolkit/content/jar.mn
- toolkit/content/license.html
- + toolkit/content/moat_countries_dev_build.json
- + toolkit/content/pt_config.json
- toolkit/content/widgets/infobar.css
- toolkit/content/widgets/moz-message-bar/moz-message-bar.mjs
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- toolkit/content/widgets/moz-toggle/moz-toggle.mjs
- toolkit/content/widgets/notificationbox.js
- + toolkit/locales-preview/base-browser-no-translate.ftl
- + toolkit/locales-preview/tor-browser-no-translate.ftl
- toolkit/locales/en-US/toolkit/about/aboutHttpsOnlyError.ftl
- + toolkit/locales/en-US/toolkit/global/base-browser.ftl
- + toolkit/locales/en-US/toolkit/global/tor-browser.ftl
- toolkit/locales/jar.mn
- toolkit/modules/ActorManagerParent.sys.mjs
- toolkit/modules/AppConstants.sys.mjs
- + toolkit/modules/Bech32Decode.sys.mjs
- + toolkit/modules/BridgeDB.sys.mjs
- + toolkit/modules/DomainFrontedRequests.sys.mjs
- + toolkit/modules/DragDropFilter.sys.mjs
- toolkit/modules/FinderParent.sys.mjs
- toolkit/modules/LogManager.sys.mjs
- + toolkit/modules/Moat.sys.mjs
- toolkit/modules/PopupNotifications.sys.mjs
- + toolkit/modules/QRCode.sys.mjs
- toolkit/modules/RemotePageAccessManager.sys.mjs
- + toolkit/modules/TorAndroidIntegration.sys.mjs
- + toolkit/modules/TorConnect.sys.mjs
- + toolkit/modules/TorSettings.sys.mjs
- + toolkit/modules/TorStrings.sys.mjs
- toolkit/modules/UpdateUtils.sys.mjs
- toolkit/modules/moz.build
- toolkit/moz.build
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/components.conf
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/extensions/test/browser/head.js
- toolkit/mozapps/extensions/test/xpcshell/head_addons.js
- toolkit/mozapps/update/UpdateService.sys.mjs
- toolkit/mozapps/update/UpdateServiceStub.sys.mjs
- toolkit/mozapps/update/common/updatehelper.cpp
- toolkit/mozapps/update/tests/data/sharedUpdateXML.js
- + toolkit/mozapps/update/tests/unit_aus_update/mixedUnsupported.js
- toolkit/mozapps/update/tests/unit_aus_update/xpcshell.toml
- toolkit/mozapps/update/updater/launchchild_osx.mm
- toolkit/mozapps/update/updater/moz.build
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- toolkit/mozapps/update/updater/updater.cpp
- toolkit/themes/shared/aboutNetError.css
- toolkit/themes/shared/desktop-jar.inc.mn
- toolkit/themes/shared/findbar.css
- + toolkit/themes/shared/icons/onion-site.svg
- + toolkit/themes/shared/icons/onion-slash.svg
- + toolkit/themes/shared/icons/onion-warning.svg
- + toolkit/themes/shared/icons/tor-dark-loading.png
- + toolkit/themes/shared/icons/tor-dark-loading(a)2x.png
- + toolkit/themes/shared/icons/tor-light-loading.png
- + toolkit/themes/shared/icons/tor-light-loading(a)2x.png
- + toolkit/themes/shared/icons/torbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- + toolkit/themes/shared/onion-pattern.css
- + toolkit/themes/shared/onion-pattern.svg
- + toolkit/themes/shared/tor-colors.css
- + toolkit/torbutton/chrome/locale/en-US/onionLocation.properties
- + toolkit/torbutton/chrome/locale/en-US/settings.properties
- + toolkit/torbutton/chrome/locale/en-US/torConnect.properties
- + toolkit/torbutton/chrome/locale/en-US/torlauncher.properties
- + toolkit/torbutton/jar.mn
- + toolkit/torbutton/moz.build
- 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/README
- + tools/base-browser/l10n/combine/tests/__init__.py
- + tools/base-browser/l10n/combine/tests/test_android.py
- + tools/base-browser/l10n/combine/tests/test_dtd.py
- + tools/base-browser/l10n/combine/tests/test_fluent.py
- + tools/base-browser/l10n/combine/tests/test_properties.py
- + tools/base-browser/tb-dev
- + tools/geckoview/.gitignore
- + tools/geckoview/Makefile
- + tools/geckoview/android-env-linux-template.sh
- + tools/geckoview/android-env-macos-template.sh
- + tools/geckoview/build-fenix.sh
- + tools/geckoview/build-geckoview.sh
- + tools/geckoview/clobber.sh
- + tools/geckoview/config.sh
- + tools/geckoview/jslint.sh
- tools/lint/fluent-lint/exclusions.yml
- + tools/torbrowser/Makefile
- + tools/torbrowser/browser-self-sign-macos.sh
- + tools/torbrowser/build.sh
- + tools/torbrowser/clobber.sh
- + tools/torbrowser/config.sh
- + tools/torbrowser/deploy.sh
- + tools/torbrowser/fetch.sh
- + tools/torbrowser/generate-bugzilla-triage-csv.sh
- + tools/torbrowser/generate_tor_loading_png.py
- + tools/torbrowser/ide.sh
- + tools/torbrowser/jslint.sh
- + tools/torbrowser/l10n/migrate.py
- + tools/torbrowser/l10n/migrations/__init__.py
- + tools/torbrowser/l10n/migrations/bug-41333-new-about-tor.py
- + tools/torbrowser/l10n/migrations/bug-41622-neterror.py
- + tools/torbrowser/l10n/migrations/bug-41820-moz-message-bar-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42202-crypto-safety.py
- + tools/torbrowser/l10n/migrations/bug-42203-about-dialog.py
- + tools/torbrowser/l10n/migrations/bug-42206-rulesets.py
- + tools/torbrowser/l10n/migrations/bug-42207-settings.py
- + tools/torbrowser/l10n/migrations/bug-42209-tor-circuit.py
- + tools/torbrowser/l10n/migrations/bug-42210-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42211-new-identity.py
- + tools/torbrowser/l10n/migrations/bug-42212-onion-services.py
- + tools/torbrowser/l10n/migrations/bug-42214-security-level.py
- + tools/torbrowser/l10n/migrations/bug-43531-bridge-dialog-buttons.py
- + tools/torbrowser/prepare-tests.sh
- + tools/torbrowser/update_emojis.py
- tools/update-packaging/common.sh
- tools/update-packaging/make_full_update.sh
- tools/update-packaging/make_incremental_update.sh
- uriloader/base/nsDocLoader.cpp
- uriloader/base/nsURILoader.cpp
- uriloader/exthandler/nsExternalHelperAppService.cpp
- widget/ScrollbarDrawingWin.cpp
- widget/ScrollbarDrawingWin11.cpp
- widget/android/WebExecutorSupport.cpp
- widget/android/nsClipboard.cpp
- widget/cocoa/nsChildView.mm
- widget/gtk/MPRISServiceHandler.cpp
- widget/gtk/WidgetUtilsGtk.cpp
- widget/gtk/nsWindow.cpp
- widget/windows/WinTaskbar.cpp
- widget/windows/nsDataObj.cpp
- widget/windows/nsFilePicker.cpp
- xpcom/base/ErrorList.py
- xpcom/ds/StaticAtoms.py
- xpcom/io/CocoaFileUtils.mm
- xpcom/io/nsAppFileLocationProvider.cpp
- xpfe/appshell/AppWindow.cpp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/893837…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/893837…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-115.25.0esr-13.5-1] 242 commits: Bug 1644383 - add mutexs to avoid data race. r=media-playback-reviewers,padenot
by ma1 (@ma1) 23 Jun '25
by ma1 (@ma1) 23 Jun '25
23 Jun '25
ma1 pushed to branch tor-browser-115.25.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
1f9dba9a by alwu at 2025-06-22T14:41:28+02:00
Bug 1644383 - add mutexs to avoid data race. r=media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D206943
- - - - -
7d490aa1 by Edgar Chen at 2025-06-22T14:41:34+02:00
Bug 1743329 - Handle ESC key to release pointer lock in parent process; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D211621
- - - - -
3acace1b by Edgar Chen at 2025-06-22T14:41:36+02:00
Bug 1743329 - Release pointer lock when xul popup is open; r=smaug,pbz
Differential Revision: https://phabricator.services.mozilla.com/D211620
- - - - -
4f932604 by Edgar Chen at 2025-06-22T14:41:37+02:00
Bug 1743329 - Use nsMenuPopupFrame in GetVisiblePopups(); r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D211619
A further change was needed in nsCaret.cpp, see
https://gitlab.torproject.org/tpo/applications/tor-browser/-/merge_requests…
- - - - -
a5fb88bb by Otto Länd at 2025-06-22T14:41:38+02:00
Bug 1743329: apply code formatting via Lando
# ignore-this-changeset
- - - - -
4f1a266b by Anna Weine at 2025-06-22T14:41:40+02:00
Bug 1760806 - WebCrypto: ECDH and ECDSA JWK import to check that the crv in params and crv in alg are the same r=keeler
https://treeherder.mozilla.org/jobs?repo=try&revision=ed7936b105dea8e588650…
Differential Revision: https://phabricator.services.mozilla.com/D217273
- - - - -
c48ef73a by Pier Angelo Vendrame at 2025-06-22T14:41:41+02:00
Bug 1787790: Normalize system fonts with RFP on. r=emilio
System fonts can leak any user customization of system fonts, or user's
locale (e.g., en-US and ja Windows have different system fonts).
Also, Linux distributions/desktop environments set default fonts in
different ways.
Customization can be detected either with font metrics, the font allowed
list is not enabled or the font is included in it, or with
getComputedStyle, that leaks the name of the font that Firefox tries to
apply.
This patch try to prevent these leaks by using a generic "sans-serif"
for all system fonts, except on macOS, where it uses "-apple-system",
and on Android, where these fonts always use Roboto.
Differential Revision: https://phabricator.services.mozilla.com/D163576
- - - - -
f0792324 by Eitan Isaacson at 2025-06-22T14:41:42+02:00
Bug 1819160 - Map Android ids to doc/accessible id pairs. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D179737
- - - - -
619f3145 by Fatih at 2025-06-22T14:41:44+02:00
Bug 1830629: Remove unnecessary checks for pdf.js for RFP. r=tjr
resource:// is exempt from RFP, so we no longer need to check pdf.js specifically.
Differential Revision: https://phabricator.services.mozilla.com/D209359
- - - - -
7b514f31 by Pier Angelo Vendrame at 2025-06-22T14:41:45+02:00
Bug 1832523 - Allow using NSS to sign and verify MAR signatures. r=application-update-reviewers,glandium,bytesized
Allow using NSS for checking MAR signatures also in platforms where
OS-native APIs are used by default, i.e., macOS and Windows.
Differential Revision: https://phabricator.services.mozilla.com/D177743
- - - - -
2cf10629 by Pier Angelo Vendrame at 2025-06-22T14:41:46+02:00
Bug 1849129: Prevent exceptions caused by extensions from interrupting the SearchService initialization. r=search-reviewers,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D186456
- - - - -
47b024ab by Emilio Cobos Álvarez at 2025-06-22T14:41:48+02:00
Bug 1853731 - Use html:img for message-bar-icon. r=Gijs,dao,settings-reviewers,desktop-theme-reviewers,sfoster
Differential Revision: https://phabricator.services.mozilla.com/D188521
- - - - -
70963328 by Pier Angelo Vendrame at 2025-06-22T14:41:49+02:00
Bug 1854117 - Sort the DLL blocklist flags. r=mossop,win-reviewers,gstoll
Differential Revision: https://phabricator.services.mozilla.com/D188716
- - - - -
dd7c1fc1 by Eden Chuang at 2025-06-22T14:41:50+02:00
Bug 1738426 - Ignoring status 206 and vary header checking for opaque response in Cache API. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D186431
- - - - -
7f98f687 by edgul at 2025-06-22T14:41:52+02:00
Bug 1802057 - Block the following characters from use in the cookie name in the cookie string: 0x3B (semi-colon), 0x3D (equals), and 0x7F (del) r=dveditz,cookie-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D182373
- - - - -
afb38071 by Kelsey Gilbert at 2025-06-22T14:41:53+02:00
Bug 1819497 - Don't race on static bool for initialization. r=gfx-reviewers,aosmond
We could do non-racy static init here (e.g. with a static initializer
self-calling-closure), but there doesn't seem to be a strong reason for
this. Let's just use a switch and get robustness from -Werror=switch.
Differential Revision: https://phabricator.services.mozilla.com/D188054
- - - - -
bb609a81 by Edgar Chen at 2025-06-22T14:41:54+02:00
Bug 1828259 - Close XUL popup when entering/exiting fullscreen; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D209355
- - - - -
f4011f60 by hackademix at 2025-06-22T14:41:56+02:00
Bug 1835987 - Change RFP-spoofed TZ to Atlantic/Reykjavik. r=tjr
Atlantic/Reykjavik stays on UTC during all the year, but it is less
likely to be blocked than plan UTC.
Differential Revision: https://phabricator.services.mozilla.com/D212131
- - - - -
a022eff4 by edgul at 2025-06-22T14:41:57+02:00
Bug 1879952 - Fix test expectations with samesite=lax turned on r=tschuster
Differential Revision: https://phabricator.services.mozilla.com/D201639
- - - - -
e3605b67 by Gijs Kruitbosch at 2025-06-22T14:41:58+02:00
Bug 1842187 a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D223948
Differential Revision: https://phabricator.services.mozilla.com/D228631
- - - - -
6c36cc26 by edgul at 2025-06-22T14:42:00+02:00
Bug 1844827 - Added checks for sub-document navigations from cross-site to same-site in third-party checks when setting a cookie. r=cookie-reviewers,valentin,bvandersloot a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D204074
- - - - -
354b0f3c by Ed at 2025-06-22T14:42:01+02:00
Bug 1844827 - Update the cookie test expectations for iframe samesite r=cookie-reviewers,valentin a=RyanVM
Depends on D199770
Differential Revision: https://phabricator.services.mozilla.com/D199772
- - - - -
33110ede by Mark Banner at 2025-06-22T14:42:02+02:00
Bug 1845752. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D186676
- - - - -
18e3fb61 by Pier Angelo Vendrame at 2025-06-22T14:42:04+02:00
Bug 1849186 - Add a preference not to expose the content title in the window title. r=Gijs,tabbrowser-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D190496
- - - - -
91f87f7f by Bob Owen at 2025-06-22T14:42:05+02:00
Bug 1850072: Initialize RecordedDrawTargetCreation::mHasExistingData. r=jrmuizel
This also specializes ElementStreamFormat for bool.
Differential Revision: https://phabricator.services.mozilla.com/D187794
- - - - -
186cd431 by Malte Juergens at 2025-06-22T14:42:06+02:00
Bug 1850200 - Add delay to HTTPS-Only "Continue to HTTPS Site" button r=freddyb
Differential Revision: https://phabricator.services.mozilla.com/D187887
- - - - -
d9c100f4 by Henry Wilkes at 2025-06-22T14:42:07+02:00
Bug 1851618 - Allow removing packaged locales from requestedLocales. r=settings-reviewers,eemeli,Gijs
We open up the UI to allow the user to remove locales from their
requestedLocales list, except for the default locale.
Differential Revision: https://phabricator.services.mozilla.com/D209930
- - - - -
44544921 by Andreas Pehrson at 2025-06-22T14:42:09+02:00
Bug 1851803 - Introduce SourceMediaTrack::mDirectDisabledMode. r=karlt
Similar to MediaTrack::mDisabledMode, but this is for uses on the
SourceMediaTrack producer thread. It is still signaled via a control message
from the control thread to maintain order of operations, and is protected by the
SourceMediaTrack mutex.
Differential Revision: https://phabricator.services.mozilla.com/D187554
- - - - -
6ef94318 by Pier Angelo Vendrame at 2025-06-22T14:42:10+02:00
Bug 1860020 - Remove the assertion on the value of toolkit.telemetry.enabled. r=KrisWright,chutten
Bug 1444275 introduced an assertion on the parent process to check that
the value of toolkit.telemetry.enabled is the expected one.
However, this expected value could be different from the one set and
locked e.g. in some forks. Therefore, the assertion prevented debug
builds from working in these cases.
Differential Revision: https://phabricator.services.mozilla.com/D195080
- - - - -
0ada2a23 by Kagami Sascha Rosylight at 2025-06-22T14:42:11+02:00
Bug 1865238 - Use One UI Sans KR VF for Korean sans-serif font on Android r=jfkthame
Per /etc/fonts.xml, there are now only two `<family lang="ko">` nodes there:
* OneUISansKRVF series
* SECCJK series (but no KR postfix anymore?)
This patch uses One UI Sans KR VF as the replacement as this is newer and is a variable font (tested with https://codepen.io/SaschaNaz/pen/ExrdYXJ)
Differential Revision: https://phabricator.services.mozilla.com/D195078
- - - - -
685e67eb by Nuohan Li at 2025-06-22T14:42:13+02:00
Bug 1871109 - generateHash in Manifest.sys.mjs should use sha256 r=peterv, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D204928
- - - - -
697847df by Tom Ritter at 2025-06-22T14:42:14+02:00
Bug 1873526: Refactor the restriction override list from a big if statement to a list r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D198081
- - - - -
ae416d99 by Nika Layzell at 2025-06-22T14:42:15+02:00
Bug 1875248 - Check for network error preventing ExternalHelperAppService before DONT_RETARGET, r=smaug
This reverts the change from 30cde47f9364e5c7da78fd08fa8ab21737d22399,
and instead re-orders the NS_ERROR_FILE_NOT_FOUND check before
DONT_RETARGET.
Testing suggests that a-download-click-404.html behaviour isn't
impacted, and this improves the handling of this edge-case when doing
process switching.
Differential Revision: https://phabricator.services.mozilla.com/D202007
- - - - -
b098888d by Pier Angelo Vendrame at 2025-06-22T14:42:17+02:00
Bug 1875306 - Localize numbers in the underflow and overflow error messages. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D198965
- - - - -
5acd56a2 by Pier Angelo Vendrame at 2025-06-22T14:42:18+02:00
Bug 1875313 - Use en-US as a fallback when spoof English is enabled in ICUUtils. r=timhuang,tjr
Differential Revision: https://phabricator.services.mozilla.com/D198967
- - - - -
541e104e by Julian Descottes at 2025-06-22T14:42:19+02:00
Bug 1880374 - Disable DNS prefetching if document nodePrincipal is systemPrincipal r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D210830
- - - - -
70eba4f7 by Pier Angelo Vendrame at 2025-06-22T14:42:21+02:00
Bug 1880988 - Apply spoof English to the default detail summary. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D202203
- - - - -
f8607946 by Nika Layzell at 2025-06-22T14:42:22+02:00
Bug 1881037 - Part 1: Stop showing unknown protocol error pages for web-triggered loads, r=smaug,necko-reviewers,kershaw, a=dsmith
Differential Revision: https://phabricator.services.mozilla.com/D217495
- - - - -
2930b2a4 by Edgar Chen at 2025-06-22T14:42:23+02:00
Bug 1883396 - Exit fullscreen when two Escape keyup events occur in a short time; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D209667
- - - - -
86badfd8 by Fatih at 2025-06-22T14:42:24+02:00
Bug 1885101: Match screen and window properties with top window for ScreenRect, ScreenAvailRect and WindowOuterSize. r=timhuang,emilio
This patch removes test_iframe.html. We remove it because the newly introduced test covers the tests done in that test. The reason for removing it in the first place is now that screen properties are inherited/spoofed xorigin, we get a 4px difference. The reasosn for 4px difference is the test runner runs tests in an iframe with a 2px border on each side.
Differential Revision: https://phabricator.services.mozilla.com/D215509
- - - - -
4acc01c9 by Tom Ritter at 2025-06-22T14:42:26+02:00
Bug 1885258: Hidden fonts should obey the allow list r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D204571
- - - - -
c4bb79de by Andreas Farre at 2025-06-22T14:42:27+02:00
Bug 1886222 - Start reload by calling reload in the parent. r=Gijs,canadahonk,smaug, a=dsmith (esr128->esr115 backport)
Differential Revision: https://phabricator.services.mozilla.com/D211519
- - - - -
09218398 by Jonathan Kew at 2025-06-22T14:42:28+02:00
Bug 1886598 - Struct with Pointer member may not be memmove-able. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D206633
- - - - -
d8344345 by Jonathan Kew at 2025-06-22T14:42:30+02:00
Bug 1890204 - Ensure font entry's unitsPerEm and font extents are initialized when gfxFont is created. r=gfx-reviewers,lsalzman
This means that by the time we potentially call GetFontExtents() when drawing,
the extents fields are guaranteed to have been been initialized, and there's no
risk of the (read-only) access here racing with setting them in UnitsPerEm().
Differential Revision: https://phabricator.services.mozilla.com/D206920
- - - - -
7aa29362 by Kershaw Chang at 2025-06-22T14:42:31+02:00
Bug 1892449 - Set network.http.digest_auth_cnonce_length to 16, a=dmeehan
Apparently, setting this value to 64 breaks some sites. We should use the same length as Chrome.
Original Revision: https://phabricator.services.mozilla.com/D208103
Differential Revision: https://phabricator.services.mozilla.com/D208119
- - - - -
738a5bdc by cypherpunks1 at 2025-06-22T14:42:32+02:00
Bug 1892052 - Do not persist custom network requests on PBM. r=devtools-reviewers,bomsy,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D207762
- - - - -
bd3fdbee by Jonathan Kew at 2025-06-22T14:42:34+02:00
Bug 1893891 - Clear mSharedBlobData if blob creation failed. a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D208983
Differential Revision: https://phabricator.services.mozilla.com/D209209
- - - - -
1eca86bd by cypherpunks1 at 2025-06-22T14:42:35+02:00
Bug 1892046 - Add origin attributes to about:reader requests. r=reader-mode-reviewers,cmkm
Differential Revision: https://phabricator.services.mozilla.com/D207759
- - - - -
9c2a0746 by Timothy Nikkel at 2025-06-22T14:42:36+02:00
Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load context, use the private browsing field from it's origin attributes. r=necko-reviewers,anti-tracking-reviewers,valentin
If the channel is not a nsIPrivateBrowsingChannel, and it also has no load context (eg inside svg images) then we will over write a non-zero mPrivateBrowsingId on the OriginAttributes of the channel with 0, making NS_UsePrivateBrowsing return false for the channel.
Differential Revision: https://phabricator.services.mozilla.com/D212083
- - - - -
a0f52850 by Jan de Mooij at 2025-06-22T14:42:38+02:00
Bug 1900523 - Don't use bailout data for JSJitToWasm frames. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D212554
- - - - -
289c5d94 by Jan de Mooij at 2025-06-22T14:42:39+02:00
Bug 1902983 - Don't use bailout data after iterating Wasm frames. a=RyanVM
This is similar to bug 1900523, but the fix there was incomplete because the
`JSJitToWasm` frame type is only used when we go through the Wasm JIT entry
trampoline. Ion can also call Wasm functions directly and in that case the type
will be `FrameType::Exit`.
Original Revision: https://phabricator.services.mozilla.com/D214098
Differential Revision: https://phabricator.services.mozilla.com/D214375
- - - - -
3bdd25cc by Jon Coppeard at 2025-06-22T14:42:40+02:00
Bug 1904011 - Ignore finalized scripts when iterating code covarage tables r=iain
Differential Revision: https://phabricator.services.mozilla.com/D214799
- - - - -
899ed1bd by Kershaw Chang at 2025-06-22T14:42:41+02:00
Bug 1907726 - Make sure WebTransportSessionProxy::NotifyDatagramReceived is called after OnStopRequest, a=RyanVM
The crash occurs because WebTransportSessionProxy::OnDatagramReceivedInternal is called before WebTransportSessionProxy::OnStopRequest.
When this happens, WebTransportSessionProxy::mTarget is the main thread, so a task is dispatched to the main thread. This causes WebTransportSessionProxy::NotifyDatagramReceived to be called on the main thread.
If WebTransportSessionProxy::NotifyDatagramReceived is invoked while WebTransportSessionProxy::mStopRequestCalled is true, it can lead to OnDatagramReceived being called on the main thread (instead of the socket thread), resulting in a crash.
Original Revision: https://phabricator.services.mozilla.com/D220013
Differential Revision: https://phabricator.services.mozilla.com/D221661
- - - - -
7cdb3cea by Sam Foster at 2025-06-22T14:42:43+02:00
Bug 1909099 - Always clean up old session restore and sync log files. r=markh,sessionstore-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D217520
- - - - -
f27a2159 by Edgar Chen at 2025-06-22T14:42:44+02:00
Bug 1909535 - Don't show select dropdown in background tabs; a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D225706
Differential Revision: https://phabricator.services.mozilla.com/D227607
- - - - -
f9e3bcce by Nika Layzell at 2025-06-22T14:42:45+02:00
Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8
Previously these checks were largely diagnostic tools for finding bugs
in other code as it evolves. This unifies the checks a bit more and
makes them stronger for BrowsingContexts created over IPC, providing a
place for more coherency checks to be added in the future.
Differential Revision: https://phabricator.services.mozilla.com/D218860
- - - - -
ec1e0414 by Steve Fink at 2025-06-22T14:42:47+02:00
Bug 1912471 - Disallow deserializing structured clone buffers with transferables more than once r=iain, a=dsmith
Differential Revision: https://phabricator.services.mozilla.com/D220644
- - - - -
38a374b8 by Emilio Cobos Álvarez at 2025-06-22T14:42:48+02:00
Bug 1914106 - Deal with insertRule edge-case. r=jwatt a=RyanVM
When there's trailing garbage after an @import rule we throw, but we
still trigger the load (that's not great but not trivial to change).
Deal with that case before calling ImportRuleLoaded().
Differential Revision: https://phabricator.services.mozilla.com/D219783
- - - - -
0f66a6dd by André Bargull at 2025-06-22T14:42:49+02:00
Bug 1915249: Add more nodiscard. a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D220311
Differential Revision: https://phabricator.services.mozilla.com/D221663
- - - - -
083c91b1 by Emma Zuehlcke at 2025-06-22T14:42:51+02:00
Bug 1916659, a=diannaS
Original Revision: https://phabricator.services.mozilla.com/D222629
Differential Revision: https://phabricator.services.mozilla.com/D222934
- - - - -
6c1460fd by Randell Jesup at 2025-06-22T14:42:52+02:00
Bug 1829029: clean up memory reporting for CacheFileIOManager r=necko-reviewers,valentin, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D221350
- - - - -
9aafcb1b by Valentin Gosu at 2025-06-22T14:42:53+02:00
Bug 1914521 - Make nsPartChannel inherit the content disposition of the multipart response a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D223728
Differential Revision: https://phabricator.services.mozilla.com/D224288
- - - - -
c35e736f by Andrew McCreight at 2025-06-22T14:42:55+02:00
Bug 1919809 - Always clear mArgumentStorage in Console's Unlink. a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D222803
Differential Revision: https://phabricator.services.mozilla.com/D224384
- - - - -
9378c7f5 by Emma Zuehlcke at 2025-06-22T14:42:56+02:00
Bug 1920423, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D224349
- - - - -
f807c12d by Marco Bonardo at 2025-06-22T14:42:57+02:00
Bug 1921458. a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D226775
Differential Revision: https://phabricator.services.mozilla.com/D227221
- - - - -
89a831fa by Andrew McCreight at 2025-06-22T14:42:58+02:00
Bug 1923706 - Pass by value, not reference in CamerasChild::AllocateCapture. a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D225121
Differential Revision: https://phabricator.services.mozilla.com/D225363
- - - - -
ae599615 by Kagami Sascha Rosylight at 2025-06-22T14:43:00+02:00
Bug 1924154 - Disallow too small record a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D225687
Differential Revision: https://phabricator.services.mozilla.com/D226147
- - - - -
1ac984f5 by Kershaw Chang at 2025-06-22T14:43:01+02:00
Bug 1932783 - Make nsHostKey::flags Atomic, a=RyanVM
- - - - -
648d4278 by Dana Keeler at 2025-06-22T14:43:02+02:00
Bug 1940804 - avoid some "as" casts in cert_storage a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D233775
Differential Revision: https://phabricator.services.mozilla.com/D233880
- - - - -
85a181a7 by Emma Zuehlcke at 2025-06-22T14:43:04+02:00
Bug 1866661 - Tests, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D237737
- - - - -
15520a18 by Rob Wu at 2025-06-22T14:43:05+02:00
Bug 1939087 - Truncate long name and log warning a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D233025
Differential Revision: https://phabricator.services.mozilla.com/D236900
- - - - -
c7738387 by Tom Schuster at 2025-06-22T14:43:06+02:00
Bug 1942022 - Improve the about:protections CSP. r=firefox-desktop-core-reviewers ,mossop
Differential Revision: https://phabricator.services.mozilla.com/D234507
- - - - -
77511abb by Tom Schuster at 2025-06-22T14:43:08+02:00
Bug 1942025 - Improve the about:privatebrowsing CSP. r=firefox-desktop-core-reviewers ,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D234508
- - - - -
5eebb825 by Nazım Can Altınova at 2025-06-22T14:43:09+02:00
Bug 1943912 - Do not reset the chunk manager while shutdown a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D235642
Differential Revision: https://phabricator.services.mozilla.com/D237219
- - - - -
48b947c9 by Ray Kraesig at 2025-06-22T14:43:10+02:00
Bug 1950056 - extend use of FOS_NODEREFERENCELINKS r=Gijs,win-reviewers,gstoll
In the modern era of user-customizable Quick Access sidebars on every
file dialog, navigating via `.lnk` files is rather less useful than it
was twenty years ago.
Disable link-following in file-open dialogs by default, to prevent any
of the usual security issues involving symlink smuggling. Allow
overriding this behavior via a pref, for users who don't care.
(File-save dialogs have a more nuanced guard against that sort of thing;
this patch doesn't affect that.)
Differential Revision: https://phabricator.services.mozilla.com/D239833
- - - - -
e7cdfda1 by Hubert Boma Manilla at 2025-06-22T14:43:11+02:00
Bug 1956698 - [devtools] Escape the method value r=devtools-reviewers,nchevobbe, a=dsmith
Differential Revision: https://phabricator.services.mozilla.com/D243799
- - - - -
4577a0eb by smayya at 2025-06-22T15:49:04+02:00
Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D219041
- - - - -
73676137 by Oskar Mansfeld at 2025-06-22T15:49:05+02:00
Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Note: removed glean references on Tor Browser esr115 backport
Differential Revision: https://phabricator.services.mozilla.com/D239514
- - - - -
81725fe2 by Daniel Holbert at 2025-06-22T15:49:07+02:00
Bug 1742738 part 1: Tighten up tearoff-table removal for DOMSVGPointList and DOMSVGStringList. r=firefox-svg-reviewers,longsonr
Differential Revision: https://phabricator.services.mozilla.com/D246062
- - - - -
58380458 by Daniel Holbert at 2025-06-22T15:49:08+02:00
Bug 1742738 part 2: Tighten up tearoff-table removal for DOMSVGLength. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246063
- - - - -
5c90424a by Daniel Holbert at 2025-06-22T15:49:09+02:00
Bug 1742738 part 3: Tighten up tearoff-table removal for DOMSVGPoint. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246065
- - - - -
7dd2ff52 by Jonathan Kew at 2025-06-22T15:49:11+02:00
Bug 1958121 - Use exchange to update the SpaceFeatures flags. a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D245913
Differential Revision: https://phabricator.services.mozilla.com/D247887
- - - - -
031484bb by Gijs Kruitbosch at 2025-06-22T15:49:12+02:00
Bug 1959298 - use search params in about:memory, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D245049
- - - - -
d7f91591 by Henry Wilkes at 2025-06-22T15:49:13+02:00
Bug 41454: Move focus after calling openPreferences for a sub-category.
Temporary fix until mozilla bug 1799153 gets a patch upstream.
- - - - -
82c54ebe by hackademix at 2025-06-22T15:49:15+02:00
Bug 42194: Fix blank net error page on failed DNS resolution with active proxy.
- - - - -
f6f73bb5 by Henry Wilkes at 2025-06-22T15:49:16+02:00
Bug 41483: Remove the firefox override for appstrings.properties
Remove this patch after upstream bugzilla bug 1790187
- - - - -
f3f46d93 by Marco Simonelli at 2025-06-22T15:49:17+02:00
Bug 41459: WebRTC fails to build under mingw (Part 1)
- properly define NOMINMAX for just MSVC builds
- - - - -
751b4b50 by Marco Simonelli at 2025-06-22T15:49:19+02:00
Bug 41459: WebRTC fails to build under mingw (Part 2)
- fixes required to build third_party/libwebrtc
- - - - -
0368f848 by Marco Simonelli at 2025-06-22T15:49:20+02:00
Bug 41459: WebRTC fails to build under mingw (Part 3)
- fixes required to build third_party/sipcc
- - - - -
9fbdb71c by Marco Simonelli at 2025-06-22T15:49:22+02:00
Bug 41459: WebRTC fails to build under mingw (Part 4)
- fixes requried to build netwerk/sctp
- - - - -
f2470db1 by Marco Simonelli at 2025-06-22T15:49:23+02:00
Bug 41459: WebRTC fails to build under mingw (Part 5)
- fixes required to build dom/media/webrtc
- - - - -
7ef3189e by Marco Simonelli at 2025-06-22T15:49:24+02:00
Bug 41459: WebRTC fails to build under mingw (Part 6)
- fixes required to build dom/media/systemservices
- - - - -
5aeff524 by hackademix at 2025-06-22T15:49:26+02:00
Bug 41854: Allow overriding download spam protection.
- - - - -
a17b6b11 by hackademix at 2025-06-22T15:49:27+02:00
Bug 42835: Create an actor to filter file data transfers
- - - - -
8f70a8ac by Gaba at 2025-06-22T15:49:28+02:00
Adding issue and merge request templates
- - - - -
ae5d277c by Pier Angelo Vendrame at 2025-06-22T15:49:30+02: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
- - - - -
6f2e42ca by Pier Angelo Vendrame at 2025-06-22T15:49:31+02: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.
- - - - -
8d02b7ab by Pier Angelo Vendrame at 2025-06-22T15:49:33+02:00
Bug 41108: Remove privileged macOS installation from 102
- - - - -
7cd22c46 by Dan Ballard at 2025-06-22T15:49:34+02:00
Bug 41149: Re-enable DLL injection protection in all builds not just nightlies
- - - - -
102ba896 by Matthew Finkel at 2025-06-22T15:49:35+02:00
Bug 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.
- - - - -
7ce56724 by Matthew Finkel at 2025-06-22T15:49:37+02:00
Bug 28125: Prevent non-Necko network connections
- - - - -
6f962dfc by Mike Perry at 2025-06-22T15:49:38+02:00
Bug 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
- - - - -
f37b4ef1 by Alex Catarineu at 2025-06-22T15:49:39+02:00
Bug 40166: Disable security.certerrors.mitm.auto_enable_enterprise_roots
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1768899
- - - - -
043d66f6 by Georg Koppen at 2025-06-22T15:49:41+02:00
Bug 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.
- - - - -
db569931 by Kathy Brade at 2025-06-22T15:49:42+02:00
Bug 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
- - - - -
162d610f by Kathy Brade at 2025-06-22T15:49:44+02:00
Bug 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.
- - - - -
0569461f by Alex Catarineu at 2025-06-22T15:49:45+02:00
Bug 41457: Remove Mozilla permissions
Bug 40025: Remove Mozilla add-on install permissions
- - - - -
909f483e by Kathy Brade at 2025-06-22T15:49:47+02:00
Bug 40002: Remove about:ion
Firefox Ion (previously Firefox Pioneer) is an opt-in program in which people
volunteer to participate in studies that collect detailed, sensitive data about
how they use their browser.
Bug 41662: Disable about:sync-logs
Even though we disable sync by default with
`identity.fxaccounts.enabled`, this about: page is still avilable.
We could throw an exception on the constructor of the related
component, but it would result only in an error in the console, without
a visible "this address does not look right" error page.
If we fix the issues with MOZ_SERVICES_SYNC, we can restore the
component.
- - - - -
59194835 by Arthur Edelstein at 2025-06-22T15:49:48+02:00
Bug 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.
- - - - -
1c89bccf by Alex Catarineu at 2025-06-22T15:49:49+02:00
Bug 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.
- - - - -
5fb2b2a3 by cypherpunks1 at 2025-06-22T15:49:51+02:00
Bug 41092: Add a RemoteSettings JSON dump for query-stripping
- - - - -
812f63b7 by Pier Angelo Vendrame at 2025-06-22T15:49:52+02:00
Bug 41635: Disable the Normandy component
Do not include Normandy at all whenever MOZ_NORMANDY is False.
- - - - -
e6a608df by Georg Koppen at 2025-06-22T15:49:53+02:00
Bug 30541: Disable WebGL readPixel() for web content
Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034
- - - - -
7d5d1e02 by Alex Catarineu at 2025-06-22T15:49:55+02:00
Bug 28369: Stop shipping pingsender executable
- - - - -
66b75d0b by cypherpunks1 at 2025-06-22T15:49:56+02:00
Bug 41568: Disable LaterRun
- - - - -
7f5f4230 by cypherpunks1 at 2025-06-22T15:49:58+02:00
Bug 40717: Hide Windows SSO in settings
- - - - -
a845ac53 by Pier Angelo Vendrame at 2025-06-22T15:49:59+02:00
Bug 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
- - - - -
90b5b03d by Richard Pospesel at 2025-06-22T15:50:00+02:00
Bug 41327: Disable UrlbarProviderInterventions
- - - - -
2b54867b by Richard Pospesel at 2025-06-22T15:50:02+02:00
Bug 42037: Disable about:firefoxview page
- - - - -
6172c2bc by Mike Perry at 2025-06-22T15:50:17+02:00
Firefox preference overrides.
This hack directly includes our preference changes in omni.ja.
Bug 18292: Staged updates fail on Windows
Temporarily disable staged updates on Windows.
Bug 18297: Use separate Noto JP,KR,SC,TC fonts
Bug 23404: Add Noto Sans Buginese to the macOS whitelist
Bug 23745: Set dom.indexedDB.enabled = true
Bug 13575: Disable randomised Firefox HTTP cache decay user tests.
(Fernando Fernandez Mancera <ffmancera(a)riseup.net>)
Bug 17252: Enable session identifiers with FPI
Session tickets and session identifiers were isolated
by OriginAttributes, so we can re-enable them by
allowing the default value (true) of
"security.ssl.disable_session_identifiers".
The pref "security.enable_tls_session_tickets" is obsolete
(removed in https://bugzilla.mozilla.org/917049)
Bug 14952: Enable http/2 and AltSvc
In Firefox, SPDY/HTTP2 now uses Origin Attributes for
isolation of connections, push streams, origin frames, etc.
That means we get first-party isolation provided
"privacy.firstparty.isolate" is true. So in this patch, we
stop overriding "network.http.spdy.enabled" and
"network.http.spdy.enabled.http2".
Alternate Services also use Origin Attributes for isolation.
So we stop overriding
"network.http.altsvc.enabled" and "network.http.altsvc.oe"
as well.
(All 4 of the abovementioned "network.http.*" prefs adopt
Firefox 60ESR's default value of true.)
However, we want to disable HTTP/2 push for now, so we
set "network.http.spdy.allow-push" to false.
"network.http.spdy.enabled.http2draft" was removed in Bug 1132357.
"network.http.sped.enabled.v2" was removed in Bug 912550.
"network.http.sped.enabled.v3" was removed in Bug 1097944.
"network.http.sped.enabled.v3-1" was removed in Bug 1248197.
Bug 26114: addons.mozilla.org is not special
* Don't expose navigator.mozAddonManager on any site
* Don't block NoScript from modifying addons.mozilla.org or other sites
Enable ReaderView mode again (#27281).
Bug 29916: Make sure enterprise policies are disabled
Bug 2874: Block Components.interfaces from content
Bug 26146: Spoof HTTP User-Agent header for desktop platforms
In Tor Browser 8.0, the OS was revealed in both the HTTP User-Agent
header and to JavaScript code via navigator.userAgent. To avoid
leaking the OS inside each HTTP request (which many web servers
log), always use the Windows 7 OS value in the desktop User-Agent
header. We continue to allow access to the actual OS via JavaScript,
since doing so improves compatibility with web applications such
as GitHub and Google Docs.
Bug 12885: Windows Jump Lists fail for Tor Browser
Jumplist entries are stored in a binary file in:
%APPDATA%\\Microsoft\Windows\Recent\CustomDestinations\
and has a name in the form
[a-f0-9]+.customDestinations-ms
The hex at the front is unique per app, and is ultimately derived from
something called the 'App User Model ID' (AUMID) via some unknown
hashing method. The AUMID is provided as a key when programmatically
creating, updating, and deleting a jumplist. The default behaviour in
firefox is for the installer to define an AUMID for an app, and save it
in the registry so that the jumplist data can be removed by the
uninstaller.
However, the Tor Browser does not set this (or any other) regkey during
installation, so this codepath fails and the app's AUMID is left
undefined. As a result the app's AUMID ends up being defined by
windows, but unknowable by Tor Browser. This unknown AUMID is used to
create and modify the jumplist, but the delete API requires that we
provide the app's AUMID explicitly. Since we don't know what the AUMID
is (since the expected regkey where it is normally stored does not
exist) jumplist deletion will fail and we will leave behind a mostly
empty customDestinations-ms file. The name of the file is derived from
the binary path, so an enterprising person could reverse engineer how
that hex name is calculated, and generate the name for Tor Browser's
default Desktop installation path to determine whether a person had
used Tor Browser in the past.
The 'taskbar.grouping.useprofile' option that is enabled by this patch
works around this AUMID problem by having firefox.exe create it's own
AUMID based on the profile path (rather than looking for a regkey). This
way, if a user goes in and enables and disables jumplist entries, the
backing store is properly deleted.
Unfortunately, all windows users currently have this file lurking in
the above mentioned directory and this patch will not remove it since it
was created with an unknown AUMID. However, another patch could be
written which goes to that directory and deletes any item containing the
'Tor Browser' string. See bug 28996.
Bug 30845: Make sure default themes and other internal extensions are enabled
Bug 28896: Enable extensions in private browsing by default
Bug 31065: Explicitly allow proxying localhost
Bug 31598: Enable letterboxing
Disable Presentation API everywhere
Bug 21549 - Use Firefox's WASM default pref. It is disabled at safer
security levels.
Bug 32321: Disable Mozilla's MitM pings
Bug 19890: Disable installation of system addons
By setting the URL to "" we make sure that already installed system
addons get deleted as well.
Bug 22548: Firefox downgrades VP9 videos to VP8.
On systems where H.264 is not available or no HWA, VP9 is preferred. But in Tor
Browser 7.0 all youtube videos are degraded to VP8.
This behaviour can be turned off by setting media.benchmark.vp9.threshold to 0.
All clients will get better experience and lower traffic, beause TBB doesn't
use "Use hardware acceleration when available".
Bug 25741 - TBA: Add mobile-override of 000-tor-browser prefs
Bug 16441: Suppress "Reset Tor Browser" prompt.
Bug 29120: Use the in-memory media cache and increase its maximum size.
Bug 33697: use old search config based on list.json
Bug 33855: Ensure that site-specific browser mode is disabled.
Bug 30682: Disable Intermediate CA Preloading.
Bug 40061: Omit the Windows default browser agent from the build
Bug 40322: Consider disabling network.connectivity-service.enabled
Bug 40408: Disallow SVG Context Paint in all web content
Bug 40308: Disable network partitioning until we evaluate dFPI
Bug 40322: Consider disabling network.connectivity-service.enabled
Bug 40383: Disable dom.enable_event_timing
Bug 40423: Disable http/3
Bug 40177: Update prefs for Fx91esr
Bug 40700: Disable addons and features recommendations
Bug 40682: Disable network.proxy.allow_bypass
Bug 40736: Disable third-party cookies in PBM
Bug 19850: Enabled HTTPS-Only by default
Bug 40912: Hide the screenshot menu
Bug 41292: Disable moreFromMozilla in preferences page
Bug 40057: Ensure the CSS4 system colors are not a fingerprinting vector
Bug 24686: Set network.http.tailing.enabled to true
Bug 40183: Disable TLS ciphersuites using SHA-1
Bug 40783: Review 000-tor-browser.js and 001-base-profile.js for 102
We reviewed all the preferences we set for 102, and remove a few old
ones. See the description of that issue to see all the preferences we
believed were still valid for 102, and some brief description for the
reasons to keep them.
- - - - -
28e783ea by Pier Angelo Vendrame at 2025-06-22T15:50:24+02:00
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).
- - - - -
cfb9fa4d by Pier Angelo Vendrame at 2025-06-22T15:50:32+02:00
Bug 41901: Hardcode normalized FontSubstitutes.
Windows has a system to set font aliases through the registry.
This allows some customization that could be used as a fingerprinting
vector.
Moreover, this mechanism is used by Windows itself, and different SKUs
might have different default FontSubstitutes.
- - - - -
77bbbc9b by Alex Catarineu at 2025-06-22T15:50:39+02:00
Bug 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
- - - - -
c6108995 by Pier Angelo Vendrame at 2025-06-22T15:50:47+02:00
Bug 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.
- - - - -
fc64823d by Alex Catarineu at 2025-06-22T15:50:54+02:00
Bug 40171: Make WebRequest and GeckoWebExecutor First-Party aware
- - - - -
2f4bfd2f by Alex Catarineu at 2025-06-22T15:51:02+02:00
Bug 26345: Hide tracking protection UI
- - - - -
0288f741 by Pier Angelo Vendrame at 2025-06-22T15:51:10+02:00
Bug 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).
- - - - -
675eb3ae by Alex Catarineu at 2025-06-22T15:51:17+02:00
Bug 27604: Fix addon issues when moving the profile directory
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838
- - - - -
2870d033 by Mike Perry at 2025-06-22T15:51:25+02:00
Bug 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
- - - - -
68798da0 by Pier Angelo Vendrame at 2025-06-22T15:51:32+02:00
Bug 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.
- - - - -
307d3f16 by Matthew Finkel at 2025-06-22T15:51:40+02:00
Bug 40432: Prevent probing installed applications
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084
- - - - -
55299daa by cypherpunks1 at 2025-06-22T15:51:47+02:00
Bug 33955: When copying an image only copy the image contents to the clipboard
- - - - -
c7854713 by cypherpunks1 at 2025-06-22T15:51:55+02:00
Bug 41791: Omit the source URL when copying page contents to the clipboard
- - - - -
28aaf20a by hackademix at 2025-06-22T15:52:03+02:00
Bug 42288: Allow language spoofing in status messages.
- - - - -
3b6ddf91 by Richard Pospesel at 2025-06-22T15:52:10+02:00
Bug 41659: Add canonical color definitions to base-browser
- - - - -
db12bb5b by Pier Angelo Vendrame at 2025-06-22T15:52:18+02:00
Base Browser strings
This commit adds all the strings needed by following Base Browser
patches.
- - - - -
5588ca5f by Henry Wilkes at 2025-06-22T22:38:21+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
775aab0f by Henry Wilkes at 2025-06-22T22:38:22+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
5870750d by Pier Angelo Vendrame at 2025-06-22T22:38:24+02:00
Bug 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.
- - - - -
dd9954ab by p13dz at 2025-06-22T22:38:25+02:00
Bug 40283: Workaround for the file upload bug
- - - - -
9c9da936 by Arthur Edelstein at 2025-06-22T22:38:26+02:00
Bug 18905: Hide unwanted items from help menu
Bug 25660: Remove the "New Private Window" option
- - - - -
28b3b0df by Pier Angelo Vendrame at 2025-06-22T22:38:28+02:00
Bug 41739: Remove "Website appearance" from about:preferences.
It is ignored because of RFP and it is confusing for users.
- - - - -
ec061769 by hackademix at 2025-06-22T22:38:29+02:00
Bug 42019: Empty browser's clipboard on browser shutdown
- - - - -
57db662b by hackademix at 2025-06-22T22:38:31+02:00
Bug 42084: Ensure English spoofing works even if preferences are set out of order.
- - - - -
5c60b106 by Pier Angelo Vendrame at 2025-06-22T22:38:32+02:00
Bug 41930: Remove the UI to customize accept_languages.
- - - - -
78f57c00 by Pier Angelo Vendrame at 2025-06-22T22:38:33+02:00
Bug 42376: Pass the locale list when constructing l10n in datetimebox
The datetime input is inconsistent with other inputs when using spoof
English: its placeholder is not translated, unlike the default values
and texts of all the other inputs.
- - - - -
e74bb377 by Pier Angelo Vendrame at 2025-06-22T22:38:35+02:00
Bug 42428: Make RFP spoof the timezone of document.lastModified.
- - - - -
053f2dd1 by Pier Angelo Vendrame at 2025-06-22T22:38:36+02:00
Bug 42472: Spoof timezone in XSLT.
- - - - -
5fbd32b1 by hackademix at 2025-06-22T22:38:37+02:00
Bug 41434: Letterboxing, preemptively apply margins in a global CSS rule to mitigate race conditions on newly created windows and tabs.
- - - - -
28e58794 by hackademix at 2025-06-22T22:38:39+02:00
Bug 41434: Letterboxing, improve logging.
- - - - -
82bdda7b by hackademix at 2025-06-22T22:38:40+02:00
Bug 31064: Letterboxing, exempt browser extensions.
- - - - -
c0bf963c by hackademix at 2025-06-22T22:38:42+02:00
Bug 32411: Letterboxing, exempt view-source: URIs.
- - - - -
d8937171 by hackademix at 2025-06-22T22:38:43+02:00
Bug 42574: Letterboxing, exempt pdf.js.
- - - - -
ab59b59e by hackademix at 2025-06-22T22:38:44+02:00
Bug 32308: Use direct browser sizing for letterboxing.
Bug 30556: align letterboxing with 200x100 new win width stepping
- - - - -
54869001 by hackademix at 2025-06-22T22:38:46+02:00
Bug 41631: Prevent weird initial window dimensions caused by subpixel computations
- - - - -
e126e33e by hackademix at 2025-06-23T00:19:13+02:00
Bug 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
64267be8 by hackademix at 2025-06-23T00:19:18+02:00
Bug 41916: Letterboxing preferences UI
- - - - -
8a1f8896 by hackademix at 2025-06-23T00:19:19+02:00
Bug 41695: Warn on window maximization without letterboxing in RFPHelper module
- - - - -
73b6b739 by hackademix at 2025-06-23T00:19:21+02:00
Bug 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
2ff9b88f by Henry Wilkes at 2025-06-23T00:19:22+02:00
Bug 42528: Don't leak system scrollbar size on windows.
- - - - -
056da421 by Henry Wilkes at 2025-06-23T00:19:23+02:00
Bug 31575: Disable Firefox Home (Activity Stream)
Treat about:blank as the default home page and new tab page.
Avoid loading AboutNewTab in BrowserGlue.sys.mjs in order
to avoid several network requests that we do not need.
Bug 41624: Disable about:pocket-* pages.
Bug 40144: Redirect about:privatebrowsing to the user's home
- - - - -
a62b740a by Kathy Brade at 2025-06-23T00:19:25+02:00
Bug 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.
- - - - -
37cf2123 by Pier Angelo Vendrame at 2025-06-23T00:19:26+02:00
Bug 42061: Create an alpha update channel.
- - - - -
43ea1cc8 by Nicolas Vigier at 2025-06-23T00:19:27+02:00
Bug 41682: Add base-browser nightly mar signing key
- - - - -
c49a309d by Pier Angelo Vendrame at 2025-06-23T00:19:29+02:00
Bug 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/.
- - - - -
292658bb by Pier Angelo Vendrame at 2025-06-23T00:19:30+02:00
Bug 41698: Reword the recommendation badges in about:addons
Firefox strings use { -brand-product-name }.
As a result, it seems that the fork is recommending extensions, whereas
AMO curators are doing that.
So, we replace the strings with custom ones that clarify that Mozilla is
recommending them.
We assign the strings with JS because our translation backend does not
support Fluent attributes, yet, but once it does, we should switch to
them, instead.
Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1825033
- - - - -
eea16b0f by Pier Angelo Vendrame at 2025-06-23T00:19:31+02:00
Bug 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.
- - - - -
9b21c3b4 by Alex Catarineu at 2025-06-23T00:19:33+02:00
Bug 40069: Add helpers for message passing with extensions
- - - - -
87866979 by Henry Wilkes at 2025-06-23T00:19:34+02:00
fixup! Bug 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
5a6bd4dd by Matthew Finkel at 2025-06-23T00:19:35+02:00
Bug 41598: Prevent NoScript from being removed/disabled.
Bug 40253: Explicitly allow NoScript in Private Browsing mode.
- - - - -
d7c4cff6 by Henry Wilkes at 2025-06-23T00:19:37+02:00
Bug 41736: 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).
- - - - -
c0303ea9 by hackademix at 2025-06-23T00:19:38+02:00
Bug 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons
- - - - -
33853c83 by Pier Angelo Vendrame at 2025-06-23T00:19:39+02:00
Bug 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
- - - - -
a1c64233 by Henry Wilkes at 2025-06-23T00:19:41+02:00
fixup! Bug 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
ceb56161 by Henry Wilkes at 2025-06-23T00:19:42+02:00
fixup! Bug 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
d4a9aaee by Pier Angelo Vendrame at 2025-06-23T00:19:43+02:00
Bug 40926: Implemented the New Identity feature
- - - - -
86d2284c by Henry Wilkes at 2025-06-23T00:19:45+02:00
Bug 41736: Customize toolbar for base-browser.
- - - - -
8d48d680 by Pier Angelo Vendrame at 2025-06-23T00:19:46+02:00
Bug 42027: Base Browser migration procedures.
This commit implmenents the the Base Browser's version of _migrateUI.
- - - - -
21a32e0c by Henry Wilkes at 2025-06-23T00:19:48+02:00
Bug 42583: Modify moz-support-link for Base Browser.
- - - - -
3b67efb9 by Henry Wilkes at 2025-06-23T00:19:49+02:00
Bug 42347: Add a notification for dropped OS version support.
- - - - -
f093fc9c by hackademix at 2025-06-23T00:19:50+02:00
Bug 42832: Download spam prevention exemption for browser extensions.
- - - - -
77e05869 by Pier Angelo Vendrame at 2025-06-23T00:19:52+02:00
Bug 42467: Make OS HTTP User-Agent OS spoofing configurable by pref
This commits makes it possible to disable OS spoofing in the HTTP
User-Agent header, to see if matching header and JS property improve
usability.
- - - - -
1646f9af by Henry Wilkes at 2025-06-23T00:19:53+02:00
Bug 42308: Create README for tor-browser.
We drop the README.txt that comes from Mozilla Firefox and add README.md
for tor-browser.
- - - - -
d0784cbb by Richard Pospesel at 2025-06-23T00:19:54+02:00
Bug 41649: Create rebase and security backport gitlab issue templates
- - - - -
56992cd9 by Beatriz Rizental at 2025-06-23T00:19:56+02:00
Add CI for Tor Browser
- - - - -
d0893c2f by Richard Pospesel at 2025-06-23T00:19:57+02:00
Bug 41089: Add tor-browser build scripts + Makefile to tor-browser
- - - - -
345b4d4f by Henry Wilkes at 2025-06-23T00:19:58+02:00
Bug 41803: Add some developer tools for working on tor-browser.
- - - - -
a528b5fd by Kathy Brade at 2025-06-23T00:20:00+02:00
Bug 11641: Disable remoting by default.
Unless the -osint command line flag is used, the browser now defaults
to the equivalent of -no-remote. There is a new -allow-remote flag that
may be used to restore the original (Firefox-like) default behavior.
- - - - -
e22ebc50 by Alex Catarineu at 2025-06-23T00:20:01+02:00
Add TorStrings module for localization
- - - - -
dd0b62ec by Henry Wilkes at 2025-06-23T00:20:02+02:00
Tor Browser strings
This commit adds all the strings needed for Tor Browser patches.
- - - - -
8fa3be34 by Henry Wilkes at 2025-06-23T00:20:04+02:00
Tor Browser localization migration scripts.
- - - - -
bf7e9133 by Henry Wilkes at 2025-06-23T00:20:05+02:00
Bug 42305: Add script to combine translation files across versions.
- - - - -
234559db by Mike Perry at 2025-06-23T00:20:07+02:00
Bug 2176: Rebrand Firefox to TorBrowser
See also Bugs #5194, #7187, #8115, #8219.
This patch does some basic renaming of Firefox to TorBrowser. The rest of the
branding is done by images and icons.
Also fix bug 27905.
Bug 25702: Update Tor Browser icon to follow design guidelines
- Updated all of the branding in /browser/branding/official with new 'stable'
icon series.
- Updated /extensions/onboarding/content/img/tor-watermark.png with new icon and
add the source svg in the same directory
- Copied /browser/branding/official over /browser/branding/nightly and the new
/browser/branding/alpha directories. Replaced content with 'nightly' and
'alpha' icon series.
Updated VisualElements_70.png and VisualElements_150.png with updated icons in
each branding directory (fixes #22654)
- Updated firefox.VisualElementsManfiest.xml with updated colors in each
branding directory
- Added firefox.svg to each branding directory from which all the other icons
are derived (apart from document.icns and document.ico)
- Added default256.png and default512.png icons
- Updated aboutTBUpdate.css to point to branding-aware icon128.png and removed
original icon
- Use the Tor Browser icon within devtools/client/themes/images/.
Bug 30631: Blurry Tor Browser icon on macOS app switcher
It would seem the png2icns tool does not generate correct icns files and
so on macOS the larger icons were missing resulting in blurry icons in
the OS chrome. Regenerated the padded icons in a macOS VM using
iconutil.
Bug 28196: preparations for using torbutton tor-browser-brand.ftl
A small change to Fluent FileSource class is required so that we
can register a new source without its supported locales being
counted as available locales for the browser.
Bug 31803: Replaced about:debugging logo with flat version
Bug 21724: Make Firefox and Tor Browser distinct macOS apps
When macOS opens a document or selects a default browser, it sometimes
uses the CFBundleSignature. Changing from the Firefox MOZB signature to
a different signature TORB allows macOS to distinguish between Firefox
and Tor Browser.
Bug 32092: Fix Tor Browser Support link in preferences
For bug 40562, we moved onionPattern* from bug 27476 to here, as
about:tor needs these files but it is included earlier.
Bug 41278: Create Tor Browser styled pdf logo similar to the vanilla Firefox one
Bug 42088: New application icons (used in-app and on linux).
Bug 42087: New application icons (windows).
- - - - -
18fec4f2 by Henry Wilkes at 2025-06-23T00:20:08+02:00
Bug 42583: Modify moz-support-link for Tor Browser.
- - - - -
18fd17ba by hackademix at 2025-06-23T00:20:10+02:00
Bug 41917: Tor brand-specific styles.
- - - - -
7633490b by Henry Wilkes at 2025-06-23T00:20:11+02:00
Add purple tor version of the loading APNG.
- - - - -
805fc243 by sanketh at 2025-06-23T00:20:24+02:00
Bug 40209: Implement Basic Crypto Safety
Adds a CryptoSafety actor which detects when you've copied a crypto
address from a HTTP webpage and shows a warning.
Closes #40209.
Bug 40428: Fix string attribute names
- - - - -
2c655bbb by Mike Perry at 2025-06-23T00:20:32+02:00
TB3: Tor Browser's official .mozconfigs.
Also:
Add an --enable-tor-browser-data-outside-app-dir configure option
Add --with-tor-browser-version configure option
Bug 31457: disable per-installation profiles
The dedicated profiles (per-installation) feature does not interact
well with our bundled profiles on Linux and Windows, and it also causes
multiple profiles to be created on macOS under TorBrowser-Data.
Bug 31935: Disable profile downgrade protection.
Since Tor Browser does not support more than one profile, disable
the prompt and associated code that offers to create one when a
version downgrade situation is detected.
Add --enable-tor-browser-update build option
Bug 40793: moved Tor configuration options from old-configure.in to moz.configure
Bug 41584: Move some configuration options to base-browser level
- - - - -
dcbc2d3f by Henry Wilkes at 2025-06-23T00:20:39+02:00
Bug 41340: Enable TOR_BROWSER_NIGHTLY_BUILD features for dev and nightly builds
tor-browser#41285: Enable fluent warnings.
- - - - -
d39edb62 by Pier Angelo Vendrame at 2025-06-23T00:20:47+02:00
Bug 40562: Added Tor Browser preferences to 000-tor-browser.js
Before reordering patches, we used to keep the Tor-related patches
(torbutton and tor-launcher) at the beginning.
After that issue, we decided to move them towards the end.
In addition to that, we have decided to move Tor Browser-only
preferences there, too, to make Base Browser-only fixups easier to
apply.
- - - - -
d09e5491 by Pier Angelo Vendrame at 2025-06-23T00:20:54+02:00
Bug 13252: Customize profile management on macOS
On macOS we allow both portable mode and system installation.
However, in the latter case, we customize Firefox's directories to
match the hierarchy we use for the portable mode.
Also, display an informative error message if the TorBrowser-Data
directory cannot be created due to an "access denied" or a
"read only volume" error.
- - - - -
8f95cbcf by Pier Angelo Vendrame at 2025-06-23T00:21:02+02:00
Bug 40933: Add tor-launcher functionality
Bug 41926: Reimplement the control port
- - - - -
640a5fe5 by Cecylia Bocovich at 2025-06-23T00:21:03+02:00
Lox integration
- - - - -
b7b00bd4 by Richard Pospesel at 2025-06-23T00:21:05+02:00
Bug 40597: Implement TorSettings module
- migrated in-page settings read/write implementation from about:preferences#tor
to the TorSettings module
- TorSettings initially loads settings from the tor daemon, and saves them to
firefox prefs
- TorSettings notifies observers when a setting has changed; currently only
QuickStart notification is implemented for parity with previous preference
notify logic in about:torconnect and about:preferences#tor
- about:preferences#tor, and about:torconnect now read and write settings
thorugh the TorSettings module
- all tor settings live in the torbrowser.settings.* preference branch
- removed unused pref modify permission for about:torconnect content page from
AsyncPrefs.jsm
Bug 40645: Migrate Moat APIs to Moat.jsm module
- - - - -
67e0d127 by Arthur Edelstein at 2025-06-23T00:21:06+02:00
Bug 3455: Add DomainIsolator, for isolating circuit by domain.
Add an XPCOM component that registers a ProtocolProxyChannelFilter
which sets the username/password for each web request according to
url bar domain.
Bug 9442: Add New Circuit button
Bug 13766: Set a 10 minute circuit dirty timeout for the catch-all circ.
Bug 19206: Include a 128 bit random tag as part of the domain isolator nonce.
Bug 19206: Clear out the domain isolator state on `New Identity`.
Bug 21201.2: Isolate by firstPartyDomain from OriginAttributes
Bug 21745: Fix handling of catch-all circuit
Bug 41741: Refactor the domain isolator and new circuit
- - - - -
fb2f45e0 by Henry Wilkes at 2025-06-23T00:21:07+02:00
Bug 41600: Add a tor circuit display panel.
- - - - -
baa976fa by Pier Angelo Vendrame at 2025-06-23T00:21:09+02:00
Bug 42247: Android helpers for the TorProvider
GeckoView is missing some API we use on desktop for the integration
with the tor daemon, such as subprocess.
Therefore, we need to implement them in Java and plumb the data
back and forth between JS and Java.
- - - - -
34601ac0 by hackademix at 2025-06-23T00:21:10+02:00
Bug 8324: Prevent DNS proxy bypasses caused by Drag&Drop
Bug 41613: Skip Drang & Drop filtering for DNS-safe URLs
- - - - -
abbf50f0 by Amogh Pradeep at 2025-06-23T00:21:11+02:00
Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
See Bug 1357997 for partial uplift.
Also:
Bug 28051 - Use our Orbot for proxying our connections
Bug 31144 - ESR68 Network Code Review
- - - - -
107c72d0 by Matthew Finkel at 2025-06-23T00:21:13+02:00
Bug 25741: TBA: Disable GeckoNetworkManager
The browser should not need information related to the network
interface or network state, tor should take care of that.
- - - - -
811213c5 by Kathy Brade at 2025-06-23T00:21:14+02:00
Bug 14631: Improve profile access error messages.
Instead of always reporting that the profile is locked, display specific
messages for "access denied" and "read-only file system".
To allow for localization, get profile-related error strings from Torbutton.
Use app display name ("Tor Browser") in profile-related error alerts.
- - - - -
4a8532f0 by Pier Angelo Vendrame at 2025-06-23T00:21:15+02:00
Bug 40807: Added QRCode.js to toolkit/modules
- - - - -
72217a59 by Richard Pospesel at 2025-06-23T00:21:17+02:00
Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
This patch adds a new about:preferences#connection page which allows
modifying bridge, proxy, and firewall settings from within Tor Browser.
All of the functionality present in tor-launcher's Network
Configuration panel is present:
- Setting built-in bridges
- Requesting bridges from BridgeDB via moat
- Using user-provided bridges
- Configuring SOCKS4, SOCKS5, and HTTP/HTTPS proxies
- Setting firewall ports
- Viewing and Copying Tor's logs
- The Networking Settings in General preferences has been removed
Bug 40774: Update about:preferences page to match new UI designs
- - - - -
f3c00583 by Richard Pospesel at 2025-06-23T00:21:18+02:00
Bug 27476: Implement about:torconnect captive portal within Tor Browser
- implements new about:torconnect page as tor-launcher replacement
- adds new torconnect component to browser
- tor process management functionality remains implemented in tor-launcher through the TorProtocolService module
- adds warning/error box to about:preferences#tor when not connected to tor
Bug 40773: Update the about:torconnect frontend page to match additional UI flows.
Bug 41608: Add a toolbar status button and a urlbar "Connect" button.
- - - - -
2ea89735 by Pier Angelo Vendrame at 2025-06-23T00:21:19+02:00
Temporary changes to about:torconnect for Android.
We are planning of tempoorarily using about:torconnect on Android, until
the native UX is ready.
- - - - -
2bc732d0 by Henry Wilkes at 2025-06-23T00:21:21+02:00
Bug 7494: Create local home page for TBB.
Bug 41333: Update about:tor to new design. Including:
+ make the favicon match the branding icon.
+ make the location bar show a search icon.
- - - - -
cc699118 by henry at 2025-06-23T00:21:22+02:00
fixup! TB 7494: Create local home page for TBB.
TB 43556: Rename "Not now" to "Dismiss" in the survey banner.
(cherry picked from commit e063bf8bffcb74cd18d6873d9bdfc85fafbc42b8)
Co-authored-by: Henry Wilkes <henry(a)torproject.org>
- - - - -
6bdf750a by henry at 2025-06-23T00:21:23+02:00
fixup! TB 7494: Create local home page for TBB.
TB 43647: Use the app locale directly from the parent actor for
setting the survey banner's language.
(cherry picked from commit bc19a47cb9a1fe45e7cd9ecbb7b4a25063aa3891)
Co-authored-by: Henry Wilkes <henry(a)torproject.org>
- - - - -
769fe202 by Arthur Edelstein at 2025-06-23T00:21:25+02:00
Bug 12620: TorBrowser regression tests
Regression tests for Bug #2950: Make Permissions Manager memory-only
Regression tests for TB4: Tor Browser's Firefox preference overrides.
Note: many more functional tests could be made here
Regression tests for #2874: Block Components.interfaces from content
Bug 18923: Add a script to run all Tor Browser specific tests
Regression tests for Bug #16441: Suppress "Reset Tor Browser" prompt.
- - - - -
2a14ef8a by Pier Angelo Vendrame at 2025-06-23T00:21:26+02:00
Bug 41668: Tweaks to the Base Browser updater for Tor Browser
This commit was once part of "Bug 4234: Use the Firefox Update Process
for Tor Browser.".
However, some parts of it were not needed for Base Browser and some
derivative browsers.
Therefore, we extracted from that commit the parts for Tor Browser
legacy, and we add them back to the patch set with this commit.
- - - - -
96be4591 by Kathy Brade at 2025-06-23T00:21:27+02:00
Bug 12647: Support symlinks in the updater.
- - - - -
a29bfc45 by Kathy Brade at 2025-06-23T00:21:29+02:00
Bug 16940: After update, load local change notes.
Add an about:tbupdate page that displays the first section from
TorBrowser/Docs/ChangeLog.txt and includes a link to the remote
post-update page (typically our blog entry for the release).
Always load about:tbupdate in a content process, but implement the
code that reads the file system (changelog) in the chrome process
for compatibility with future sandboxing efforts.
Also fix bug 29440. Now about:tbupdate is styled as a fairly simple
changelog page that is designed to be displayed via a link that is on
about:tor.
- - - - -
72589904 by Georg Koppen at 2025-06-23T00:21:30+02:00
Bug 32658: Create a new MAR signing key
It's time for our rotation again: Move the backup key in the front
position and add a new backup key.
Bug 33803: Move our primary nightly MAR signing key to tor-browser
Bug 33803: Add a secondary nightly MAR signing key
- - - - -
28ea3df2 by Mike Perry at 2025-06-23T00:21:32+02:00
Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
eBay and Amazon don't treat Tor users very well. Accounts often get locked and
payments reversed.
Also:
Bug 16322: Update DuckDuckGo search engine
We are replacing the clearnet URL with an onion service one (thanks to a
patch by a cypherpunk) and are removing the duplicated DDG search
engine. Duplicating DDG happend due to bug 1061736 where Mozilla
included DDG itself into Firefox. Interestingly, this caused breaking
the DDG search if JavaScript is disabled as the Mozilla engine, which
gets loaded earlier, does not use the html version of the search page.
Moreover, the Mozilla engine tracked where the users were searching from
by adding a respective parameter to the search query. We got rid of that
feature as well.
Also:
This fixes bug 20809: the DuckDuckGo team has changed its server-side
code in a way that lets users with JavaScript enabled use the default
landing page while those without JavaScript available get redirected
directly to the non-JS page. We adapt the search engine URLs
accordingly.
Also fixes bug 29798 by making sure we only specify the Google search
engine we actually ship an .xml file for.
Also regression tests.
squash! Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
Bug 40494: Update Startpage search provider
squash! Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
Bug 40438: Add Blockchair as a search engine
Bug 33342: Avoid disconnect search addon error after removal.
We removed the addon in #32767, but it was still being loaded
from addonStartup.json.lz4 and throwing an error on startup
because its resource: location is not available anymore.
- - - - -
cc52ede5 by Alex Catarineu at 2025-06-23T00:21:33+02:00
Bug 40073: Disable remote Public Suffix List fetching
In https://bugzilla.mozilla.org/show_bug.cgi?id=1563246 Firefox implemented
fetching the Public Suffix List via RemoteSettings and replacing the default
one at runtime, which we do not want.
- - - - -
36c12969 by Henry Wilkes at 2025-06-23T00:21:34+02:00
Bug 41906: Hide DNS over HTTPS preferences.
- - - - -
b3e11edd by Richard Pospesel at 2025-06-23T00:21:36+02:00
Bug 23247: Communicating security expectations for .onion
Encrypting pages hosted on Onion Services with SSL/TLS is redundant
(in terms of hiding content) as all traffic within the Tor network is
already fully encrypted. Therefore, serving HTTP pages from an Onion
Service is more or less fine.
Prior to this patch, Tor Browser would mostly treat pages delivered
via Onion Services as well as pages delivered in the ordinary fashion
over the internet in the same way. This created some inconsistencies
in behaviour and misinformation presented to the user relating to the
security of pages delivered via Onion Services:
- HTTP Onion Service pages did not have any 'lock' icon indicating
the site was secure
- HTTP Onion Service pages would be marked as unencrypted in the Page
Info screen
- Mixed-mode content restrictions did not apply to HTTP Onion Service
pages embedding Non-Onion HTTP content
This patch fixes the above issues, and also adds several new 'Onion'
icons to the mix to indicate all of the various permutations of Onion
Services hosted HTTP or HTTPS pages with HTTP or HTTPS content.
Strings for Onion Service Page Info page are pulled from Torbutton's
localization strings.
- - - - -
032557dd by Kathy Brade at 2025-06-23T00:21:37+02:00
Bug 30237: Add v3 onion services client authentication prompt
When Tor informs the browser that client authentication is needed,
temporarily load about:blank instead of about:neterror and prompt
for the user's key.
If a correctly formatted key is entered, use Tor's ONION_CLIENT_AUTH_ADD
control port command to add the key (via Torbutton's control port
module) and reload the page.
If the user cancels the prompt, display the standard about:neterror
"Unable to connect" page. This requires a small change to
browser/actors/NetErrorChild.jsm to account for the fact that the
docShell no longer has the failedChannel information. The failedChannel
is used to extract TLS-related error info, which is not applicable
in the case of a canceled .onion authentication prompt.
Add a leaveOpen option to PopupNotifications.show so we can display
error messages within the popup notification doorhanger without
closing the prompt.
Add support for onion services strings to the TorStrings module.
Add support for Tor extended SOCKS errors (Tor proposal 304) to the
socket transport and SOCKS layers. Improved display of all of these
errors will be implemented as part of bug 30025.
Also fixes bug 19757:
Add a "Remember this key" checkbox to the client auth prompt.
Add an "Onion Services Authentication" section within the
about:preferences "Privacy & Security section" to allow
viewing and removal of v3 onion client auth keys that have
been stored on disk.
Also fixes bug 19251: use enhanced error pages for onion service errors.
- - - - -
a565004d by Alex Catarineu at 2025-06-23T00:21:38+02:00
Bug 21952: Implement Onion-Location
Whenever a valid Onion-Location HTTP header (or corresponding HTML
<meta> http-equiv attribute) is found in a document load, we either
redirect to it (if the user opted-in via preference) or notify the
presence of an onionsite alternative with a badge in the urlbar.
- - - - -
fb624aac by Pier Angelo Vendrame at 2025-06-23T00:21:40+02:00
Bug 40458: Implement .tor.onion aliases
We have enabled HTTPS-Only mode, therefore we do not need
HTTPS-Everywhere anymore.
However, we want to keep supporting .tor.onion aliases (especially for
securedrop).
Therefore, in this patch we implemented the parsing of HTTPS-Everywhere
rulesets, and the redirect of .tor.onion domains.
Actually, Tor Browser believes they are actual domains. We change them
on the fly on the SOCKS proxy requests to resolve the domain, and on
the code that verifies HTTPS certificates.
- - - - -
9e824975 by Henry Wilkes at 2025-06-23T00:21:41+02:00
fixup! TB 40458: Implement .tor.onion aliases
TB 43443: Drop au.securedrop.tor.onion effective TLD.
- - - - -
bbc1bf41 by Pier Angelo Vendrame at 2025-06-23T00:21:42+02:00
Bug 11698: Incorporate Tor Browser Manual pages into Tor Browser
This patch associates the about:manual page to a translated page that
must be injected to browser/omni.ja after the build.
The content must be placed in chrome/browser/content/browser/manual/, so
that is then available at chrome://browser/content/manual/.
We preferred giving absolute freedom to the web team, rather than having
to change the patch in case of changes on the documentation.
- - - - -
6c17d6aa by Pier Angelo Vendrame at 2025-06-23T00:21:44+02:00
Bug 41435: Add a Tor Browser migration function
For now this function only deletes old language packs for which we are
already packaging the strings with the application.
- - - - -
69409789 by Henry Wilkes at 2025-06-23T00:21:45+02:00
Bug 42110: Add TorUIUtils module for common tor component methods.
- - - - -
96b26551 by Dan Ballard at 2025-06-23T00:21:46+02:00
Bug 40701: Add security warning when downloading a file
Shown in the downloads panel, about:downloads and places.xhtml.
- - - - -
b3a0506b by Henry Wilkes at 2025-06-23T00:21:48+02:00
Bug 41736: Customize toolbar for tor-browser.
- - - - -
6c6efa23 by hackademix at 2025-06-23T00:21:49+02:00
Bug 41728: Pin bridges.torproject.org domains to Let's Encrypt's root cert public key
- - - - -
44ada45c by Henry Wilkes at 2025-06-23T00:21:50+02:00
Customize moz-toggle for tor-browser.
- - - - -
bb0dac8d by Richard Pospesel at 2025-06-23T00:21:52+02:00
Bug 41822: Unconditionally disable default browser UX in about:preferences
- - - - -
3e6b9580 by Cecylia Bocovich at 2025-06-23T00:21:53+02:00
Temporary commit: manually place generated wasm files
These files are built reproducibly using tor-browser-build: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_re…
We're manually adding them here while working on the interface, but
eventually these should be placed in the right location using
tor-browser-build.
- - - - -
2e1d14de by Henry Wilkes at 2025-06-23T00:21:54+02:00
TEMPORARY: Copy torbrowser_strings.xml to the 13.5 branch.
NOTE: Only needed for the `tor-browser` `13.5` branches.
Bug 42480: Make sure the torbrowser_strings.xml file is in the 13.5
branch for the tor-browser `update-translations` CI.
The file should otherwise remain unused for the 13.5 branch.
File was copied from https://gitlab.torproject.org/tpo/translation/-/blob/f27eda6d10a4585a8402c5…
- - - - -
40fb81f8 by Henry Wilkes at 2025-06-23T00:21:56+02:00
Bug 43125: Extend the 13.5 EOL expiry date for tor-browser.
- - - - -
1568 changed files:
- .eslintignore
- .gitignore
- + .gitlab-ci.yml
- + .gitlab/ci/update-translations.yml
- + .gitlab/issue_templates/Backport Android Security Fixes.md
- + .gitlab/issue_templates/Emergency Security Issue.md
- + .gitlab/issue_templates/Rebase Browser - Alpha.md
- + .gitlab/issue_templates/Rebase Browser - Stable.md
- + .gitlab/issue_templates/bug.md
- + .gitlab/merge_request_templates/default.md
- + README.md
- − README.txt
- accessible/android/SessionAccessibility.cpp
- accessible/android/SessionAccessibility.h
- accessible/ipc/DocAccessibleParent.cpp
- accessible/ipc/DocAccessibleParent.h
- accessible/ipc/moz.build
- + browser/actors/AboutTBUpdateChild.jsm
- + browser/actors/AboutTBUpdateParent.jsm
- browser/actors/BrowserTabChild.sys.mjs
- + browser/actors/CryptoSafetyChild.jsm
- + browser/actors/CryptoSafetyParent.jsm
- − browser/actors/RFPHelperChild.sys.mjs
- − browser/actors/RFPHelperParent.sys.mjs
- 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/000-tor-browser.js
- + browser/app/profile/001-base-profile.js
- browser/app/profile/firefox.js
- browser/base/content/aboutDialog-appUpdater.js
- browser/base/content/aboutDialog.js
- browser/base/content/aboutDialog.xhtml
- + browser/base/content/aboutDialogTor.css
- + browser/base/content/abouttbupdate/aboutTBUpdate.css
- + browser/base/content/abouttbupdate/aboutTBUpdate.js
- + browser/base/content/abouttbupdate/aboutTBUpdate.xhtml
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-addons.js
- browser/base/content/browser-context.inc
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-places.js
- browser/base/content/browser-safebrowsing.js
- browser/base/content/browser-sets.inc
- browser/base/content/browser-siteIdentity.js
- browser/base/content/browser.css
- browser/base/content/browser.js
- browser/base/content/browser.xhtml
- browser/base/content/default-bookmarks.html
- + browser/base/content/droppedSupportNotification.js
- + browser/base/content/languageNotification.js
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/base/content/pageinfo/security.js
- browser/base/content/popup-notifications.inc
- browser/base/content/tabbrowser.js
- browser/base/content/test/popupNotifications/browser_popupNotification_security_delay.js
- browser/base/content/test/tabPrompts/browser_confirmFolderUpload.js
- browser/base/content/utilityOverlay.js
- browser/base/jar.mn
- browser/base/moz.build
- browser/branding/branding-common.mozbuild
- + browser/branding/tb-alpha/VisualElements_150.png
- + browser/branding/tb-alpha/VisualElements_70.png
- + browser/branding/tb-alpha/configure.sh
- + browser/branding/tb-alpha/content/about-logo.png
- + browser/branding/tb-alpha/content/about-logo.svg
- + browser/branding/tb-alpha/content/about-logo(a)2x.png
- + browser/branding/tb-alpha/content/about-wordmark.svg
- + browser/branding/tb-alpha/content/about.png
- + browser/branding/tb-alpha/content/aboutDialog.css
- + browser/branding/tb-alpha/content/firefox-wordmark.svg
- + browser/branding/tb-alpha/content/jar.mn
- + browser/branding/tb-alpha/content/moz.build
- + browser/branding/tb-alpha/default128.png
- + browser/branding/tb-alpha/default16.png
- + browser/branding/tb-alpha/default22.png
- + browser/branding/tb-alpha/default24.png
- + browser/branding/tb-alpha/default256.png
- + browser/branding/tb-alpha/default32.png
- + browser/branding/tb-alpha/default48.png
- + browser/branding/tb-alpha/default64.png
- + browser/branding/tb-alpha/document.icns
- + browser/branding/tb-alpha/document.ico
- + browser/branding/tb-alpha/document_pdf.ico
- + browser/branding/tb-alpha/firefox.VisualElementsManifest.xml
- + browser/branding/tb-alpha/firefox.icns
- + browser/branding/tb-alpha/firefox.ico
- + browser/branding/tb-alpha/locales/jar.mn
- + browser/branding/tb-alpha/locales/moz.build
- + browser/branding/tb-alpha/moz.build
- + browser/branding/tb-alpha/newtab.ico
- + browser/branding/tb-alpha/newwindow.ico
- + browser/branding/tb-alpha/pbmode.ico
- + browser/branding/tb-alpha/pref/firefox-branding.js
- + browser/branding/tb-nightly/VisualElements_150.png
- + browser/branding/tb-nightly/VisualElements_70.png
- + browser/branding/tb-nightly/configure.sh
- + browser/branding/tb-nightly/content/about-logo.png
- + browser/branding/tb-nightly/content/about-logo.svg
- + browser/branding/tb-nightly/content/about-logo(a)2x.png
- + browser/branding/tb-nightly/content/about-wordmark.svg
- + browser/branding/tb-nightly/content/about.png
- + browser/branding/tb-nightly/content/aboutDialog.css
- + browser/branding/tb-nightly/content/firefox-wordmark.svg
- + browser/branding/tb-nightly/content/jar.mn
- + browser/branding/tb-nightly/content/moz.build
- + browser/branding/tb-nightly/default128.png
- + browser/branding/tb-nightly/default16.png
- + browser/branding/tb-nightly/default22.png
- + browser/branding/tb-nightly/default24.png
- + browser/branding/tb-nightly/default256.png
- + browser/branding/tb-nightly/default32.png
- + browser/branding/tb-nightly/default48.png
- + browser/branding/tb-nightly/default64.png
- + browser/branding/tb-nightly/document.icns
- + browser/branding/tb-nightly/document.ico
- + browser/branding/tb-nightly/document_pdf.ico
- + browser/branding/tb-nightly/firefox.VisualElementsManifest.xml
- + browser/branding/tb-nightly/firefox.icns
- + browser/branding/tb-nightly/firefox.ico
- + browser/branding/tb-nightly/locales/jar.mn
- + browser/branding/tb-nightly/locales/moz.build
- + browser/branding/tb-nightly/moz.build
- + browser/branding/tb-nightly/newtab.ico
- + browser/branding/tb-nightly/newwindow.ico
- + browser/branding/tb-nightly/pbmode.ico
- + browser/branding/tb-nightly/pref/firefox-branding.js
- + browser/branding/tb-release/VisualElements_150.png
- + browser/branding/tb-release/VisualElements_70.png
- + browser/branding/tb-release/configure.sh
- + browser/branding/tb-release/content/about-logo.png
- + browser/branding/tb-release/content/about-logo.svg
- + browser/branding/tb-release/content/about-logo(a)2x.png
- + browser/branding/tb-release/content/about-wordmark.svg
- + browser/branding/tb-release/content/about.png
- + browser/branding/tb-release/content/aboutDialog.css
- + browser/branding/tb-release/content/firefox-wordmark.svg
- + browser/branding/tb-release/content/jar.mn
- + browser/branding/tb-release/content/moz.build
- + browser/branding/tb-release/default128.png
- + browser/branding/tb-release/default16.png
- + browser/branding/tb-release/default22.png
- + browser/branding/tb-release/default24.png
- + browser/branding/tb-release/default256.png
- + browser/branding/tb-release/default32.png
- + browser/branding/tb-release/default48.png
- + browser/branding/tb-release/default64.png
- + browser/branding/tb-release/document.icns
- + browser/branding/tb-release/document.ico
- + browser/branding/tb-release/document_pdf.ico
- + browser/branding/tb-release/firefox.VisualElementsManifest.xml
- + browser/branding/tb-release/firefox.icns
- + browser/branding/tb-release/firefox.ico
- + browser/branding/tb-release/locales/jar.mn
- + browser/branding/tb-release/locales/moz.build
- + browser/branding/tb-release/moz.build
- + browser/branding/tb-release/newtab.ico
- + browser/branding/tb-release/newwindow.ico
- + browser/branding/tb-release/pbmode.ico
- + browser/branding/tb-release/pref/firefox-branding.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/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/abouttor/AboutTorChild.sys.mjs
- + browser/components/abouttor/AboutTorMessage.sys.mjs
- + browser/components/abouttor/AboutTorParent.sys.mjs
- + browser/components/abouttor/HomepageOverride.sys.mjs
- + browser/components/abouttor/content/1f44b-waving-hand.svg
- + browser/components/abouttor/content/1f4e3-megaphone.svg
- + browser/components/abouttor/content/26a1-high-voltage.svg
- + browser/components/abouttor/content/2728-sparkles.svg
- + browser/components/abouttor/content/2764-red-heart.svg
- + browser/components/abouttor/content/aboutTor.css
- + browser/components/abouttor/content/aboutTor.html
- + browser/components/abouttor/content/aboutTor.js
- + browser/components/abouttor/content/dax-logo.svg
- + browser/components/abouttor/content/onion-pattern.svg
- + browser/components/abouttor/jar.mn
- + browser/components/abouttor/moz.build
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/customizableui/content/panelUI.inc.xhtml
- browser/components/downloads/DownloadSpamProtection.sys.mjs
- browser/components/downloads/content/allDownloadsView.js
- browser/components/downloads/content/contentAreaDownloadsView.js
- browser/components/downloads/content/contentAreaDownloadsView.xhtml
- browser/components/downloads/content/downloads.css
- browser/components/downloads/content/downloads.js
- browser/components/downloads/content/downloadsPanel.inc.xhtml
- browser/components/extensions/parent/ext-browserAction.js
- browser/components/extensions/schemas/chrome_settings_overrides.json
- browser/components/migration/ChromeMigrationUtils.sys.mjs
- browser/components/migration/content/migration-wizard.mjs
- browser/components/moz.build
- + browser/components/newidentity/content/newIdentityDialog.css
- + browser/components/newidentity/content/newIdentityDialog.js
- + browser/components/newidentity/content/newIdentityDialog.xhtml
- + browser/components/newidentity/content/newidentity.js
- + browser/components/newidentity/jar.mn
- + browser/components/newidentity/moz.build
- browser/components/newtab/AboutNewTabService.jsm
- + browser/components/onionservices/OnionAliasStore.sys.mjs
- + browser/components/onionservices/OnionLocationChild.sys.mjs
- + browser/components/onionservices/OnionLocationParent.sys.mjs
- + browser/components/onionservices/TorRequestWatch.sys.mjs
- + browser/components/onionservices/content/authNotificationIcon.inc.xhtml
- + browser/components/onionservices/content/authPopup.inc.xhtml
- + browser/components/onionservices/content/authPreferences.css
- + browser/components/onionservices/content/authPreferences.inc.xhtml
- + browser/components/onionservices/content/authPreferences.js
- + browser/components/onionservices/content/authPrompt.js
- + browser/components/onionservices/content/onionlocation-urlbar.inc.xhtml
- + browser/components/onionservices/content/onionlocation.css
- + browser/components/onionservices/content/onionservices.css
- + browser/components/onionservices/content/savedKeysDialog.js
- + browser/components/onionservices/content/savedKeysDialog.xhtml
- + browser/components/onionservices/jar.mn
- + browser/components/onionservices/moz.build
- browser/components/places/PlacesUIUtils.sys.mjs
- browser/components/places/content/controller.js
- browser/components/places/content/places.css
- browser/components/places/content/places.js
- browser/components/places/content/places.xhtml
- browser/components/places/metadataViewer/interactionsViewer.html
- browser/components/preferences/dialogs/browserLanguages.js
- browser/components/preferences/dialogs/browserLanguages.xhtml
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/home.js
- browser/components/preferences/jar.mn
- + browser/components/preferences/letterboxing-middle-dark.svg
- + browser/components/preferences/letterboxing-middle-light.svg
- + browser/components/preferences/letterboxing-top-dark.svg
- + browser/components/preferences/letterboxing-top-light.svg
- + browser/components/preferences/letterboxing.css
- + browser/components/preferences/letterboxing.inc.xhtml
- + browser/components/preferences/letterboxing.js
- browser/components/preferences/main.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/preferences/tests/browser_browser_languages_subdialog.js
- browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
- browser/components/privatebrowsing/test/browser/browser_privatebrowsing_windowtitle.js
- browser/components/prompts/PromptCollection.sys.mjs
- browser/components/protections/content/protections.html
- browser/components/protocolhandler/test/browser/browser_registerProtocolHandler_notification.js
- browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js
- browser/components/resistfingerprinting/test/browser/browser_timezone.js
- + browser/components/rulesets/RulesetsChild.sys.mjs
- + browser/components/rulesets/RulesetsParent.sys.mjs
- + browser/components/rulesets/content/aboutRulesets.css
- + browser/components/rulesets/content/aboutRulesets.html
- + browser/components/rulesets/content/aboutRulesets.js
- + browser/components/rulesets/content/securedrop.svg
- + browser/components/rulesets/jar.mn
- + browser/components/rulesets/moz.build
- browser/components/search/SearchSERPTelemetry.sys.mjs
- − browser/components/search/extensions/amazon/_locales/au/messages.json
- − browser/components/search/extensions/amazon/_locales/ca/messages.json
- − browser/components/search/extensions/amazon/_locales/de/messages.json
- − browser/components/search/extensions/amazon/_locales/en-GB/messages.json
- − browser/components/search/extensions/amazon/_locales/france/messages.json
- − browser/components/search/extensions/amazon/_locales/in/messages.json
- − browser/components/search/extensions/amazon/_locales/it/messages.json
- − browser/components/search/extensions/amazon/_locales/jp/messages.json
- − browser/components/search/extensions/amazon/_locales/nl/messages.json
- − browser/components/search/extensions/amazon/_locales/spain/messages.json
- − browser/components/search/extensions/amazon/_locales/sweden/messages.json
- − browser/components/search/extensions/amazondotcn/_locales/default/messages.json
- − browser/components/search/extensions/amazondotcn/_locales/mozillaonline/messages.json
- − browser/components/search/extensions/amazondotcom/_locales/en/messages.json
- − browser/components/search/extensions/amazondotcom/_locales/us/messages.json
- + browser/components/search/extensions/ddg-onion/favicon.ico
- + browser/components/search/extensions/ddg-onion/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- − browser/components/search/extensions/ebay/_locales/at/messages.json
- − browser/components/search/extensions/ebay/_locales/au/messages.json
- − browser/components/search/extensions/ebay/_locales/be/messages.json
- − browser/components/search/extensions/ebay/_locales/ca/messages.json
- − browser/components/search/extensions/ebay/_locales/ch/messages.json
- − browser/components/search/extensions/ebay/_locales/de/messages.json
- − browser/components/search/extensions/ebay/_locales/en/messages.json
- − browser/components/search/extensions/ebay/_locales/es/messages.json
- − browser/components/search/extensions/ebay/_locales/fr/messages.json
- − browser/components/search/extensions/ebay/_locales/ie/messages.json
- − browser/components/search/extensions/ebay/_locales/it/messages.json
- − browser/components/search/extensions/ebay/_locales/nl/messages.json
- − browser/components/search/extensions/ebay/_locales/uk/messages.json
- − browser/components/search/extensions/gmx/_locales/de/messages.json
- − browser/components/search/extensions/gmx/_locales/en-GB/messages.json
- − browser/components/search/extensions/gmx/_locales/es/messages.json
- − browser/components/search/extensions/gmx/_locales/fr/messages.json
- − browser/components/search/extensions/gmx/_locales/shopping/messages.json
- − browser/components/search/extensions/google/_locales/en/messages.json
- − browser/components/search/extensions/google/_locales/region-by/messages.json
- − browser/components/search/extensions/google/_locales/region-kz/messages.json
- − browser/components/search/extensions/google/_locales/region-ru/messages.json
- − browser/components/search/extensions/google/_locales/region-tr/messages.json
- browser/components/search/extensions/google/manifest.json
- − browser/components/search/extensions/mailru/_locales/default/messages.json
- − browser/components/search/extensions/mailru/_locales/mailru001/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-az/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-en-US/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-hy-AM/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-kk/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-ro/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-ru/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-tr/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-uk/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-uz/messages.json
- − browser/components/search/extensions/mercadolibre/_locales/ar/messages.json
- − browser/components/search/extensions/mercadolibre/_locales/cl/messages.json
- − browser/components/search/extensions/mercadolibre/_locales/mx/messages.json
- + browser/components/search/extensions/startpage-onion/favicon.png
- + browser/components/search/extensions/startpage-onion/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- − browser/components/search/extensions/wikipedia/_locales/NN/messages.json
- − browser/components/search/extensions/wikipedia/_locales/NO/messages.json
- − browser/components/search/extensions/wikipedia/_locales/af/messages.json
- − browser/components/search/extensions/wikipedia/_locales/an/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ar/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ast/messages.json
- − browser/components/search/extensions/wikipedia/_locales/az/messages.json
- − browser/components/search/extensions/wikipedia/_locales/be-tarask/messages.json
- − browser/components/search/extensions/wikipedia/_locales/be/messages.json
- − browser/components/search/extensions/wikipedia/_locales/bg/messages.json
- − browser/components/search/extensions/wikipedia/_locales/bn/messages.json
- − browser/components/search/extensions/wikipedia/_locales/br/messages.json
- − browser/components/search/extensions/wikipedia/_locales/bs/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ca/messages.json
- − browser/components/search/extensions/wikipedia/_locales/cy/messages.json
- − browser/components/search/extensions/wikipedia/_locales/cz/messages.json
- − browser/components/search/extensions/wikipedia/_locales/da/messages.json
- − browser/components/search/extensions/wikipedia/_locales/de/messages.json
- − browser/components/search/extensions/wikipedia/_locales/dsb/messages.json
- − browser/components/search/extensions/wikipedia/_locales/el/messages.json
- − browser/components/search/extensions/wikipedia/_locales/en/messages.json
- − browser/components/search/extensions/wikipedia/_locales/eo/messages.json
- − browser/components/search/extensions/wikipedia/_locales/es/messages.json
- − browser/components/search/extensions/wikipedia/_locales/et/messages.json
- − browser/components/search/extensions/wikipedia/_locales/eu/messages.json
- − browser/components/search/extensions/wikipedia/_locales/fa/messages.json
- − browser/components/search/extensions/wikipedia/_locales/fi/messages.json
- − browser/components/search/extensions/wikipedia/_locales/fr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/fy-NL/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ga-IE/messages.json
- − browser/components/search/extensions/wikipedia/_locales/gd/messages.json
- − browser/components/search/extensions/wikipedia/_locales/gl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/gn/messages.json
- − browser/components/search/extensions/wikipedia/_locales/gu/messages.json
- − browser/components/search/extensions/wikipedia/_locales/he/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hi/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hsb/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hu/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hy/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ia/messages.json
- − browser/components/search/extensions/wikipedia/_locales/id/messages.json
- − browser/components/search/extensions/wikipedia/_locales/is/messages.json
- − browser/components/search/extensions/wikipedia/_locales/it/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ja/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ka/messages.json
- − browser/components/search/extensions/wikipedia/_locales/kab/messages.json
- − browser/components/search/extensions/wikipedia/_locales/kk/messages.json
- − browser/components/search/extensions/wikipedia/_locales/km/messages.json
- − browser/components/search/extensions/wikipedia/_locales/kn/messages.json
- − browser/components/search/extensions/wikipedia/_locales/kr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/lij/messages.json
- − browser/components/search/extensions/wikipedia/_locales/lo/messages.json
- − browser/components/search/extensions/wikipedia/_locales/lt/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ltg/messages.json
- − browser/components/search/extensions/wikipedia/_locales/lv/messages.json
- − browser/components/search/extensions/wikipedia/_locales/mk/messages.json
- − browser/components/search/extensions/wikipedia/_locales/mr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ms/messages.json
- − browser/components/search/extensions/wikipedia/_locales/my/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ne/messages.json
- − browser/components/search/extensions/wikipedia/_locales/nl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/oc/messages.json
- − browser/components/search/extensions/wikipedia/_locales/pa/messages.json
- − browser/components/search/extensions/wikipedia/_locales/pl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/pt/messages.json
- − browser/components/search/extensions/wikipedia/_locales/rm/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ro/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ru/messages.json
- − browser/components/search/extensions/wikipedia/_locales/si/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sk/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sq/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sv-SE/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ta/messages.json
- − browser/components/search/extensions/wikipedia/_locales/te/messages.json
- − browser/components/search/extensions/wikipedia/_locales/th/messages.json
- − browser/components/search/extensions/wikipedia/_locales/tl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/tr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/uk/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ur/messages.json
- − browser/components/search/extensions/wikipedia/_locales/uz/messages.json
- − browser/components/search/extensions/wikipedia/_locales/vi/messages.json
- − browser/components/search/extensions/wikipedia/_locales/wo/messages.json
- − browser/components/search/extensions/wikipedia/_locales/zh-CN/messages.json
- − browser/components/search/extensions/wikipedia/_locales/zh-TW/messages.json
- browser/components/search/extensions/wikipedia/manifest.json
- − browser/components/search/extensions/wiktionary/_locales/oc/messages.json
- − browser/components/search/extensions/wiktionary/_locales/te/messages.json
- − browser/components/search/extensions/yandex/_locales/az/messages.json
- − browser/components/search/extensions/yandex/_locales/by/messages.json
- − browser/components/search/extensions/yandex/_locales/en/messages.json
- − browser/components/search/extensions/yandex/_locales/kk/messages.json
- − browser/components/search/extensions/yandex/_locales/ru/messages.json
- − browser/components/search/extensions/yandex/_locales/tr/messages.json
- − browser/components/search/extensions/yandex/_locales/ua/messages.json
- + 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/torcircuit/content/tor-circuit-flags/1f1e6-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f4-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f6-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fd-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/README.txt
- + browser/components/torcircuit/content/tor-circuit-icon-mask.svg
- + browser/components/torcircuit/content/tor-circuit-node-end.svg
- + browser/components/torcircuit/content/tor-circuit-node-middle.svg
- + browser/components/torcircuit/content/tor-circuit-node-relays.svg
- + browser/components/torcircuit/content/tor-circuit-node-start.svg
- + browser/components/torcircuit/content/tor-circuit-redirect.svg
- + browser/components/torcircuit/content/torCircuitPanel.css
- + browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
- + browser/components/torcircuit/content/torCircuitPanel.js
- + browser/components/torcircuit/jar.mn
- + browser/components/torcircuit/moz.build
- + browser/components/torpreferences/content/bridge-bot.svg
- + browser/components/torpreferences/content/bridge-qr.svg
- + browser/components/torpreferences/content/bridge.svg
- + browser/components/torpreferences/content/bridgeQrDialog.js
- + browser/components/torpreferences/content/bridgeQrDialog.xhtml
- + browser/components/torpreferences/content/bridgemoji/BridgeEmoji.js
- + browser/components/torpreferences/content/bridgemoji/annotations.json
- + browser/components/torpreferences/content/bridgemoji/bridge-emojis.json
- + browser/components/torpreferences/content/bridgemoji/svgs/1f300.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f308.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f319.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f31f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f321.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f332.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f333.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f334.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f335.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f336.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f337.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f339.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f341.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f344.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f345.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f346.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f347.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f348.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f349.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f350.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f351.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f352.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f353.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f354.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f355.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f368.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f369.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f37f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f380.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f381.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f382.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f383.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f388.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f389.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f38f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f392.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f399.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f39f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ac.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3af.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ba.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3bb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3be.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3dd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f417.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f418.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f419.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f420.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f422.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f425.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f426.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f428.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f430.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f431.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f432.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f433.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f434.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f435.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f436.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f437.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f441.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f451.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f455.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f457.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f45f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f47d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f484.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f488.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f490.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4b3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4bf.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4cc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4ce.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4fb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f50b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f511.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f525.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f526.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f54a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f5ff.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f680.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f681.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f686.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f695.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f697.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fa.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f916.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f93f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f941.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f950.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f951.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f955.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f956.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f965.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f966.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f968.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f980.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f981.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f984.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f986.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f987.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f988.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f989.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f992.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f993.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f994.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f995.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f998.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f999.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ad.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9d9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9da.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9dc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ea.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ec.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ed.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa73.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa80.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa81.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa83.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa90.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa91.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa95.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa97.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fab6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/23f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2600.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2602.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2604.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/260e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2693.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2696.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26bd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2708.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/270f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2728.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2744.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/README.txt
- + browser/components/torpreferences/content/builtinBridgeDialog.js
- + browser/components/torpreferences/content/builtinBridgeDialog.xhtml
- + browser/components/torpreferences/content/connectionCategory.inc.xhtml
- + browser/components/torpreferences/content/connectionPane.js
- + browser/components/torpreferences/content/connectionPane.xhtml
- + browser/components/torpreferences/content/connectionSettingsDialog.js
- + browser/components/torpreferences/content/connectionSettingsDialog.xhtml
- + browser/components/torpreferences/content/lox-bridge-icon.svg
- + browser/components/torpreferences/content/lox-bridge-pass.svg
- + browser/components/torpreferences/content/lox-complete-ring.svg
- + browser/components/torpreferences/content/lox-invite-icon.svg
- + browser/components/torpreferences/content/lox-progress-ring.svg
- + browser/components/torpreferences/content/lox-success.svg
- + browser/components/torpreferences/content/loxInviteDialog.js
- + browser/components/torpreferences/content/loxInviteDialog.xhtml
- + browser/components/torpreferences/content/mail.svg
- + browser/components/torpreferences/content/network-broken.svg
- + browser/components/torpreferences/content/network.svg
- + browser/components/torpreferences/content/provideBridgeDialog.js
- + browser/components/torpreferences/content/provideBridgeDialog.xhtml
- + browser/components/torpreferences/content/requestBridgeDialog.js
- + browser/components/torpreferences/content/requestBridgeDialog.xhtml
- + browser/components/torpreferences/content/telegram-logo.svg
- + browser/components/torpreferences/content/torLogDialog.js
- + browser/components/torpreferences/content/torLogDialog.xhtml
- + browser/components/torpreferences/content/torPreferences.css
- + browser/components/torpreferences/jar.mn
- + browser/components/torpreferences/moz.build
- browser/components/urlbar/UrlbarInput.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/config/mozconfigs/tor-browser
- + browser/config/mozconfigs/tor-browser-android
- browser/confvars.sh
- browser/extensions/moz.build
- browser/installer/Makefile.in
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/shared.nsh
- browser/locales/Makefile.in
- − browser/locales/en-US/chrome/overrides/appstrings.properties
- browser/locales/jar.mn
- browser/modules/HomePage.jsm
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- + browser/modules/TorUIUtils.sys.mjs
- browser/modules/URILoadingHelper.sys.mjs
- browser/modules/moz.build
- browser/moz.build
- browser/moz.configure
- browser/themes/shared/addons/unified-extensions.css
- browser/themes/shared/browser-shared.css
- browser/themes/shared/controlcenter/panel.css
- browser/themes/shared/customizableui/panelUI-shared.css
- browser/themes/shared/downloads/contentAreaDownloadsView.css
- browser/themes/shared/downloads/downloads.inc.css
- + browser/themes/shared/icons/new_circuit.svg
- + browser/themes/shared/icons/new_identity.svg
- browser/themes/shared/identity-block/identity-block.css
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/notification-icons.css
- browser/themes/shared/preferences/preferences.css
- browser/themes/shared/preferences/privacy.css
- browser/themes/shared/toolbarbutton-icons.css
- + browser/themes/shared/tor-branding.css
- + browser/themes/shared/tor-urlbar-button.css
- build/application.ini.in
- build/moz.build
- build/moz.configure/init.configure
- build/moz.configure/update-programs.configure
- build/variables.py
- config/createprecomplete.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/netmonitor/src/components/SecurityState.js
- devtools/client/netmonitor/src/components/new-request/HTTPCustomRequestPanel.js
- devtools/client/netmonitor/src/utils/powershell.js
- devtools/client/netmonitor/test/browser_net_copy_as_powershell.js
- devtools/client/netmonitor/test/browser_net_new_request_panel_persisted_content.js
- devtools/client/netmonitor/test/head.js
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- docshell/base/BrowsingContext.cpp
- docshell/base/BrowsingContext.h
- docshell/base/CanonicalBrowsingContext.cpp
- docshell/base/nsAboutRedirector.cpp
- docshell/base/nsDocShell.cpp
- docshell/base/nsDocShell.h
- docshell/build/components.conf
- docshell/shistory/nsISHistory.idl
- dom/base/ContentAreaDropListener.sys.mjs
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/PointerLockManager.cpp
- dom/base/PointerLockManager.h
- dom/base/ShadowRoot.cpp
- dom/base/ShadowRoot.h
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsCopySupport.cpp
- dom/base/nsGlobalWindowInner.cpp
- dom/base/nsGlobalWindowOuter.cpp
- dom/base/nsScreen.cpp
- dom/base/nsScreen.h
- dom/cache/TypeUtils.cpp
- dom/canvas/ClientWebGLContext.cpp
- dom/canvas/WebGLContextExtensions.cpp
- dom/console/Console.cpp
- dom/crypto/WebCryptoTask.cpp
- dom/crypto/test/test-vectors.js
- dom/crypto/test/test_WebCrypto_ECDH.html
- dom/crypto/test/test_WebCrypto_ECDSA.html
- dom/filesystem/tests/script_promptHandler.js
- dom/html/HTMLDNSPrefetch.cpp
- dom/html/HTMLDetailsElement.cpp
- dom/html/HTMLFormElement.cpp
- dom/html/input/NumericInputTypes.cpp
- dom/ipc/BrowserChild.cpp
- dom/ipc/BrowserChild.h
- dom/ipc/BrowserParent.cpp
- dom/ipc/BrowserParent.h
- dom/ipc/PBrowser.ipdl
- dom/ipc/WindowGlobalActor.cpp
- dom/ipc/WindowGlobalChild.cpp
- dom/locales/moz.build
- dom/manifest/Manifest.sys.mjs
- dom/manifest/test/browser_Manifest_install.js
- dom/media/MediaTrackGraph.cpp
- dom/media/MediaTrackGraph.h
- dom/media/ipc/RemoteMediaDataDecoder.cpp
- dom/media/ipc/RemoteMediaDataDecoder.h
- dom/media/platforms/wrappers/MediaChangeMonitor.cpp
- dom/media/platforms/wrappers/MediaChangeMonitor.h
- dom/media/systemservices/CamerasChild.cpp
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/webrtc/libwebrtcglue/VideoConduit.cpp
- dom/media/webrtc/sdp/RsdparsaSdpAttributeList.cpp
- dom/media/webrtc/transport/nrinterfaceprioritizer.cpp
- dom/media/webrtc/transport/sigslot.h
- dom/media/webrtc/transport/test/ice_unittest.cpp
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.c
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.h
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-win32.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
- dom/media/webrtc/transport/third_party/nrappkit/src/log/r_log.c
- dom/media/webrtc/transport/third_party/nrappkit/src/registry/registry.c
- dom/push/PushCrypto.sys.mjs
- dom/security/nsContentSecurityUtils.cpp
- dom/security/nsMixedContentBlocker.cpp
- dom/svg/DOMSVGLength.cpp
- dom/svg/DOMSVGLength.h
- dom/svg/DOMSVGPoint.cpp
- dom/svg/DOMSVGPoint.h
- dom/svg/DOMSVGPointList.cpp
- dom/svg/DOMSVGPointList.h
- dom/svg/DOMSVGStringList.cpp
- dom/svg/DOMSVGStringList.h
- dom/webidl/Document.webidl
- dom/websocket/WebSocket.cpp
- dom/xslt/xslt/txEXSLTFunctions.cpp
- dom/xslt/xslt/txMozillaXSLTProcessor.cpp
- dom/xslt/xslt/txXSLTMsgsURL.h
- extensions/auth/nsHttpNegotiateAuth.cpp
- gfx/2d/RecordedEventImpl.h
- gfx/2d/RecordingTypes.h
- gfx/thebes/StandardFonts-win10.inc
- gfx/thebes/gfxDWriteFontList.cpp
- gfx/thebes/gfxDWriteFontList.h
- gfx/thebes/gfxFcPlatformFontList.cpp
- gfx/thebes/gfxFont.cpp
- gfx/thebes/gfxFontEntry.cpp
- gfx/thebes/gfxFontEntry.h
- gfx/thebes/gfxGDIFontList.cpp
- gfx/thebes/gfxPlatformFontList.cpp
- gfx/thebes/gfxPlatformFontList.h
- intl/l10n/Localization.h
- intl/locale/LocaleService.cpp
- intl/strres/nsIStringBundle.idl
- intl/strres/nsStringBundle.cpp
- intl/unicharutil/util/ICUUtils.cpp
- js/public/StructuredClone.h
- js/public/friend/ErrorNumbers.msg
- js/src/gc/Zone.cpp
- + js/src/jit-test/tests/debug/bug-1904011.js
- + js/src/jit-test/tests/ion/bug1900523.js
- + js/src/jit-test/tests/ion/bug1902983.js
- js/src/jit-test/tests/resist-fingerprinting/timezone.js
- js/src/jit-test/tests/structured-clone/transferable-cleanup.js
- js/src/jit/IonAnalysis.cpp
- js/src/jit/JSJitFrameIter.cpp
- js/src/jit/JSJitFrameIter.h
- js/src/old-configure.in
- js/src/vm/DateTime.cpp
- js/src/vm/StructuredClone.cpp
- js/xpconnect/src/xpc.msg
- layout/base/PresShell.cpp
- layout/base/PresShell.h
- layout/base/nsCaret.cpp
- layout/base/nsLayoutUtils.cpp
- layout/base/nsPresContext.cpp
- layout/base/nsPresContext.h
- layout/reftests/font-matching/reftest.list
- + layout/reftests/font-matching/system-font-rfp-ref.html
- + layout/reftests/font-matching/system-font-rfp.html
- layout/style/ServoStyleSet.cpp
- layout/style/ServoStyleSet.h
- layout/style/StyleSheet.cpp
- layout/xul/nsXULPopupManager.cpp
- layout/xul/nsXULPopupManager.h
- + mobile/android/app/000-tor-browser-android.js
- mobile/android/app/geckoview-prefs.js
- mobile/android/app/mobile.js
- mobile/android/app/moz.build
- + mobile/android/basebrowser.configure
- mobile/android/branding/beta/locales/jar.mn
- mobile/android/branding/nightly/locales/jar.mn
- mobile/android/branding/official/locales/jar.mn
- mobile/android/branding/unofficial/locales/jar.mn
- mobile/android/components/geckoview/GeckoViewStartup.jsm
- mobile/android/confvars.sh
- mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
- + mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
- mobile/android/geckoview/api.txt
- mobile/android/geckoview/build.gradle
- 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/gecko/util/ProxySelector.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.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/TorIntegrationAndroid.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/Prefs.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/TorLegacyAndroidSettings.java
- mobile/android/gradle/with_gecko_binaries.gradle
- mobile/android/installer/package-manifest.in
- mobile/android/modules/geckoview/GeckoViewContent.sys.mjs
- mobile/android/modules/geckoview/GeckoViewProgress.sys.mjs
- mobile/android/moz.configure
- modules/libmar/tool/mar.c
- modules/libmar/tool/moz.build
- modules/libmar/verify/moz.build
- modules/libpref/Preferences.cpp
- 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-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/nsIOService.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/build/components.conf
- netwerk/build/nsNetCID.h
- netwerk/cache2/CacheFileIOManager.cpp
- netwerk/cookie/CookieCommons.cpp
- netwerk/cookie/CookieService.cpp
- netwerk/cookie/CookieServiceChild.cpp
- + netwerk/dns/IOnionAliasService.idl
- + netwerk/dns/OnionAliasService.cpp
- + netwerk/dns/OnionAliasService.h
- netwerk/dns/effective_tld_names.dat
- netwerk/dns/moz.build
- netwerk/dns/nsHostRecord.cpp
- netwerk/dns/nsHostRecord.h
- netwerk/dns/nsHostResolver.cpp
- netwerk/ipc/DocumentLoadListener.cpp
- netwerk/protocol/http/HttpBaseChannel.cpp
- netwerk/protocol/http/HttpConnectionUDP.cpp
- netwerk/protocol/http/nsHttpHandler.cpp
- netwerk/protocol/http/nsHttpNTLMAuth.cpp
- netwerk/protocol/webtransport/WebTransportSessionProxy.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/socket/nsSOCKSIOLayer.cpp
- netwerk/streamconv/converters/nsMultiMixedConv.cpp
- netwerk/streamconv/converters/nsMultiMixedConv.h
- netwerk/system/android/nsAndroidNetworkLinkService.cpp
- netwerk/system/linux/nsNetworkLinkService.cpp
- netwerk/system/mac/nsNetworkLinkService.mm
- netwerk/system/netlink/NetlinkService.cpp
- netwerk/system/win32/nsNotifyAddrListener.cpp
- netwerk/test/unit/trr_common.js
- netwerk/url-classifier/UrlClassifierFeatureBase.cpp
- netwerk/url-classifier/components.conf
- old-configure.in
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/mach_commands.py
- + run-tbb-tests
- security/certverifier/CertVerifier.cpp
- security/manager/ssl/NSSSocketControl.cpp
- security/manager/ssl/RemoteSecuritySettings.sys.mjs
- security/manager/ssl/SSLServerCertVerification.cpp
- security/manager/ssl/SSLServerCertVerification.h
- security/manager/ssl/StaticHPKPins.h
- security/manager/ssl/cert_storage/src/lib.rs
- security/manager/ssl/nsSecureBrowserUI.cpp
- security/moz.build
- security/nss/lib/certhigh/ocsp.c
- security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
- security/nss/lib/mozpkix/include/pkix/Result.h
- security/nss/lib/mozpkix/include/pkix/pkixnss.h
- security/nss/lib/ssl/Makefile
- services/common/logmanager.sys.mjs
- services/settings/IDBHelpers.jsm
- services/settings/dumps/main/moz.build
- services/settings/dumps/security-state/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
- taskcluster/ci/source-test/mozlint.yml
- + tbb-tests-ignore.txt
- + tbb-tests/browser.ini
- + tbb-tests/browser_tor_TB4.js
- + tbb-tests/browser_tor_bug2950.js
- + tbb-tests/browser_tor_omnibox.js
- + tbb-tests/mochitest.ini
- + tbb-tests/moz.build
- + tbb-tests/test_tor_bug2874.html
- testing/web-platform/meta/cookies/name/name-ctl.html.ini
- testing/web-platform/meta/cookies/samesite/setcookie-navigation.https.html.ini
- − testing/web-platform/meta/service-workers/cache-storage/cache-put.https.any.js.ini
- + testing/web-platform/tests/css/cssom/insertRule-import-trailing-garbage-crash.html
- third_party/libwebrtc/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h
- third_party/libwebrtc/modules/desktop_capture/desktop_capture_types.h
- third_party/libwebrtc/modules/desktop_capture/win/desktop_capture_utils.cc
- third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h
- third_party/libwebrtc/rtc_base/platform_thread_types.cc
- third_party/libwebrtc/rtc_base/socket.h
- third_party/libwebrtc/rtc_base/system/file_wrapper.cc
- third_party/libwebrtc/rtc_base/win/create_direct3d_device.h
- third_party/sipcc/cpr_win_types.h
- third_party/sipcc/sdp_token.c
- toolkit/actors/AboutHttpsOnlyErrorParent.sys.mjs
- + toolkit/actors/FilesFilterChild.sys.mjs
- + toolkit/actors/FilesFilterParent.sys.mjs
- toolkit/actors/NetErrorChild.sys.mjs
- toolkit/actors/NetErrorParent.sys.mjs
- toolkit/actors/SelectParent.sys.mjs
- toolkit/actors/moz.build
- toolkit/components/aboutmemory/content/aboutMemory.js
- toolkit/components/antitracking/StoragePrincipalHelper.cpp
- toolkit/components/antitracking/antitracking.manifest
- toolkit/components/antitracking/components.conf
- toolkit/components/downloads/DownloadCore.sys.mjs
- toolkit/components/downloads/DownloadIntegration.sys.mjs
- toolkit/components/downloads/DownloadUIHelper.sys.mjs
- toolkit/components/extensions/Extension.sys.mjs
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/extensions/schemas/manifest.json
- toolkit/components/extensions/test/xpcshell/test_ext_manifest.js
- toolkit/components/httpsonlyerror/content/errorpage.html
- toolkit/components/httpsonlyerror/content/errorpage.js
- + toolkit/components/lox/Lox.sys.mjs
- + toolkit/components/lox/content/lox_wasm_bg.wasm
- + toolkit/components/lox/jar.mn
- + toolkit/components/lox/lox_wasm.jsm
- + toolkit/components/lox/moz.build
- toolkit/components/moz.build
- toolkit/components/places/PlacesUtils.sys.mjs
- toolkit/components/reader/AboutReader.sys.mjs
- toolkit/components/reader/ReaderMode.sys.mjs
- toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs
- toolkit/components/reputationservice/ApplicationReputation.cpp
- toolkit/components/reputationservice/test/gtest/TestExecutableLists.cpp
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
- toolkit/components/resistfingerprinting/nsRFPService.cpp
- toolkit/components/search/OpenSearchEngine.sys.mjs
- toolkit/components/search/SearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- toolkit/components/search/SearchUtils.sys.mjs
- toolkit/components/search/tests/xpcshell/data/iconsRedirect.sjs
- toolkit/components/search/tests/xpcshell/test_opensearch_icons_invalid.js
- toolkit/components/search/tests/xpcshell/test_webextensions_install.js
- + toolkit/components/search/tests/xpcshell/test_webextensions_startup_duplicate.js
- toolkit/components/search/tests/xpcshell/xpcshell.ini
- + 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/tor-launcher/TorBootstrapRequest.sys.mjs
- + toolkit/components/tor-launcher/TorControlPort.sys.mjs
- + toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs
- + toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
- + toolkit/components/tor-launcher/TorParsers.sys.mjs
- + toolkit/components/tor-launcher/TorProcess.sys.mjs
- + toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs
- + toolkit/components/tor-launcher/TorProvider.sys.mjs
- + toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
- + toolkit/components/tor-launcher/TorStartupService.sys.mjs
- + toolkit/components/tor-launcher/components.conf
- + toolkit/components/tor-launcher/moz.build
- + toolkit/components/tor-launcher/tor-launcher.manifest
- + toolkit/components/torconnect/TorConnectChild.sys.mjs
- + toolkit/components/torconnect/TorConnectParent.sys.mjs
- + toolkit/components/torconnect/content/aboutTorConnect.css
- + toolkit/components/torconnect/content/aboutTorConnect.html
- + toolkit/components/torconnect/content/aboutTorConnect.js
- + toolkit/components/torconnect/content/arrow-right.svg
- + toolkit/components/torconnect/content/bridge.svg
- + toolkit/components/torconnect/content/connection-failure.svg
- + toolkit/components/torconnect/content/connection-location.svg
- + toolkit/components/torconnect/content/onion-pattern.svg
- + toolkit/components/torconnect/content/tor-connect-broken.svg
- + toolkit/components/torconnect/content/tor-connect.svg
- + toolkit/components/torconnect/content/tor-not-connected-to-connected-animated.svg
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.css
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.js
- + toolkit/components/torconnect/content/torConnectUrlbarButton.js
- + toolkit/components/torconnect/jar.mn
- + toolkit/components/torconnect/moz.build
- toolkit/components/windowwatcher/nsWindowWatcher.cpp
- toolkit/content/aboutNetError.mjs
- toolkit/content/aboutNetError.xhtml
- toolkit/content/jar.mn
- toolkit/content/license.html
- + toolkit/content/pt_config.json
- toolkit/content/widgets/datetimebox.js
- toolkit/content/widgets/message-bar.css
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- toolkit/content/widgets/moz-toggle/moz-toggle.mjs
- toolkit/content/widgets/popupnotification.js
- + toolkit/locales-preview/base-browser-no-translate.ftl
- + toolkit/locales-preview/tor-browser-no-translate.ftl
- toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.properties
- + toolkit/locales/en-US/toolkit/global/base-browser.ftl
- + toolkit/locales/en-US/toolkit/global/tor-browser.ftl
- toolkit/locales/jar.mn
- toolkit/modules/ActorManagerParent.sys.mjs
- toolkit/modules/AppConstants.sys.mjs
- + toolkit/modules/Bech32Decode.jsm
- + toolkit/modules/BridgeDB.sys.mjs
- + toolkit/modules/DomainFrontedRequests.sys.mjs
- + toolkit/modules/DragDropFilter.sys.mjs
- toolkit/modules/FinderParent.sys.mjs
- toolkit/modules/IgnoreLists.sys.mjs
- + toolkit/modules/Moat.sys.mjs
- toolkit/modules/PopupNotifications.sys.mjs
- + toolkit/modules/QRCode.sys.mjs
- toolkit/modules/RemotePageAccessManager.sys.mjs
- + toolkit/modules/TorAndroidIntegration.sys.mjs
- + toolkit/modules/TorConnect.sys.mjs
- + toolkit/modules/TorSettings.sys.mjs
- + toolkit/modules/TorStrings.sys.mjs
- toolkit/modules/UpdateUtils.sys.mjs
- toolkit/modules/moz.build
- toolkit/moz.build
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- toolkit/mozapps/extensions/internal/XPIDatabase.jsm
- toolkit/mozapps/extensions/internal/XPIInstall.jsm
- toolkit/mozapps/extensions/internal/XPIProvider.jsm
- toolkit/mozapps/extensions/test/browser/head.js
- toolkit/mozapps/extensions/test/xpcshell/head_addons.js
- toolkit/mozapps/extensions/test/xpcshell/test_locale.js
- 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/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- toolkit/mozapps/update/updater/updater-common.build
- toolkit/mozapps/update/updater/updater.cpp
- toolkit/profile/nsToolkitProfileService.cpp
- toolkit/profile/nsToolkitProfileService.h
- toolkit/themes/shared/aboutNetError.css
- + toolkit/themes/shared/browser-colors.css
- toolkit/themes/shared/desktop-jar.inc.mn
- + toolkit/themes/shared/icons/onion-site.svg
- + toolkit/themes/shared/icons/onion-slash.svg
- + toolkit/themes/shared/icons/onion-warning.svg
- + toolkit/themes/shared/icons/tor-dark-loading.png
- + toolkit/themes/shared/icons/tor-dark-loading(a)2x.png
- + toolkit/themes/shared/icons/tor-light-loading.png
- + toolkit/themes/shared/icons/tor-light-loading(a)2x.png
- toolkit/themes/shared/in-content/common-shared.css
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- toolkit/themes/shared/popupnotification.css
- toolkit/toolkit.mozbuild
- + toolkit/torbutton/chrome/locale/en-US/aboutTBUpdate.dtd
- + toolkit/torbutton/chrome/locale/en-US/brand.properties
- + toolkit/torbutton/chrome/locale/en-US/branding/brand.ftl
- + toolkit/torbutton/chrome/locale/en-US/onionLocation.properties
- + toolkit/torbutton/chrome/locale/en-US/settings.properties
- + toolkit/torbutton/chrome/locale/en-US/torConnect.properties
- + toolkit/torbutton/chrome/locale/en-US/torbutton.dtd
- + toolkit/torbutton/chrome/locale/en-US/torbutton.properties
- + toolkit/torbutton/chrome/locale/en-US/torlauncher.properties
- + toolkit/torbutton/jar.mn
- + toolkit/torbutton/moz.build
- toolkit/xre/LauncherRegistryInfo.cpp
- toolkit/xre/MacLaunchHelper.h
- toolkit/xre/MacLaunchHelper.mm
- toolkit/xre/MacRunFromDmgUtils.mm
- toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp
- toolkit/xre/dllservices/mozglue/gen_dll_blocklist_defs.py
- toolkit/xre/moz.build
- toolkit/xre/nsAppRunner.cpp
- toolkit/xre/nsIXREDirProvider.idl
- toolkit/xre/nsUpdateDriver.cpp
- toolkit/xre/nsXREDirProvider.cpp
- toolkit/xre/nsXREDirProvider.h
- + tools/geckoview/.gitignore
- + tools/geckoview/Makefile
- + tools/geckoview/android-env-linux-template.sh
- + tools/geckoview/android-env-macos-template.sh
- + tools/geckoview/build.sh
- + tools/geckoview/clobber.sh
- + tools/geckoview/config.sh
- + tools/geckoview/fataar.py
- + tools/geckoview/jslint.sh
- + tools/geckoview/package-gradle.sh
- tools/lint/eslint/eslint-plugin-mozilla/lib/environments/browser-window.js
- tools/profiler/gecko/ProfilerChild.cpp
- tools/profiler/public/ProfilerChild.h
- + tools/torbrowser/Makefile
- + tools/torbrowser/browser-self-sign-macos.sh
- + tools/torbrowser/build.sh
- + tools/torbrowser/clobber.sh
- + tools/torbrowser/config.sh
- + tools/torbrowser/deploy.sh
- + tools/torbrowser/fetch.sh
- + tools/torbrowser/generate_tor_loading_png.py
- + tools/torbrowser/git-rebase-fixup-preprocessor
- + tools/torbrowser/ide.sh
- + tools/torbrowser/jslint.sh
- + tools/torbrowser/l10n/combine-translation-versions.py
- + tools/torbrowser/l10n/combine/__init__.py
- + tools/torbrowser/l10n/combine/combine.py
- + tools/torbrowser/l10n/combine/tests/README
- + tools/torbrowser/l10n/combine/tests/__init__.py
- + tools/torbrowser/l10n/combine/tests/test_android.py
- + tools/torbrowser/l10n/combine/tests/test_dtd.py
- + tools/torbrowser/l10n/combine/tests/test_fluent.py
- + tools/torbrowser/l10n/combine/tests/test_properties.py
- + tools/torbrowser/l10n/migrate.py
- + tools/torbrowser/l10n/migrations/__init__.py
- + tools/torbrowser/l10n/migrations/bug-41333-new-about-tor.py
- + tools/torbrowser/l10n/migrations/bug-41622-neterror.py
- + tools/torbrowser/l10n/migrations/bug-42202-crypto-safety.py
- + tools/torbrowser/l10n/migrations/bug-42203-about-dialog.py
- + tools/torbrowser/l10n/migrations/bug-42206-rulesets.py
- + tools/torbrowser/l10n/migrations/bug-42207-settings.py
- + tools/torbrowser/l10n/migrations/bug-42209-tor-circuit.py
- + tools/torbrowser/l10n/migrations/bug-42210-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42211-new-identity.py
- + tools/torbrowser/l10n/migrations/bug-42214-security-level.py
- + tools/torbrowser/tb-dev
- + tools/torbrowser/update_emojis.py
- tools/update-packaging/common.sh
- tools/update-packaging/make_full_update.sh
- tools/update-packaging/make_incremental_update.sh
- uriloader/base/nsDocLoader.cpp
- uriloader/base/nsURILoader.cpp
- uriloader/exthandler/nsExternalHelperAppService.cpp
- widget/ScrollbarDrawingWin.cpp
- widget/ScrollbarDrawingWin11.cpp
- widget/android/WebExecutorSupport.cpp
- widget/gtk/WidgetUtilsGtk.cpp
- widget/windows/WinTaskbar.cpp
- widget/windows/nsDataObj.cpp
- widget/windows/nsFilePicker.cpp
- xpcom/base/ErrorList.py
- xpcom/ds/StaticAtoms.py
- xpcom/io/CocoaFileUtils.mm
- xpcom/io/nsAppFileLocationProvider.cpp
- xpcom/io/nsLocalFileCommon.cpp
- xpcom/io/nsLocalFileCommon.h
- xpfe/appshell/AppWindow.cpp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/28656d…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/28656d…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag FIREFOX_115_25_0esr_BUILD1
by ma1 (@ma1) 22 Jun '25
by ma1 (@ma1) 22 Jun '25
22 Jun '25
ma1 pushed new tag FIREFOX_115_25_0esr_BUILD1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/FIREFOX_1…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch base-browser-115.25.0esr-13.5-1
by ma1 (@ma1) 22 Jun '25
by ma1 (@ma1) 22 Jun '25
22 Jun '25
ma1 pushed new branch base-browser-115.25.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch tor-browser-115.25.0esr-13.5-1
by ma1 (@ma1) 22 Jun '25
by ma1 (@ma1) 22 Jun '25
22 Jun '25
ma1 pushed new branch tor-browser-115.25.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/rbm][main] Bug 40085: Add the "rbm show_used_projects" command
by morgan (@morgan) 19 Jun '25
by morgan (@morgan) 19 Jun '25
19 Jun '25
morgan pushed to branch main at The Tor Project / Applications / RBM
Commits:
1b1b183f by Nicolas Vigier at 2025-06-19T15:45:19+02:00
Bug 40085: Add the "rbm show_used_projects" command
- - - - -
5 changed files:
- doc/Makefile
- doc/documentation.asc
- + doc/rbm-show_used_projects.asc
- lib/RBM.pm
- rbm
Changes:
=====================================
doc/Makefile
=====================================
@@ -27,6 +27,7 @@ MAN1_ASC += rbm.asc
MAN1_ASC += rbm-usage.asc
MAN1_ASC += rbm-tar.asc
MAN1_ASC += rbm-showconf.asc
+MAN1_ASC += rbm-show_used_projects.asc
MAN1_ASC += rbm-fetch.asc
MAN1_ASC += rbm-build.asc
=====================================
doc/documentation.asc
=====================================
@@ -15,6 +15,7 @@ rbm commands :
- link:rbm-usage.html[rbm-usage(1)]
- link:rbm-tar.html[rbm-tar(1)]
- link:rbm-showconf.html[rbm-showconf(1)]
+- link:rbm-show_used_projects.html[rbm-show_used_projects(1)]
- link:rbm-build.html[rbm-build(1)]
- link:rbm-fetch.html[rbm-fetch(1)]
=====================================
doc/rbm-show_used_projects.asc
=====================================
@@ -0,0 +1,37 @@
+rbm-show_used_projects(1)
+=========================
+
+NAME
+----
+rbm-show_used_projects - Show which projects are used when processing a config option
+
+
+SYNOPSIS
+--------
+[verse]
+'rbm show_used_projects' <project> <config name> [options]
+
+DESCRIPTION
+-----------
+
+This command works in a similar way to showconf, but instead of printing
+the selected config option, it will print the projects that were used
+while processing this option.
+
+COMMAND LINE OPTIONS
+--------------------
+See link:rbm_cli.html[rbm_cli(7)].
+
+EXAMPLE
+-------
+
+Show which projects are being used when processing the build script
+from the 'release' project using the 'alpha' target:
+----
+$ rbm show_used_projects release build --target alpha
+----
+
+SEE ALSO
+--------
+link:rbm.html[rbm(1)],
+link:rbm_config.html[rbm_config(7)]
=====================================
lib/RBM.pm
=====================================
@@ -34,6 +34,13 @@ BEGIN {
our $config;
+our %used_projects;
+our $store_used_projects;
+
+sub get_used_projects {
+ return sort keys %used_projects;
+}
+
sub load_config_file {
my $res = {};
my @conf;
@@ -243,6 +250,7 @@ sub confkey_str {
sub project_config {
my ($project, $name, $options) = @_;
+ $used_projects{$project} = 1 if $store_used_projects;
CORE::state %config_cache;
my $res;
my $error_if_undef = $options->{error_if_undef};
=====================================
rbm
=====================================
@@ -30,6 +30,10 @@ my %actions = (
run => \&show_conf,
descr => 'Show configuration',
},
+ show_used_projects => {
+ run => \&show_used_projects,
+ descr => 'Show the list of used projects when getting a config option',
+ },
usage => {
run => \&usage,
descr => 'Show usage information for an action',
@@ -104,6 +108,19 @@ sub show_conf {
print ref $r ? YAML::XS::Dump($r) : "$r\n";
}
+sub show_used_projects {
+ shift;
+ my $args = set_options(@_);
+ usageexit('show_used_projects') unless @$args == 2;
+ my $project = shift @$args;
+ $RBM::store_used_projects = 1;
+ RBM::valid_project($project);
+ my $r = RBM::project_config($project, @$args);
+ RBM::exit_error "Undefined" unless defined $r;
+ my @usedprojects = RBM::get_used_projects;
+ print join("\n", @usedprojects), "\n";
+}
+
sub fetch {
shift;
$RBM::config->{run}{fetch} = 1;
View it on GitLab: https://gitlab.torproject.org/tpo/applications/rbm/-/commit/1b1b183f85b3602…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/rbm/-/commit/1b1b183f85b3602…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 34434: Remove unused variables from rbm.conf
by morgan (@morgan) 19 Jun '25
by morgan (@morgan) 19 Jun '25
19 Jun '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
242984e0 by Nicolas Vigier at 2025-06-19T19:07:52+00:00
Bug 34434: Remove unused variables from rbm.conf
- - - - -
1 changed file:
- rbm.conf
Changes:
=====================================
rbm.conf
=====================================
@@ -150,8 +150,7 @@ var:
[% SET step = c("step") -%]
[% c(step, { filename => 'f', output_dir => '/out', norec => {} }) %]
- Project_Name_Channel: '[% c("var/Project_Name") %] [% c("var/channel") FILTER ucfirst %]'
- display_name: '[% c("var/Project_Name_Channel") %]'
+ display_name: '[% c("var/Project_Name") %] [% c("var/channel") FILTER ucfirst %]'
exe_name: firefox
faketime_date: "[% USE date; GET date.format(c('timestamp'), format = '%Y-%m-%d %H:%M:%S') %]"
faketime_setup: |
@@ -269,7 +268,6 @@ var:
[% END -%]
- DOCSDIR_project: '[% project %]'
set_MOZ_BUILD_DATE: 'export MOZ_BUILD_DATE=[% c("var/MOZ_BUILD_DATE") %]'
MOZ_BUILD_DATE: '[% USE date; date.format(c("var/browser_release_date"), "%Y%m%d%H%M%S") %]'
@@ -467,7 +465,6 @@ targets:
compiler: android-toolchain
android_min_api: 21
CC: '[% c("var/cross_prefix") %][% c("var/android_min_api") %]-clang'
- CXX: '[% c("var/cross_prefix") %][% c("var/android_min_api") %]-clang'
container:
suite: bookworm
arch: amd64
@@ -592,9 +589,6 @@ targets:
platform: linux
compiler: gcc
configure_opt: '[% c("var/configure_opt_project") %]'
- # Only build Namecoin for linux on nightly
- # Temporarily disabled until we have a fix for tor-browser-build#40845
- #namecoin: '[% c("var/nightly") && c("var/tor-browser") %]'
container:
suite: stretch
arch: amd64
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] 3 commits: Bug 41444: Fix android artifact generation
by brizental (@brizental) 19 Jun '25
by brizental (@brizental) 19 Jun '25
19 Jun '25
brizental pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
83acc092 by Beatriz Rizental at 2025-06-18T18:36:17+02:00
Bug 41444: Fix android artifact generation
- - - - -
dde97fb2 by Beatriz Rizental at 2025-06-18T18:36:19+02:00
Bug 41444: Fix macos and windows artifact generation
There were multiple issues.
For MacOS there were missing tools, namely hfsplus and libdmg,
the location of some bundle files were different than expected
and teh generated artifacts were not the same as the ones in
Linux, so we were copying the wrong things. Finally, we were not
taking into account universal builds when copying artifacts.
For Windows we were just not copying the right artifacts.
- - - - -
d5e2db25 by Beatriz Rizental at 2025-06-19T14:16:37+02:00
Bug 41444: Put geckoview build artifacts in separate folders
Otherwise different architecture artifacts override each other.
Also stop compressing the final folder. It's not worth it, the size
difference is minimal.
- - - - -
27 changed files:
- projects/browser/build
- projects/browser/build.android
- projects/browser/config
- projects/browser/Bundle-Data/BaseBrowser.dmg/.VolumeIcon.icns → projects/common/dmg-root/BaseBrowser.dmg/.VolumeIcon.icns
- projects/browser/Bundle-Data/BaseBrowser.dmg/.background/background.tiff → projects/common/dmg-root/BaseBrowser.dmg/.background/background.tiff
- projects/browser/Bundle-Data/BaseBrowser.dmg/alpha.DS_Store → projects/common/dmg-root/BaseBrowser.dmg/alpha.DS_Store
- projects/browser/Bundle-Data/BaseBrowser.dmg/nightly.DS_Store → projects/common/dmg-root/BaseBrowser.dmg/nightly.DS_Store
- projects/browser/Bundle-Data/BaseBrowser.dmg/release.DS_Store → projects/common/dmg-root/BaseBrowser.dmg/release.DS_Store
- projects/browser/Bundle-Data/MullvadBrowser.dmg/.VolumeIcon.icns → projects/common/dmg-root/MullvadBrowser.dmg/.VolumeIcon.icns
- projects/browser/Bundle-Data/MullvadBrowser.dmg/.background/background.png → projects/common/dmg-root/MullvadBrowser.dmg/.background/background.png
- projects/browser/Bundle-Data/MullvadBrowser.dmg/alpha.DS_Store → projects/common/dmg-root/MullvadBrowser.dmg/alpha.DS_Store
- projects/browser/Bundle-Data/MullvadBrowser.dmg/nightly.DS_Store → projects/common/dmg-root/MullvadBrowser.dmg/nightly.DS_Store
- projects/browser/Bundle-Data/MullvadBrowser.dmg/release.DS_Store → projects/common/dmg-root/MullvadBrowser.dmg/release.DS_Store
- projects/browser/Bundle-Data/TorBrowser.dmg/.VolumeIcon.icns → projects/common/dmg-root/TorBrowser.dmg/.VolumeIcon.icns
- projects/browser/Bundle-Data/TorBrowser.dmg/.background/dmg-window_2x.png → projects/common/dmg-root/TorBrowser.dmg/.background/dmg-window_2x.png
- projects/browser/Bundle-Data/TorBrowser.dmg/alpha.DS_Store → projects/common/dmg-root/TorBrowser.dmg/alpha.DS_Store
- projects/browser/Bundle-Data/TorBrowser.dmg/nightly.DS_Store → projects/common/dmg-root/TorBrowser.dmg/nightly.DS_Store
- projects/browser/Bundle-Data/TorBrowser.dmg/release.DS_Store → projects/common/dmg-root/TorBrowser.dmg/release.DS_Store
- projects/firefox/build
- projects/firefox/config
- projects/firefox/mozconfig
- projects/geckoview/build
- projects/geckoview/build_ac_fenix
- projects/geckoview/build_apk
- projects/geckoview/build_common
- projects/geckoview/config
- tools/signing/gatekeeper-bundling.sh
Changes:
=====================================
projects/browser/build
=====================================
@@ -217,7 +217,7 @@ tar -C "${TB_STAGE_DIR}" -xf [% c('input_files_by_name/firefox') %]/browser.tar.
END; %]
[% IF c("var/macos") %]
- tar -C "Bundle-Data/[% c('var/ProjectName') %].dmg" -c . | tar -C "$TB_STAGE_DIR" -x
+ tar -C "$rootdir/dmg-root/[% c('var/ProjectName') %].dmg" -c . | tar -C "$TB_STAGE_DIR" -x
pushd "$TB_STAGE_DIR"
cp [% c('var/channel') %].DS_Store .DS_Store
rm *.DS_Store
@@ -429,7 +429,14 @@ cd $distdir
popd
[% END %]
-[% IF c("var/nightly") && c("var/linux") -%]
- mkdir -p "$OUTDIR"/artifacts
- cp -r $rootdir/[% c('input_files_by_name/firefox') %]/artifacts "$OUTDIR"
+[% IF c("var/nightly") -%]
+ [% IF c("var/macos_universal") -%]
+ mkdir -p "$OUTDIR"/artifacts/aarch64
+ cp -a $rootdir/[% c('input_files_by_name/firefox-aarch64') %]/artifacts/. "$OUTDIR/artifacts/aarch64"
+ mkdir -p "$OUTDIR"/artifacts/x86_64
+ cp -a $rootdir/[% c('input_files_by_name/firefox') %]/artifacts/. "$OUTDIR/artifacts/x86_64"
+ [% ELSE -%]
+ mkdir -p "$OUTDIR"/artifacts
+ cp -a $rootdir/[% c('input_files_by_name/firefox') %]/artifacts "$OUTDIR"
+ [% END -%]
[% END %]
=====================================
projects/browser/build.android
=====================================
@@ -2,8 +2,6 @@
[% c("var/set_default_env") -%]
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
-tar -xf $rootdir/[% c('input_files_by_name/fenix') %]
-
# Bundle our extension(s).
#
# NoScript will be copied over to the profile folder
@@ -97,20 +95,22 @@ function generate_apk {
rm $aligned_apk
}
+geckoviewdir="$rootdir/[% c('input_files_by_name/fenix') %]/geckoview"
+
# Generate the QA APK and unsign patch.
qa_apk=[% dest_dir %]/[% c('filename') %]/[% c("var/project-name") %]-qa-[% c("var/osname") %]-[% c("version") %].apk
qa_unsign_patch="[% dest_dir %]/[% c('filename') %]/[% c('var/project-name') %]-qa-unsign-[% c('var/osname') %]-[% c('version') %].bspatch"
-apk=$rootdir/geckoview/*-[% c("var/abi") %]-*.apk
+apk=$geckoviewdir/*-[% c("var/abi") %]-*.apk
generate_apk $qa_apk $apk $qa_unsign_patch
# Generate the non-optimized APK used for testing and its unsign patch.
noopt_apk=[% dest_dir %]/[% c('filename') %]/[% c("var/project-name") %]-noopt-[% c("var/osname") %]-[% c("version") %].apk
-noopt_final_apk=$rootdir/geckoview/tests/*-[% c("var/abi") %]-*.apk
+noopt_final_apk=$geckoviewdir/tests/*-[% c("var/abi") %]-*.apk
generate_apk $noopt_apk $noopt_final_apk
# Copy and sign the Android test APK.
test_apk=[% dest_dir %]/[% c('filename') %]/[% c("var/project-name") %]-[% c("version") %]-androidTest.apk
-cp $rootdir/geckoview/tests/*-androidTest.apk $test_apk
+cp $geckoviewdir/tests/*-androidTest.apk $test_apk
apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $rootdir/android-qa.keystore --out $test_apk --in $test_apk --ks-key-alias androidqakey --key-pass pass:android --ks-pass pass:android
[%IF c("var/tor-browser") -%]
@@ -122,5 +122,5 @@ apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $
[% IF c("var/nightly") -%]
mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts"
- cp -r $rootdir/geckoview/artifacts [% dest_dir %]/[% c('filename') %]
+ cp -r $rootdir/[% c('input_files_by_name/fenix') %]/artifacts [% dest_dir %]/[% c('filename') %]
[% END %]
=====================================
projects/browser/config
=====================================
@@ -111,6 +111,8 @@ input_files:
enable: '[% ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
+ - filename: dmg-root
+ enable: '[% ! c("var/android") %]'
- URL: https://addons.mozilla.org/firefox/downloads/file/4411102/noscript-12.1.1.x…
name: noscript
sha256sum: f9639e63ffcfc352036de00e4ff6694bb0ca65a0bb8fbd103bd08f32dc1ff31a
=====================================
projects/browser/Bundle-Data/BaseBrowser.dmg/.VolumeIcon.icns → projects/common/dmg-root/BaseBrowser.dmg/.VolumeIcon.icns
=====================================
=====================================
projects/browser/Bundle-Data/BaseBrowser.dmg/.background/background.tiff → projects/common/dmg-root/BaseBrowser.dmg/.background/background.tiff
=====================================
=====================================
projects/browser/Bundle-Data/BaseBrowser.dmg/alpha.DS_Store → projects/common/dmg-root/BaseBrowser.dmg/alpha.DS_Store
=====================================
=====================================
projects/browser/Bundle-Data/BaseBrowser.dmg/nightly.DS_Store → projects/common/dmg-root/BaseBrowser.dmg/nightly.DS_Store
=====================================
=====================================
projects/browser/Bundle-Data/BaseBrowser.dmg/release.DS_Store → projects/common/dmg-root/BaseBrowser.dmg/release.DS_Store
=====================================
=====================================
projects/browser/Bundle-Data/MullvadBrowser.dmg/.VolumeIcon.icns → projects/common/dmg-root/MullvadBrowser.dmg/.VolumeIcon.icns
=====================================
=====================================
projects/browser/Bundle-Data/MullvadBrowser.dmg/.background/background.png → projects/common/dmg-root/MullvadBrowser.dmg/.background/background.png
=====================================
=====================================
projects/browser/Bundle-Data/MullvadBrowser.dmg/alpha.DS_Store → projects/common/dmg-root/MullvadBrowser.dmg/alpha.DS_Store
=====================================
=====================================
projects/browser/Bundle-Data/MullvadBrowser.dmg/nightly.DS_Store → projects/common/dmg-root/MullvadBrowser.dmg/nightly.DS_Store
=====================================
=====================================
projects/browser/Bundle-Data/MullvadBrowser.dmg/release.DS_Store → projects/common/dmg-root/MullvadBrowser.dmg/release.DS_Store
=====================================
=====================================
projects/browser/Bundle-Data/TorBrowser.dmg/.VolumeIcon.icns → projects/common/dmg-root/TorBrowser.dmg/.VolumeIcon.icns
=====================================
=====================================
projects/browser/Bundle-Data/TorBrowser.dmg/.background/dmg-window_2x.png → projects/common/dmg-root/TorBrowser.dmg/.background/dmg-window_2x.png
=====================================
=====================================
projects/browser/Bundle-Data/TorBrowser.dmg/alpha.DS_Store → projects/common/dmg-root/TorBrowser.dmg/alpha.DS_Store
=====================================
=====================================
projects/browser/Bundle-Data/TorBrowser.dmg/nightly.DS_Store → projects/common/dmg-root/TorBrowser.dmg/nightly.DS_Store
=====================================
=====================================
projects/browser/Bundle-Data/TorBrowser.dmg/release.DS_Store → projects/common/dmg-root/TorBrowser.dmg/release.DS_Store
=====================================
=====================================
projects/firefox/build
=====================================
@@ -49,6 +49,11 @@ export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/node/bi
[% END -%]
[% END -%]
+[% IF c("var/macos") && c("var/nightly") %]
+ tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/hfsplus-tools') %]
+ tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/libdmg') %]
+[% END %]
+
[% IF c("var/rlbox") -%]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/wasi-sysroot') %]
export WASI_SYSROOT=/var/tmp/dist/wasi-sysroot
@@ -128,16 +133,36 @@ echo "Starting ./mach build $(date)"
./mach build stage-package
[% END -%]
-[% IF c("var/nightly") && c("var/linux") -%]
+[% IF c("var/nightly") -%]
echo "Building development artifacts"
+
+ [% IF c("var/macos") -%]
+ export MOZ_PKG_MAC_BACKGROUND=$rootdir/dmg-root/[% c('var/ProjectName') %].dmg/.background/background.tiff
+ export MOZ_PKG_MAC_DSSTORE=$rootdir/dmg-root/[% c('var/ProjectName') %].dmg/nightly.DS_Store
+ export MOZ_PKG_MAC_ICON=$rootdir/dmg-root/[% c('var/ProjectName') %].dmg/.VolumeIcon.icns
+ [% END -%]
./mach package
artifactsdir=[% out_dir %]/artifacts
mkdir $artifactsdir
+
# Copy the artifacts to the target directory
# Naming convention is the same as Mozilla uses for their artifacts
- cp -a obj-*/dist/*.tar.xz $artifactsdir/target.tar.xz
- cp -a obj-*/dist/*.zip $artifactsdir/target.xpt_artifacts.zip
+ mv obj-*/dist/*.xpt_artifacts.zip $artifactsdir/target.xpt_artifacts.zip
+
+ [% IF c("var/macos") -%]
+ mv obj-*/dist/*.dmg $artifactsdir/target.dmg
+ mv obj-*/dist/*.update_framework_artifacts.zip $artifactsdir/target.update_framework_artifacts.zip
+ [% END -%]
+
+ [% IF c("var/linux") -%]
+ mv obj-*/dist/*.tar.xz $artifactsdir/target.tar.xz
+ [% END -%]
+
+ [% IF c("var/windows") -%]
+ mv obj-*/dist/*.zip $artifactsdir/target.zip
+ [% END -%]
+
./mach python -m mozbuild.action.test_archive common $artifactsdir/target.common.tests.tar.gz
[% END %]
=====================================
projects/firefox/config
=====================================
@@ -249,3 +249,11 @@ input_files:
# TorButton patch authored by Arthur Edelstein, from https://github.com/arthuredelstein/torbutton/ branch 2.1.10-namecoin
- filename: namecoin-etld.patch
enable: '[% c("var/namecoin") %]'
+ - filename: dmg-root
+ enable: '[% c("var/macos") && c("var/nightly") %]'
+ - project: hfsplus-tools
+ name: hfsplus-tools
+ enable: '[% c("var/macos") && c("var/nightly") %]'
+ - project: libdmg-hfsplus
+ name: libdmg
+ enable: '[% c("var/macos") && c("var/nightly") %]'
=====================================
projects/firefox/mozconfig
=====================================
@@ -56,6 +56,12 @@
export TOOLCHAIN_PREFIX=$CROSS_CCTOOLS_PATH/bin/[% c('var/build_target') %]-
export DSYMUTIL="$TOOLCHAIN_DIR/clang/bin/dsymutil"
+ [% IF c("var/nightly") -%]
+ export MKFSHFS=/var/tmp/dist/hfsplus-tools/newfs_hfs
+ export DMG_TOOL=/var/tmp/dist/libdmg-hfsplus/dmg
+ export HFS_TOOL=/var/tmp/dist/libdmg-hfsplus/hfsplus
+ [% END -%]
+
export HOST_CFLAGS="-g"
export HOST_CXXFLAGS="-g"
export HOST_LDFLAGS="-g"
=====================================
projects/geckoview/build
=====================================
@@ -38,7 +38,7 @@ echo "Starting ./mach build $(date)"
echo "Building development artifacts"
./mach package
- artifactsdir=[% dest_dir %]/artifacts
+ artifactsdir=$outdir/artifacts
mkdir -p $artifactsdir
# Copy the artifacts to the target directory
# Naming convention is the same as Mozilla uses for their artifacts
@@ -50,16 +50,9 @@ echo "Starting ./mach build $(date)"
echo "Build finished, copying the AAR to the to the destination directory $(date)"
[% IF !c("var/android_single_arch") -%]
- mkdir "$distdir/[% project %]"
+ mkdir -p "$outdir/[% project %]"
# We don't want the debug or "exoplayer" .aars, but the .aar that has `omni` in its name.
- find obj-* -type f -name geckoview*omni*.aar -exec cp {} $distdir/[% project %] \;
+ find obj-* -type f -name geckoview*omni*.aar -exec mv {} $outdir/[% project %] \;
[% ELSE -%]
[% INCLUDE 'build_ac_fenix' %]
[% END -%]
-
-echo "Starting to package artifacts $(date)"
-cd $distdir
-[% c('tar', {
- tar_src => [ project ],
- tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
=====================================
projects/geckoview/build_ac_fenix
=====================================
@@ -27,7 +27,7 @@ echo autoPublish.android-components.dir=../android-components > local.properties
# Add our localized strings
supported_locales="[% tmpl(c('var/locales_mobile').join(' ')) %]"
for lang in $supported_locales; do
- cp "/var/tmp/dist/translation-fenix/$lang/torbrowser_strings.xml" "app/src/main/res/values-$lang/"
+ cp "$distdir/translation-fenix/$lang/torbrowser_strings.xml" "app/src/main/res/values-$lang/"
done
[% END -%]
@@ -41,8 +41,8 @@ echo "Building $variant Fenix APK"
gradle $GRADLE_FLAGS -PversionName="$version_name" "assemble$variant"
echo "Build finished, copying the APK(s) to the destination directory $(date)"
-mkdir $distdir/[% project %]
-cp $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]
+mkdir -p $outdir/[% project %]
+mv $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/fenix/$variant/*.apk $outdir/[% project %]
echo "Building non optimized $variant Fenix APK for testing"
gradle $GRADLE_FLAGS -PversionName="$version_name" -PdisableOptimization "assemble$variant"
@@ -52,9 +52,8 @@ gradle $GRADLE_FLAGS -PversionName="$version_name" -PtestBuildType="$variant" -P
echo "Test build finished, copying the APKs to the destination directory $(date)"
-mkdir $distdir/[% project %]/tests
-cp $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]/tests
-cp $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/fenix/$variant/*.apk $distdir/[% project %]/tests
+mkdir -p $outdir/[% project %]/tests
+mv $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/fenix/$variant/*.apk $outdir/[% project %]/tests
+mv $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/fenix/$variant/*.apk $outdir/[% project %]/tests
popd
-
=====================================
projects/geckoview/build_apk
=====================================
@@ -38,9 +38,3 @@ echo "ac_add_options --with-branding=$branding_dir" >> mozconfig-android-all
./mach build --verbose
[% INCLUDE 'build_ac_fenix' %]
-
-cd $distdir/
-[% c('tar', {
- tar_src => [ project ],
- tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
=====================================
projects/geckoview/build_common
=====================================
@@ -5,7 +5,8 @@
}) %]
distdir=/var/tmp/dist
builddir=/var/tmp/build
-mkdir -p $builddir $distdir
+outdir="[% dest_dir _ '/' _ c('filename') -%]"
+mkdir -p $builddir $distdir $outdir
tar -C $distdir -xf [% c('input_files_by_name/node') %]
export PATH="/var/tmp/dist/node/bin:$PATH"
=====================================
projects/geckoview/config
=====================================
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
-filename: 'geckoview-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
+filename: 'geckoview-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/browser_branch") %]-build[% c("var/browser_build") %]'
tag_gpg_id: 1
git_url: https://gitlab.torproject.org/tpo/applications/tor-browser.git
@@ -59,7 +59,7 @@ targets:
steps:
build_apk:
- filename: 'geckoview-[% c("version") %]-apks-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
+ filename: 'geckoview-[% c("version") %]-apks-[% c("var/build_id") %]'
version: '[% c("abbrev") %]'
build_apk: '[% INCLUDE build_apk %]'
input_files:
=====================================
tools/signing/gatekeeper-bundling.sh
=====================================
@@ -64,7 +64,7 @@ test -d "$macos_signed_dir" || mkdir "$macos_signed_dir"
tmpdir="$macos_stapled_dir/tmp"
rm -Rf "$tmpdir"
mkdir "$tmpdir"
-cp -rT "$script_dir/../../projects/browser/Bundle-Data/$ProjName.dmg" "$tmpdir/dmg"
+cp -rT "$script_dir/../../projects/common/dmg-root/$ProjName.dmg" "$tmpdir/dmg"
tar -C "$tmpdir" -xf "$libdmg_file"
tar -C "$tmpdir" -xf "$hfstools_file"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bumped Firefox and GeckoView to 140.0a1-15.0-2.
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
82357805 by Pier Angelo Vendrame at 2025-06-18T17:17:43+02:00
Bumped Firefox and GeckoView to 140.0a1-15.0-2.
- - - - -
2 changed files:
- projects/firefox/config
- projects/geckoview/config
Changes:
=====================================
projects/firefox/config
=====================================
@@ -19,7 +19,7 @@ var:
firefox_platform_version: '140.0a1'
firefox_version: '[% c("var/firefox_platform_version") %]'
browser_series: '15.0'
- browser_rebase: 1
+ browser_rebase: 2
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
browser_build: 1
copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]'
=====================================
projects/geckoview/config
=====================================
@@ -21,7 +21,7 @@ var:
firefox_platform_version: '140.0a1'
geckoview_version: '[% c("var/firefox_platform_version") %]'
browser_series: '15.0'
- browser_rebase: 1
+ browser_rebase: 2
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
browser_build: 1
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-140.0a1-15.0-2-build1
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed new tag mullvad-browser-140.0a1-15.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.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-2] 26 commits: Add CI for Mullvad Browser
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed to branch mullvad-browser-140.0a1-15.0-2 at The Tor Project / Applications / Mullvad Browser
Commits:
2193d729 by Henry Wilkes at 2025-06-18T16:13:01+02:00
Add CI for Mullvad Browser
- - - - -
6025e08c by Pier Angelo Vendrame at 2025-06-18T16:13:02+02:00
MB 38: Mullvad Browser configuration
- - - - -
e7dbf9a9 by Pier Angelo Vendrame at 2025-06-18T16:13:02+02: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
- - - - -
395a6784 by Henry Wilkes at 2025-06-18T16:13:02+02:00
Mullvad Browser strings
This commit adds strings needed by the following Mullvad Browser
patches.
- - - - -
1b674067 by Pier Angelo Vendrame at 2025-06-18T16:13:03+02: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.
- - - - -
b023fd16 by Pier Angelo Vendrame at 2025-06-18T16:13:03+02:00
MB 63: Customize some about pages for Mullvad Browser
Also:
mullvad-browser#57: Purge unneeded about: pages
- - - - -
715ae430 by Pier Angelo Vendrame at 2025-06-18T16:13:03+02:00
MB 37: Customization for the about dialog
- - - - -
98c4de76 by Henry Wilkes at 2025-06-18T16:13:04+02:00
MB 39: Add home page about:mullvad-browser
- - - - -
58e01cac by hackademix at 2025-06-18T16:13:04+02:00
MB 97: Remove UI cues to install new extensions.
- - - - -
2f3fa9c8 by hackademix at 2025-06-18T16:13:04+02:00
MB 47: uBlock Origin customization
- - - - -
5a864528 by Pier Angelo Vendrame at 2025-06-18T16:13:04+02: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.
- - - - -
f6c4191d by Pier Angelo Vendrame at 2025-06-18T16:13:05+02:00
MB 112: Updater customization for Mullvad Browser
MB 71: Set the updater base URL to Mullvad domain
- - - - -
43cba6fd by Nicolas Vigier at 2025-06-18T16:13:05+02:00
MB 79: Add Mullvad Browser MAR signing keys
MB 256: Add mullvad-browser nightly mar signing key
- - - - -
a089ca0b by Pier Angelo Vendrame at 2025-06-18T16:13:05+02: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.
- - - - -
63163cd5 by Pier Angelo Vendrame at 2025-06-18T16:13:06+02: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.
- - - - -
19e55837 by hackademix at 2025-06-18T16:13:06+02:00
MB 163: prevent uBlock Origin from being uninstalled/disabled
- - - - -
f6aa5bc0 by Richard Pospesel at 2025-06-18T16:13:06+02:00
MB 188: Customize Gitlab Issue and Merge templates
- - - - -
d5763243 by rui hildt at 2025-06-18T16:13:07+02:00
MB 213: Customize the search engines list
MB 328: Refactor the search engine patch.
Upstream switched to a completely different search engine configuration
between ESR 115 and ESR 128.
We moved our configuration to a couple of JSON files that do not follow
upstream's schemas, as they are overcomplicated for our needs.
Also, we keep the old search engine extensions for now, as upstream
also kept them, and planned of removing them with Bug 1885953.
- - - - -
3d3173b3 by hackademix at 2025-06-18T16:13:07+02:00
MB 214: Enable cross-tab identity leak protection in "quiet" mode
- - - - -
efc6f8d5 by Pier Angelo Vendrame at 2025-06-18T16:13:07+02:00
MB 80: Enable Mullvad Browser as a default browser
- - - - -
0519e8ea by Pier Angelo Vendrame at 2025-06-18T16:13:07+02: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.
- - - - -
c8048676 by Henry Wilkes at 2025-06-18T16:13:08+02:00
MB 329: Customize toolbar for mullvad-browser.
- - - - -
de93c79d by Henry Wilkes at 2025-06-18T16:13:08+02:00
MB 419: Mullvad Browser migration procedures.
This commit implements the the Mullvad Browser's version of _migrateUI.
- - - - -
bf87211b by Pier Angelo Vendrame at 2025-06-18T16:13:08+02:00
fixup! MB 1: Mullvad Browser branding
TB 43776: Mark branding files for l10n merge.
- - - - -
7c9cf913 by Pier Angelo Vendrame at 2025-06-18T16:13:08+02:00
fixup! MB 80: Enable Mullvad Browser as a default browser
Comment a definition since mingw now defines it as well.
- - - - -
4ca6317f by Pier Angelo Vendrame at 2025-06-18T16:13:09+02:00
fixup! MB 39: Add home page about:mullvad-browser
Drop the unnecessary font CSP directive.
Debug builds complain about this, and they crash with a failed
assertion.
- - - - -
271 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/060 Rebase - Alpha.md
- .gitlab/issue_templates/061 Rebase - Stable.md
- .gitlab/issue_templates/063 Rebase - Rapid.md
- .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/Rebase Browser - Alpha.md
- + .gitlab/issue_templates/Rebase Browser - Rapid.md
- + .gitlab/issue_templates/Rebase Browser - Stable.md
- .gitlab/merge_request_templates/Default.md
- + .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/firefox-wordmark.svg
- + browser/branding/mb-alpha/content/icon128.png
- + browser/branding/mb-alpha/content/icon16.png
- + browser/branding/mb-alpha/content/icon256.png
- + browser/branding/mb-alpha/content/icon32.png
- + browser/branding/mb-alpha/content/icon48.png
- + browser/branding/mb-alpha/content/icon64.png
- + browser/branding/mb-alpha/content/jar.mn
- + browser/branding/mb-alpha/content/moz.build
- + browser/branding/mb-alpha/content/mullvad-branding.css
- + browser/branding/mb-alpha/default128.png
- + browser/branding/mb-alpha/default16.png
- + browser/branding/mb-alpha/default22.png
- + browser/branding/mb-alpha/default24.png
- + browser/branding/mb-alpha/default256.png
- + browser/branding/mb-alpha/default32.png
- + browser/branding/mb-alpha/default48.png
- + browser/branding/mb-alpha/default64.png
- + browser/branding/mb-alpha/document.icns
- + browser/branding/mb-alpha/document.ico
- + browser/branding/mb-alpha/document_pdf.ico
- + browser/branding/mb-alpha/firefox.icns
- + browser/branding/mb-alpha/firefox.ico
- + browser/branding/mb-alpha/firefox.svg
- + browser/branding/mb-alpha/locales/en-US/brand.ftl
- + browser/branding/mb-alpha/locales/en-US/brand.properties
- + browser/branding/mb-alpha/locales/jar.mn
- + browser/branding/mb-alpha/locales/moz.build
- + browser/branding/mb-alpha/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-alpha/moz.build
- + browser/branding/mb-alpha/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-alpha/newtab.ico
- + browser/branding/mb-alpha/newwindow.ico
- + browser/branding/mb-alpha/pbmode.ico
- + browser/branding/mb-alpha/pref/firefox-branding.js
- + browser/branding/mb-nightly/VisualElements_150.png
- + browser/branding/mb-nightly/VisualElements_70.png
- + browser/branding/mb-nightly/configure.sh
- + browser/branding/mb-nightly/content/about-logo.png
- + browser/branding/mb-nightly/content/about-logo.svg
- + browser/branding/mb-nightly/content/about-logo(a)2x.png
- + browser/branding/mb-nightly/content/about-wordmark.svg
- + browser/branding/mb-nightly/content/about.png
- + browser/branding/mb-nightly/content/aboutDialog.css
- + browser/branding/mb-nightly/content/firefox-wordmark.svg
- + browser/branding/mb-nightly/content/icon128.png
- + browser/branding/mb-nightly/content/icon16.png
- + browser/branding/mb-nightly/content/icon256.png
- + browser/branding/mb-nightly/content/icon32.png
- + browser/branding/mb-nightly/content/icon48.png
- + browser/branding/mb-nightly/content/icon64.png
- + browser/branding/mb-nightly/content/jar.mn
- + browser/branding/mb-nightly/content/moz.build
- + browser/branding/mb-nightly/content/mullvad-branding.css
- + browser/branding/mb-nightly/default128.png
- + browser/branding/mb-nightly/default16.png
- + browser/branding/mb-nightly/default22.png
- + browser/branding/mb-nightly/default24.png
- + browser/branding/mb-nightly/default256.png
- + browser/branding/mb-nightly/default32.png
- + browser/branding/mb-nightly/default48.png
- + browser/branding/mb-nightly/default64.png
- + browser/branding/mb-nightly/document.icns
- + browser/branding/mb-nightly/document.ico
- + browser/branding/mb-nightly/document_pdf.ico
- + browser/branding/mb-nightly/firefox.icns
- + browser/branding/mb-nightly/firefox.ico
- + browser/branding/mb-nightly/firefox.svg
- + browser/branding/mb-nightly/locales/en-US/brand.ftl
- + browser/branding/mb-nightly/locales/en-US/brand.properties
- + browser/branding/mb-nightly/locales/jar.mn
- + browser/branding/mb-nightly/locales/moz.build
- + browser/branding/mb-nightly/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-nightly/moz.build
- + browser/branding/mb-nightly/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-nightly/newtab.ico
- + browser/branding/mb-nightly/newwindow.ico
- + browser/branding/mb-nightly/pbmode.ico
- + browser/branding/mb-nightly/pref/firefox-branding.js
- + browser/branding/mb-release/VisualElements_150.png
- + browser/branding/mb-release/VisualElements_70.png
- + browser/branding/mb-release/configure.sh
- + browser/branding/mb-release/content/about-logo.png
- + browser/branding/mb-release/content/about-logo.svg
- + browser/branding/mb-release/content/about-logo(a)2x.png
- + browser/branding/mb-release/content/about-wordmark.svg
- + browser/branding/mb-release/content/about.png
- + browser/branding/mb-release/content/aboutDialog.css
- + browser/branding/mb-release/content/firefox-wordmark.svg
- + browser/branding/mb-release/content/icon128.png
- + browser/branding/mb-release/content/icon16.png
- + browser/branding/mb-release/content/icon256.png
- + browser/branding/mb-release/content/icon32.png
- + browser/branding/mb-release/content/icon48.png
- + browser/branding/mb-release/content/icon64.png
- + browser/branding/mb-release/content/jar.mn
- + browser/branding/mb-release/content/moz.build
- + browser/branding/mb-release/content/mullvad-branding.css
- + browser/branding/mb-release/default128.png
- + browser/branding/mb-release/default16.png
- + browser/branding/mb-release/default22.png
- + browser/branding/mb-release/default24.png
- + browser/branding/mb-release/default256.png
- + browser/branding/mb-release/default32.png
- + browser/branding/mb-release/default48.png
- + browser/branding/mb-release/default64.png
- + browser/branding/mb-release/document.icns
- + browser/branding/mb-release/document.ico
- + browser/branding/mb-release/document_pdf.ico
- + browser/branding/mb-release/firefox.icns
- + browser/branding/mb-release/firefox.ico
- + browser/branding/mb-release/firefox.svg
- + browser/branding/mb-release/locales/en-US/brand.ftl
- + browser/branding/mb-release/locales/en-US/brand.properties
- + browser/branding/mb-release/locales/jar.mn
- + browser/branding/mb-release/locales/moz.build
- + browser/branding/mb-release/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-release/moz.build
- + browser/branding/mb-release/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-release/newtab.ico
- + browser/branding/mb-release/newwindow.ico
- + browser/branding/mb-release/pbmode.ico
- + browser/branding/mb-release/pref/firefox-branding.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/DesktopActorRegistry.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/moz.build
- + browser/components/mullvad-browser/AboutMullvadBrowserChild.sys.mjs
- + browser/components/mullvad-browser/AboutMullvadBrowserParent.sys.mjs
- + browser/components/mullvad-browser/content/2728-sparkles.svg
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.css
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.html
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.js
- + browser/components/mullvad-browser/jar.mn
- + browser/components/mullvad-browser/moz.build
- browser/components/newtab/AboutNewTabRedirector.sys.mjs
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/preferences/search.inc.xhtml
- + browser/components/search/extensions/brave/favicon.svg
- + browser/components/search/extensions/brave/manifest.json
- + browser/components/search/extensions/ddg-html/favicon.ico
- + browser/components/search/extensions/ddg-html/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/metager/favicon.ico
- + browser/components/search/extensions/metager/manifest.json
- + browser/components/search/extensions/mojeek/favicon.ico
- + browser/components/search/extensions/mojeek/manifest.json
- + browser/components/search/extensions/mullvad-leta/favicon.svg
- + browser/components/search/extensions/mullvad-leta/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- browser/components/shell/ShellService.sys.mjs
- browser/components/shell/WindowsDefaultBrowser.cpp
- browser/components/shell/nsWindowsShellService.cpp
- browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/mullvad-browser
- browser/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
- 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
- toolkit/components/extensions/child/ext-storage.js
- toolkit/components/extensions/parent/ext-storage.js
- toolkit/components/passwordmgr/LoginHelper.sys.mjs
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/brave.svg
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/metager.ico
- + toolkit/components/search/content/mojeek.ico
- + toolkit/components/search/content/mullvad-leta.svg
- + toolkit/components/search/content/mullvadBrowserSearchEngineIcons.json
- + toolkit/components/search/content/mullvadBrowserSearchEngines.json
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/content/aboutRightsMullvad.xhtml
- + toolkit/content/aboutTelemetryMullvad.xhtml
- toolkit/content/jar.mn
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- + toolkit/locales/en-US/toolkit/global/mullvad-browser.ftl
- toolkit/mozapps/defaultagent/EventLog.h
- toolkit/mozapps/defaultagent/SetDefaultBrowser.cpp
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/content/aboutaddons.css
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- + toolkit/themes/shared/icons/mullvadbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- toolkit/xre/nsAppRunner.cpp
- tools/lint/fluent-lint/exclusions.yml
- widget/windows/WinTaskbar.cpp
- widget/windows/moz.build
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/22…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/22…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag base-browser-140.0a1-15.0-2-build1
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed new tag base-browser-140.0a1-15.0-2-build1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/base-…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new branch mullvad-browser-140.0a1-15.0-2
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed new branch mullvad-browser-140.0a1-15.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.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-2] fixup! TB 40026 [android]: Implement Security Level settings on Android.
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
a4478674 by Pier Angelo Vendrame at 2025-06-18T15:22:34+02:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43856 (workaround): allow a deprecated call.
- - - - -
1 changed file:
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevelFragment.kt
Changes:
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevelFragment.kt
=====================================
@@ -110,6 +110,7 @@ class TorSecurityLevelFragment : Fragment() {
}
binding.cancelButton.setOnClickListener {
+ @Suppress("DEPRECATION")
requireActivity().onBackPressed()
}
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a447867…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a447867…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-2] fixup! BB 42305: Add script to combine translation files across versions.
by henry (@henry) 18 Jun '25
by henry (@henry) 18 Jun '25
18 Jun '25
henry pushed to branch base-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
22dc4021 by henry at 2025-06-18T12:59:45+00:00
fixup! BB 42305: Add script to combine translation files across versions.
TB 43891: Update the translation CI for the 15.0 cycle.
Handles non-esr branch/tag names. E.g. 140.0a1 rather than 140.0esr.
Allows legacy branch (13.5) to be more than 1.0 versions behind (15.0).
Disables `--depth` and `--filter` arguments when running outside the
gitlab CI. This makes the script safe to run locally for testing without
having to make any adjustments.
(cherry picked from commit 5e4cfc1dcb130d0768d5e3baac759633c5d2babd)
Co-authored-by: Henry Wilkes <henry(a)torproject.org>
- - - - -
1 changed file:
- tools/base-browser/l10n/combine-translation-versions.py
Changes:
=====================================
tools/base-browser/l10n/combine-translation-versions.py
=====================================
@@ -7,6 +7,12 @@ import subprocess
from combine import combine_files
+# Whether we are running within the gitlab CI, rather than on a developer
+# machine. This toggles some optimisations that work well in the temporary
+# gitlab environment but would cause problems if run locally for testing
+# purposes.
+IN_GITLAB_CI_ENV = os.environ.get("GITLAB_CI", "") == "true"
+
arg_parser = argparse.ArgumentParser(
description="Combine a translation file across two different versions"
)
@@ -86,7 +92,7 @@ class BrowserBranch:
"""
version_match = re.match(
r"(?P<prefix>[a-z]+\-browser)\-"
- r"(?P<firefox>[0-9]+(?:\.[0-9]+){1,2})esr\-"
+ r"(?P<firefox>[0-9]+(?:\.[0-9]+){1,2})(?:esr|[ab][0-9]+)?\-"
r"(?P<browser>[0-9]+\.[05])\-"
r"(?P<number>[0-9]+)$",
branch_name,
@@ -170,11 +176,15 @@ class BrowserBranch:
"""
if self._file_paths is None:
if not self._is_head:
- # Minimal fetch of non-HEAD branch to get the file paths.
- # Individual file blobs will be downloaded as needed.
- git_run(
- ["fetch", "--depth=1", "--filter=blob:none", "origin", self.name]
- )
+ fetch_args = ()
+ if IN_GITLAB_CI_ENV:
+ # Minimal fetch of non-HEAD branch to get the file paths.
+ # Individual file blobs will be downloaded as needed.
+ # Only do this when running in the gitlab CI since it will
+ # alter the user's .git/config and will effect future
+ # plain fetches.
+ fetch_args = ("--depth=1", "--filter=blob:none")
+ git_run(["fetch", *fetch_args, "origin", self.name])
self._file_paths = git_lines(
["ls-tree", "-r", "--format=%(path)", self._ref]
)
@@ -213,16 +223,19 @@ def get_stable_branch(
# tor-browser-build.
tag_glob = f"{compare_version.prefix}-*-build1"
- # To speed up, only fetch the tags without blobs.
- git_run(
- ["fetch", "--depth=1", "--filter=object:type=tag", "origin", "tag", tag_glob]
- )
+ fetch_args = ()
+ if IN_GITLAB_CI_ENV:
+ # To speed up, only fetch the tags without blobs.
+ # Only do this when running in the gitlab CI since it will alter the
+ # user's .git/config and will effect future plain fetches.
+ 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)}-[^-]+esr-[^-]+-[^-]+-build1$"
+ rf"^{re.escape(compare_version.prefix)}-[^-]+-[^-]+-[^-]+-build1$"
)
for build_tag, annotation in (
@@ -259,13 +272,7 @@ def get_stable_branch(
continue
stable_branches.append(branch)
elif is_legacy:
- # Legacy can be two release versions behind.
- # We also allow for being just one version behind.
- if not (
- compare_version.release_below(branch, 2)
- or compare_version.release_below(branch, 1)
- ):
- continue
+ # Legacy can be arbitrary release versions behind.
legacy_branches.append(branch)
if not stable_branches:
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/22dc402…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/22dc402…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-2] fixup! BB 42305: Add script to combine translation files across versions.
by henry (@henry) 18 Jun '25
by henry (@henry) 18 Jun '25
18 Jun '25
henry pushed to branch tor-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
5e4cfc1d by Henry Wilkes at 2025-06-18T12:26:30+01:00
fixup! BB 42305: Add script to combine translation files across versions.
TB 43891: Update the translation CI for the 15.0 cycle.
Handles non-esr branch/tag names. E.g. 140.0a1 rather than 140.0esr.
Allows legacy branch (13.5) to be more than 1.0 versions behind (15.0).
Disables `--depth` and `--filter` arguments when running outside the
gitlab CI. This makes the script safe to run locally for testing without
having to make any adjustments.
- - - - -
1 changed file:
- tools/base-browser/l10n/combine-translation-versions.py
Changes:
=====================================
tools/base-browser/l10n/combine-translation-versions.py
=====================================
@@ -7,6 +7,12 @@ import subprocess
from combine import combine_files
+# Whether we are running within the gitlab CI, rather than on a developer
+# machine. This toggles some optimisations that work well in the temporary
+# gitlab environment but would cause problems if run locally for testing
+# purposes.
+IN_GITLAB_CI_ENV = os.environ.get("GITLAB_CI", "") == "true"
+
arg_parser = argparse.ArgumentParser(
description="Combine a translation file across two different versions"
)
@@ -86,7 +92,7 @@ class BrowserBranch:
"""
version_match = re.match(
r"(?P<prefix>[a-z]+\-browser)\-"
- r"(?P<firefox>[0-9]+(?:\.[0-9]+){1,2})esr\-"
+ r"(?P<firefox>[0-9]+(?:\.[0-9]+){1,2})(?:esr|[ab][0-9]+)?\-"
r"(?P<browser>[0-9]+\.[05])\-"
r"(?P<number>[0-9]+)$",
branch_name,
@@ -170,11 +176,15 @@ class BrowserBranch:
"""
if self._file_paths is None:
if not self._is_head:
- # Minimal fetch of non-HEAD branch to get the file paths.
- # Individual file blobs will be downloaded as needed.
- git_run(
- ["fetch", "--depth=1", "--filter=blob:none", "origin", self.name]
- )
+ fetch_args = ()
+ if IN_GITLAB_CI_ENV:
+ # Minimal fetch of non-HEAD branch to get the file paths.
+ # Individual file blobs will be downloaded as needed.
+ # Only do this when running in the gitlab CI since it will
+ # alter the user's .git/config and will effect future
+ # plain fetches.
+ fetch_args = ("--depth=1", "--filter=blob:none")
+ git_run(["fetch", *fetch_args, "origin", self.name])
self._file_paths = git_lines(
["ls-tree", "-r", "--format=%(path)", self._ref]
)
@@ -213,16 +223,19 @@ def get_stable_branch(
# tor-browser-build.
tag_glob = f"{compare_version.prefix}-*-build1"
- # To speed up, only fetch the tags without blobs.
- git_run(
- ["fetch", "--depth=1", "--filter=object:type=tag", "origin", "tag", tag_glob]
- )
+ fetch_args = ()
+ if IN_GITLAB_CI_ENV:
+ # To speed up, only fetch the tags without blobs.
+ # Only do this when running in the gitlab CI since it will alter the
+ # user's .git/config and will effect future plain fetches.
+ 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)}-[^-]+esr-[^-]+-[^-]+-build1$"
+ rf"^{re.escape(compare_version.prefix)}-[^-]+-[^-]+-[^-]+-build1$"
)
for build_tag, annotation in (
@@ -259,13 +272,7 @@ def get_stable_branch(
continue
stable_branches.append(branch)
elif is_legacy:
- # Legacy can be two release versions behind.
- # We also allow for being just one version behind.
- if not (
- compare_version.release_below(branch, 2)
- or compare_version.release_below(branch, 1)
- ):
- continue
+ # Legacy can be arbitrary release versions behind.
legacy_branches.append(branch)
if not stable_branches:
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/5e4cfc1…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/5e4cfc1…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-2] 10 commits: fixup! Base Browser strings
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed to branch base-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
1d1f2fad by Pier Angelo Vendrame at 2025-06-18T12:38:00+02:00
fixup! Base Browser strings
BB 43849: Remove a useless lint exclusion.
Probably it was a rebase error.
- - - - -
d604827f by hackademix at 2025-06-18T12:38:01+02:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
6208159c by Henry Wilkes at 2025-06-18T12:38:01+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
b998d42e by Henry Wilkes at 2025-06-18T12:38:01+02:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
079eec34 by Henry Wilkes at 2025-06-18T12:38:01+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
29c7fdc7 by Henry Wilkes at 2025-06-18T12:38:01+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
d93fb763 by Henry Wilkes at 2025-06-18T12:38:02+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
91a01176 by Pier Angelo Vendrame at 2025-06-18T12:38:02+02:00
fixup! BB 42758: Fix WebRTC build errors.
MB 440: Change abseil's thread mode.
Remove pthread again and use win32 threads also when building with
mingw.
- - - - -
9e799e57 by Morgan at 2025-06-18T12:38:13+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
update target channels with esr140-15.0 and esr128-14.5
- - - - -
53d4cd16 by Morgan at 2025-06-18T12:38:13+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add fingerprinting issue template
- - - - -
27 changed files:
- + .gitlab/issue_templates/031 Fingerprinting.md
- .gitlab/issue_templates/Default.md
- .gitlab/merge_request_templates/Default.md
- browser/app/profile/001-base-profile.js
- browser/components/BrowserGlue.sys.mjs
- + browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
- browser/components/securitylevel/content/securityLevel.js
- browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelDialog.js
- + browser/components/securitylevel/content/securityLevelDialog.xhtml
- 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/modules/SecurityLevelRestartNotification.sys.mjs
- browser/modules/moz.build
- media/libaom/moz.build
- third_party/abseil-cpp/absl/base/base_gn/moz.build
- third_party/abseil-cpp/absl/base/internal/thread_identity.cc
- third_party/abseil-cpp/absl/base/internal/thread_identity.h
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/locales/en-US/toolkit/global/base-browser.ftl
- tools/lint/fluent-lint/exclusions.yml
Changes:
=====================================
.gitlab/issue_templates/031 Fingerprinting.md
=====================================
@@ -0,0 +1,149 @@
+# 👣 Fingerprinting
+<!--
+Use this template to track a browser fingerprinting vector. Such vectors
+allow for stateless cross-site tracking (i.e. across somehow collaborating
+but otherwise unrelated 1st party domains like foo.com and bar.com)
+
+For the purposes of developing a fix, this template is meant to define all of the things
+we want to think about and analyze before implementing a fix. It's totally fine to leave
+parts of this template empty on initial report! The the issue description can be updated
+and edited as we learn things.
+
+This template is also meant to serve as documentation/explanation about how we think
+about fingerprinting vectors and minimising their utility.
+-->
+
+## Problem Statement
+<!--
+Please give an overview of the problem you think we should address.
+ e.g. system fonts (`font: caption`) might expose desktop
+ environment/distribution/language/customization because Firefox uses OS
+ settings.
+-->
+
+## Documentation
+<!--
+Please provide a links to the relevant standards or documentation for the affected web
+platform features. Additionally, please provide links to relevant academic research,
+upstream Bugzilla issues, etc (if available).
+-->
+
+## Repro Steps
+<!--
+Please provide any proof of concept which can help us under how this feature
+can be used for fingerprinting and that we can use as a test for our patches.
+-->
+
+## Analysis
+
+### Metric Distribution
+<!--
+- How many different possible buckets of values exist without fingerprinting
+mitigations?
+- How are users distributed between these buckets?
+- Do any group of users stand-out by default?
+- Do users in each of these buckets likely have different risk profiles?
+-->
+
+### Metric Stability
+<!--
+- How does the metric change during and between browsing sessions without mitigations?
+ e.g. Window size may be mostly stable during a browsing session
+ but may change between browsing sessions
+ e.g. User-Agent string is stable during a browsing session, but may change
+ between major browser updates
+-->
+
+## Mitigation Strategy
+<!--
+Outline (at least) one of the possible mitigation strategies for this metric
+(normalisation, randomisation, or disabling)
+-->
+
+### Normalisation
+<!--
+Describe a strategy whereby all users report the same value for the metric, or the pros
+and cons if there are multiple potential normalisation strategies.
+ e.g. Standardising reported WebGL constants such as maximum framebuffer size
+- After normalisation, would this metric be equivalent another normalised metric?
+ e.g. fonts are usually equivalent to the OS, which is already exposed.
+- Sometimes it is impossible to use the same value for all users, but reducing the
+ number of user buckets is still a win.
+
+✅ This is the preferred mitigation strategy.
+-->
+
+### Randomisation
+<!--
+Describe a strategy whereby users return randomised metrics
+ e.g. when enumerating webcams, choose a number of devices from a `[1; 3]` uniform
+ distribution
+- How did you choose this distribution and its parameters?
+- What strategies should we use to hide the randomization?
+ e.g. randomize the value only once per session and per first-party
+- Why is it not possible to use a normalized value, instead? Normalization is often
+ better than randomization because it is often easier to conceal
+
+A randomised metric should ideally be:
+- Different per first party domain
+ e.g. different websites measure a different value for the metric
+- Stable per session per first party domain
+ e.g. a website repeatedly measuring the metric will get back the same value
+ during the same browsing session
+- Different between sessions, regardless of first party domain
+ e.g. a website measuring a metric between browsing sessions will get back a different
+ value
+
+⚠️ We should only resort to randomisation if providing normalised values completely
+and utterly breaks web compatibility, usability, or accessibility.
+-->
+
+### Disabling
+<!--
+Describe a strategy whereby the fingerprintable metric is just outright disabled
+ e.g. Disabling WebAuthN feature entirely
+- Why is it not possible to spoof a (normalized) value instead? Disabling an API might
+ break some sites.
+ e.g. Rejecting the permission prompt request promise would be preferable to removing
+ or disabling the relevant APIs
+- Is this a temporary change?
+ e.g. necessary on the ESR version of Firefox we use for Tor Browser, but fixed in a
+ later version of Firefox.
+-->
+
+## Other Considerations
+
+### Usability and Accessibility
+<!--
+- Would the proposed mitigation make websites unusable for non-technical/human reasons?
+ e.g. Always requesting language as en-US makes websites usable for non English-reading
+ users
+- Would it make the browser unusable for some users?
+ e.g. Forcing overlay scrollbars would make websites unusable for some users with motor
+ issues
+- Do we need to provide a user-accessible 'escape-hatch' to allow users to opt-out of the
+ proposed mitigation?
+ e.g. Providing an option in about:preferences
+-->
+
+### Web Compatibility
+<!--
+Would the proposed mitigation break websites for technical reasons?
+ e.g. Disabling WebAuthN preventing YubiKey authentication
+-->
+
+### Plausibility
+<!--
+Would the proposed mitigation make the browser stand out as a potential bot or scraper or
+some other non-standard browser configuration?
+ e.g. Reporting only 2 CPU-cores is unlikely for modern PCs in the year 2025
+-->
+
+<!-- Do not edit beneath this line <3 -->
+
+---
+
+/confidential
+/label ~"Apps::Product::BaseBrowser"
+/label ~"Project 131"
+/label ~"Fingerprinting"
=====================================
.gitlab/issue_templates/Default.md
=====================================
@@ -11,6 +11,7 @@ Please select the appropriate issue template from the **Description** drop-down.
*NOTE*: the following issue types are intended for internal use
- 💣 **Test** - develop a test or update testing infrastructure
+- 👣 **Fingerprinting** - open a fingerprinting issue
- ✨ **Feature** - implement new features
- ⬅️ **Backport** - cherry-pick change to other release channels
- ⤵️ **Rebase - Alpha** - rebase alpha to latest Firefox ESR version
=====================================
.gitlab/merge_request_templates/Default.md
=====================================
@@ -27,8 +27,8 @@
#### Target Channels
-- [ ] **Alpha**: esr128-14.5
-- [ ] **Stable**: esr128-14.0
+- [ ] **Alpha**: esr140-15.0
+- [ ] **Stable**: esr128-14.5
- [ ] **Legacy**: esr115-13.5
### Backporting
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -536,6 +536,11 @@ pref("network.proxy.failover_direct", false, locked);
// alters content load order in a page. See tor-browser#24686
pref("network.http.tailing.enabled", true, locked);
+// Block 0.0.0.0
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1889130
+// tor-browser#43811
+pref("network.socket.ip_addr_any.disabled", true);
+
// tor-browser#23044: Make sure we don't have any GIO supported protocols
// (defense in depth measure).
// As of Firefox 118 (Bug 1843763), upstream does not add any protocol by
=====================================
browser/components/BrowserGlue.sys.mjs
=====================================
@@ -63,6 +63,8 @@ ChromeUtils.defineESModuleGetters(lazy, {
ScreenshotsUtils: "resource:///modules/ScreenshotsUtils.sys.mjs",
SearchSERPTelemetry:
"moz-src:///browser/components/search/SearchSERPTelemetry.sys.mjs",
+ SecurityLevelRestartNotification:
+ "resource:///modules/SecurityLevelRestartNotification.sys.mjs",
SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
ShortcutUtils: "resource://gre/modules/ShortcutUtils.sys.mjs",
@@ -994,6 +996,8 @@ BrowserGlue.prototype = {
lazy.WeaveService.init();
}
+ lazy.SecurityLevelRestartNotification.ready();
+
ClipboardPrivacy.startup();
lazy.BrowserUtils.callModulesFromCategory(
=====================================
browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
=====================================
@@ -0,0 +1,73 @@
+/**
+ * Common methods for the desktop security level components.
+ */
+export const SecurityLevelUIUtils = {
+ /**
+ * Create an element that gives a description of the security level. To be
+ * used in the settings.
+ *
+ * @param {string} level - The security level to describe.
+ * @param {Document} doc - The document where the element will be inserted.
+ *
+ * @returns {Element} - The newly created element.
+ */
+ createDescriptionElement(level, doc) {
+ const el = doc.createElement("div");
+ el.classList.add("security-level-description");
+
+ let l10nIdSummary;
+ let bullets;
+ switch (level) {
+ case "standard":
+ l10nIdSummary = "security-level-summary-standard";
+ break;
+ case "safer":
+ l10nIdSummary = "security-level-summary-safer";
+ bullets = [
+ "security-level-preferences-bullet-https-only-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "safest":
+ l10nIdSummary = "security-level-summary-safest";
+ bullets = [
+ "security-level-preferences-bullet-disabled-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols-and-images",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "custom":
+ l10nIdSummary = "security-level-summary-custom";
+ break;
+ default:
+ throw Error(`Unhandled level: ${level}`);
+ }
+
+ const summaryEl = doc.createElement("div");
+ summaryEl.classList.add("security-level-summary");
+ doc.l10n.setAttributes(summaryEl, l10nIdSummary);
+
+ el.append(summaryEl);
+
+ if (!bullets) {
+ return el;
+ }
+
+ const listEl = doc.createElement("ul");
+ listEl.classList.add("security-level-description-extra");
+ // Add a mozilla styling class as well:
+ listEl.classList.add("privacy-extra-information");
+ for (const l10nId of bullets) {
+ const bulletEl = doc.createElement("li");
+ bulletEl.classList.add("security-level-description-bullet");
+
+ doc.l10n.setAttributes(bulletEl, l10nId);
+
+ listEl.append(bulletEl);
+ }
+
+ el.append(listEl);
+ return el;
+ },
+};
=====================================
browser/components/securitylevel/content/securityLevel.js
=====================================
@@ -1,9 +1,10 @@
"use strict";
-/* global AppConstants, Services, openPreferences, XPCOMUtils */
+/* global AppConstants, Services, openPreferences, XPCOMUtils, gSubDialog */
ChromeUtils.defineESModuleGetters(this, {
SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+ SecurityLevelUIUtils: "resource:///modules/SecurityLevelUIUtils.sys.mjs",
});
/*
@@ -35,12 +36,8 @@ var SecurityLevelButton = {
_anchorButton: null,
_configUIFromPrefs() {
- const level = SecurityLevelPrefs.securityLevel;
- if (!level) {
- return;
- }
- const custom = SecurityLevelPrefs.securityCustom;
- this._button.setAttribute("level", custom ? `${level}_custom` : level);
+ const level = SecurityLevelPrefs.securityLevelSummary;
+ this._button.setAttribute("level", level);
let l10nIdLevel;
switch (level) {
@@ -53,15 +50,12 @@ var SecurityLevelButton = {
case "safest":
l10nIdLevel = "security-level-toolbar-button-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-toolbar-button-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- // Don't distinguish between the different levels when in the custom
- // state. We just want to emphasise that it is custom rather than any
- // specific level.
- l10nIdLevel = "security-level-toolbar-button-custom";
- }
document.l10n.setAttributes(this._button, l10nIdLevel);
},
@@ -164,12 +158,7 @@ var SecurityLevelPanel = {
panel: document.getElementById("securityLevel-panel"),
background: document.getElementById("securityLevel-background"),
levelName: document.getElementById("securityLevel-level"),
- customName: document.getElementById("securityLevel-custom"),
summary: document.getElementById("securityLevel-summary"),
- restoreDefaultsButton: document.getElementById(
- "securityLevel-restoreDefaults"
- ),
- settingsButton: document.getElementById("securityLevel-settings"),
};
const learnMoreEl = document.getElementById("securityLevel-learnMore");
@@ -177,12 +166,11 @@ var SecurityLevelPanel = {
this.hide();
});
- this._elements.restoreDefaultsButton.addEventListener("command", () => {
- this.restoreDefaults();
- });
- this._elements.settingsButton.addEventListener("command", () => {
- this.openSecuritySettings();
- });
+ document
+ .getElementById("securityLevel-settings")
+ .addEventListener("command", () => {
+ this.openSecuritySettings();
+ });
this._elements.panel.addEventListener("popupshown", () => {
// Bring focus into the panel by focusing the default button.
@@ -199,19 +187,7 @@ var SecurityLevelPanel = {
}
// get security prefs
- const level = SecurityLevelPrefs.securityLevel;
- const custom = SecurityLevelPrefs.securityCustom;
-
- // only visible when user is using custom settings
- this._elements.customName.hidden = !custom;
- this._elements.restoreDefaultsButton.hidden = !custom;
- if (custom) {
- this._elements.settingsButton.removeAttribute("default");
- this._elements.restoreDefaultsButton.setAttribute("default", "true");
- } else {
- this._elements.settingsButton.setAttribute("default", "true");
- this._elements.restoreDefaultsButton.removeAttribute("default");
- }
+ const level = SecurityLevelPrefs.securityLevelSummary;
// Descriptions change based on security level
this._elements.background.setAttribute("level", level);
@@ -230,12 +206,13 @@ var SecurityLevelPanel = {
l10nIdLevel = "security-level-panel-level-safest";
l10nIdSummary = "security-level-summary-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-panel-level-custom";
+ l10nIdSummary = "security-level-summary-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- l10nIdSummary = "security-level-summary-custom";
- }
document.l10n.setAttributes(this._elements.levelName, l10nIdLevel);
document.l10n.setAttributes(this._elements.summary, l10nIdSummary);
@@ -269,13 +246,6 @@ var SecurityLevelPanel = {
this._elements.panel.hidePopup();
},
- restoreDefaults() {
- SecurityLevelPrefs.securityCustom = false;
- // Move focus to the settings button since restore defaults button will
- // become hidden.
- this._elements.settingsButton.focus();
- },
-
openSecuritySettings() {
openPreferences("privacy-securitylevel");
this.hide();
@@ -301,59 +271,64 @@ var SecurityLevelPanel = {
var SecurityLevelPreferences = {
_securityPrefsBranch: null,
+
/**
- * The notification box shown when the user has a custom security setting.
- *
- * @type {Element}
- */
- _customNotification: null,
- /**
- * The radiogroup for this preference.
- *
- * @type {Element}
- */
- _radiogroup: null,
- /**
- * A list of radio options and their containers.
+ * The element that shows the current security level.
*
- * @type {Array<object>}
+ * @type {?Element}
*/
- _radioOptions: null,
+ _currentEl: null,
_populateXUL() {
- this._customNotification = document.getElementById(
- "securityLevel-customNotification"
+ this._currentEl = document.getElementById("security-level-current");
+ const changeButton = document.getElementById("security-level-change");
+ const badgeEl = this._currentEl.querySelector(
+ ".security-level-current-badge"
);
- document
- .getElementById("securityLevel-restoreDefaults")
- .addEventListener("command", () => {
- SecurityLevelPrefs.securityCustom = false;
- });
-
- this._radiogroup = document.getElementById("securityLevel-radiogroup");
- this._radioOptions = Array.from(
- this._radiogroup.querySelectorAll(".securityLevel-radio-option"),
- container => {
- return { container, radio: container.querySelector("radio") };
- }
- );
+ for (const { level, nameId } of [
+ { level: "standard", nameId: "security-level-panel-level-standard" },
+ { level: "safer", nameId: "security-level-panel-level-safer" },
+ { level: "safest", nameId: "security-level-panel-level-safest" },
+ { level: "custom", nameId: "security-level-panel-level-custom" },
+ ]) {
+ // Classes that control visibility:
+ // security-level-current-standard
+ // security-level-current-safer
+ // security-level-current-safest
+ // security-level-current-custom
+ const visibilityClass = `security-level-current-${level}`;
+ const nameEl = document.createElement("div");
+ nameEl.classList.add("security-level-name", visibilityClass);
+ document.l10n.setAttributes(nameEl, nameId);
+
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add(visibilityClass);
+
+ this._currentEl.insertBefore(nameEl, badgeEl);
+ this._currentEl.insertBefore(descriptionEl, changeButton);
+ }
- this._radiogroup.addEventListener("select", () => {
- SecurityLevelPrefs.securityLevel = this._radiogroup.value;
+ changeButton.addEventListener("click", () => {
+ this._openDialog();
});
},
+ _openDialog() {
+ gSubDialog.open(
+ "chrome://browser/content/securitylevel/securityLevelDialog.xhtml",
+ { features: "resizable=yes" }
+ );
+ },
+
_configUIFromPrefs() {
- this._radiogroup.value = SecurityLevelPrefs.securityLevel;
- const isCustom = SecurityLevelPrefs.securityCustom;
- this._radiogroup.disabled = isCustom;
- this._customNotification.hidden = !isCustom;
- // Have the container's selection CSS class match the selection state of the
- // radio elements.
- for (const { container, radio } of this._radioOptions) {
- container.classList.toggle("selected", radio.selected);
- }
+ // Set a data-current-level attribute for showing the current security
+ // level, and hiding the rest.
+ this._currentEl.dataset.currentLevel =
+ SecurityLevelPrefs.securityLevelSummary;
},
init() {
=====================================
browser/components/securitylevel/content/securityLevelButton.css
=====================================
@@ -7,12 +7,6 @@ toolbarbutton#security-level-button[level="safer"] {
toolbarbutton#security-level-button[level="safest"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
}
-toolbarbutton#security-level-button[level="standard_custom"] {
+toolbarbutton#security-level-button[level="custom"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
}
-toolbarbutton#security-level-button[level="safer_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer_custom");
-}
-toolbarbutton#security-level-button[level="safest_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest_custom");
-}
=====================================
browser/components/securitylevel/content/securityLevelDialog.js
=====================================
@@ -0,0 +1,188 @@
+"use strict";
+
+const { SecurityLevelPrefs } = ChromeUtils.importESModule(
+ "resource://gre/modules/SecurityLevel.sys.mjs"
+);
+const { SecurityLevelUIUtils } = ChromeUtils.importESModule(
+ "resource:///modules/SecurityLevelUIUtils.sys.mjs"
+);
+
+const gSecurityLevelDialog = {
+ /**
+ * The security level when this dialog was opened.
+ *
+ * @type {string}
+ */
+ _prevLevel: SecurityLevelPrefs.securityLevelSummary,
+ /**
+ * The security level currently selected.
+ *
+ * @type {string}
+ */
+ _selectedLevel: "",
+ /**
+ * The radiogroup for this preference.
+ *
+ * @type {?Element}
+ */
+ _radiogroup: null,
+ /**
+ * A list of radio options and their containers.
+ *
+ * @type {?Array<{ container: Element, radio: Element }>}
+ */
+ _radioOptions: null,
+
+ /**
+ * Initialise the dialog.
+ */
+ async init() {
+ const dialog = document.getElementById("security-level-dialog");
+ dialog.addEventListener("dialogaccept", event => {
+ if (this._acceptButton.disabled) {
+ event.preventDefault();
+ return;
+ }
+ this._commitChange();
+ });
+
+ this._acceptButton = dialog.getButton("accept");
+
+ document.l10n.setAttributes(
+ this._acceptButton,
+ "security-level-dialog-save-restart"
+ );
+
+ this._radiogroup = document.getElementById("security-level-radiogroup");
+
+ this._radioOptions = Array.from(
+ this._radiogroup.querySelectorAll(".security-level-radio-container"),
+ container => {
+ return {
+ container,
+ radio: container.querySelector(".security-level-radio"),
+ };
+ }
+ );
+
+ for (const { container, radio } of this._radioOptions) {
+ const level = radio.value;
+ radio.id = `security-level-radio-${level}`;
+ const currentEl = container.querySelector(
+ ".security-level-current-badge"
+ );
+ currentEl.id = `security-level-current-badge-${level}`;
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add("indent");
+ descriptionEl.id = `security-level-description-${level}`;
+
+ // Wait for the full translation of the element before adding it to the
+ // DOM. In particular, we want to make sure the elements have text before
+ // we measure the maxHeight below.
+ await document.l10n.translateFragment(descriptionEl);
+ document.l10n.pauseObserving();
+ container.append(descriptionEl);
+ document.l10n.resumeObserving();
+
+ if (level === this._prevLevel) {
+ currentEl.hidden = false;
+ // When the currentEl is visible, include it in the accessible name for
+ // the radio option.
+ // NOTE: The currentEl has an accessible name which includes punctuation
+ // to help separate it's content from the security level name.
+ // E.g. "Standard (Current level)".
+ radio.setAttribute("aria-labelledby", `${radio.id} ${currentEl.id}`);
+ } else {
+ currentEl.hidden = true;
+ }
+ // We point the accessible description to the wrapping
+ // .security-level-description element, rather than its children
+ // that define the actual text content. This means that when the
+ // privacy-extra-information is shown or hidden, its text content is
+ // included or excluded from the accessible description, respectively.
+ radio.setAttribute("aria-describedby", descriptionEl.id);
+ }
+
+ // We want to reserve the maximum height of the radiogroup so that the
+ // dialog has enough height when the user switches options. So we cycle
+ // through the options and measure the height when they are selected to set
+ // a minimum height that fits all of them.
+ // NOTE: At the time of implementation, at this point the dialog may not
+ // yet have the "subdialog" attribute, which means it is missing the
+ // common.css stylesheet from its shadow root, which effects the size of the
+ // .radio-check element and the font. Therefore, we have duplicated the
+ // import of common.css in SecurityLevelDialog.xhtml to ensure it is applied
+ // at this earlier stage.
+ let maxHeight = 0;
+ for (const { container } of this._radioOptions) {
+ container.classList.add("selected");
+ maxHeight = Math.max(
+ maxHeight,
+ this._radiogroup.getBoundingClientRect().height
+ );
+ container.classList.remove("selected");
+ }
+ this._radiogroup.style.minHeight = `${maxHeight}px`;
+
+ if (this._prevLevel !== "custom") {
+ this._selectedLevel = this._prevLevel;
+ this._radiogroup.value = this._prevLevel;
+ } else {
+ this._radiogroup.selectedItem = null;
+ }
+
+ this._radiogroup.addEventListener("select", () => {
+ this._selectedLevel = this._radiogroup.value;
+ this._updateSelected();
+ });
+
+ this._updateSelected();
+ },
+
+ /**
+ * Update the UI in response to a change in selection.
+ */
+ _updateSelected() {
+ this._acceptButton.disabled =
+ !this._selectedLevel || this._selectedLevel === this._prevLevel;
+ // Have the container's `selected` CSS class match the selection state of
+ // the radio elements.
+ for (const { container, radio } of this._radioOptions) {
+ container.classList.toggle("selected", radio.selected);
+ }
+ },
+
+ /**
+ * Commit the change in security level and restart the browser.
+ */
+ _commitChange() {
+ SecurityLevelPrefs.setSecurityLevelBeforeRestart(this._selectedLevel);
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ },
+};
+
+// Initial focus is not visible, even if opened with a keyboard. We avoid the
+// default handler and manage the focus ourselves, which will paint the focus
+// ring by default.
+// NOTE: A side effect is that the focus ring will show even if the user opened
+// with a mouse event.
+// TODO: Remove this once bugzilla bug 1708261 is resolved.
+document.subDialogSetDefaultFocus = () => {
+ document.getElementById("security-level-radiogroup").focus();
+};
+
+// Delay showing and sizing the subdialog until it is fully initialised.
+document.mozSubdialogReady = new Promise(resolve => {
+ window.addEventListener(
+ "DOMContentLoaded",
+ () => {
+ gSecurityLevelDialog.init().finally(resolve);
+ },
+ { once: true }
+ );
+});
=====================================
browser/components/securitylevel/content/securityLevelDialog.xhtml
=====================================
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<window
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ data-l10n-id="security-level-dialog-window"
+>
+ <dialog id="security-level-dialog" buttons="accept,cancel">
+ <linkset>
+ <html:link rel="stylesheet" href="chrome://global/skin/global.css" />
+ <!-- NOTE: We include common.css explicitly, rather than relying on
+ - the dialog's shadowroot importing it, which is late loaded in
+ - response to the dialog's "subdialog" attribute, which is set
+ - in response to DOMFrameContentLoaded.
+ - In particular, we need the .radio-check rule and font rules from
+ - common-shared.css to be in place when gSecurityLevelDialog.init is
+ - called, which will help ensure that the radio element has the correct
+ - size when we measure its bounding box. -->
+ <html:link
+ rel="stylesheet"
+ href="chrome://global/skin/in-content/common.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/preferences.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/privacy.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/content/securitylevel/securityLevelPreferences.css"
+ />
+
+ <html:link rel="localization" href="branding/brand.ftl" />
+ <html:link rel="localization" href="toolkit/global/base-browser.ftl" />
+ </linkset>
+
+ <script src="chrome://browser/content/securitylevel/securityLevelDialog.js" />
+
+ <description data-l10n-id="security-level-dialog-restart-description" />
+
+ <radiogroup id="security-level-radiogroup" class="highlighting-group">
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="standard"
+ data-l10n-id="security-level-preferences-level-standard"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safer"
+ data-l10n-id="security-level-preferences-level-safer"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safest"
+ data-l10n-id="security-level-preferences-level-safest"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ </radiogroup>
+ </dialog>
+</window>
=====================================
browser/components/securitylevel/content/securityLevelPanel.css
=====================================
@@ -23,7 +23,7 @@
background-position-x: right var(--background-inline-offset);
}
-#securityLevel-background[level="standard"] {
+#securityLevel-background:is([level="standard"], [level="custom"]) {
background-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
}
@@ -49,14 +49,6 @@
font-weight: 600;
}
-#securityLevel-custom {
- border-radius: 4px;
- background-color: var(--warning-icon-bgcolor);
- color: black;
- padding: 0.4em 0.5em;
- margin-inline-start: 1em;
-}
-
#securityLevel-summary {
padding-inline-end: 5em;
max-width: 20em;
=====================================
browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
=====================================
@@ -15,10 +15,6 @@
<vbox id="securityLevel-background" class="panel-subview-body">
<html:p id="securityLevel-subheading">
<html:span id="securityLevel-level"></html:span>
- <html:span
- id="securityLevel-custom"
- data-l10n-id="security-level-panel-custom-badge"
- ></html:span>
</html:p>
<html:p id="securityLevel-summary"></html:p>
<html:a
@@ -32,12 +28,8 @@
<button
id="securityLevel-settings"
class="footer-button"
+ default="true"
data-l10n-id="security-level-panel-open-settings-button"
/>
- <button
- id="securityLevel-restoreDefaults"
- class="footer-button"
- data-l10n-id="security-level-restore-defaults-button"
- />
</html:moz-button-group>
</panel>
=====================================
browser/components/securitylevel/content/securityLevelPreferences.css
=====================================
@@ -1,26 +1,166 @@
-#securityLevel-groupbox {
- --section-highlight-background-color: color-mix(in srgb, var(--in-content-accent-color) 20%, transparent);
+.security-level-grid {
+ display: grid;
+ grid-template:
+ "icon name badge button" min-content
+ "icon summary summary button" auto
+ "icon extra extra ." auto
+ / max-content max-content 1fr max-content;
}
-#securityLevel-customNotification {
- /* Spacing similar to #fpiIncompatibilityWarning. */
- margin-block: 16px;
+.security-level-icon {
+ grid-area: icon;
+ align-self: start;
+ width: 24px;
+ height: 24px;
+ -moz-context-properties: fill;
+ fill: var(--in-content-icon-color);
+ margin-block-start: var(--space-xsmall);
+ margin-inline-end: var(--space-large);
}
-.info-icon.securityLevel-custom-warning-icon {
- list-style-image: url("chrome://global/skin/icons/warning.svg");
+.security-level-current-badge {
+ grid-area: badge;
+ align-self: center;
+ justify-self: start;
+ white-space: nowrap;
+ background: var(--background-color-information);
+ color: inherit;
+ font-size: var(--font-size-small);
+ border-radius: var(--border-radius-circle);
+ margin-inline-start: var(--space-small);
+ padding-block: var(--space-xsmall);
+ padding-inline: var(--space-small);
}
-#securityLevel-customHeading {
+.security-level-current-badge span {
+ /* Still accessible to screen reader, but not visual.
+ * Keep inline, but with no layout width. */
+ display: inline-block;
+ width: 1px;
+ margin-inline-end: -1px;
+ clip-path: inset(50%);
+}
+
+@media (prefers-contrast) and (not (forced-colors)) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio colors. */
+ background: var(--color-accent-primary);
+ color: var(--button-text-color-primary);
+ }
+}
+
+@media (forced-colors) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio/selected colors. */
+ background: SelectedItem;
+ color: SelectedItemText;
+ }
+}
+
+.security-level-name {
+ grid-area: name;
font-weight: bold;
+ align-self: center;
+ white-space: nowrap;
+}
+
+.security-level-description {
+ display: grid;
+ grid-column: summary-start / extra-end;
+ grid-row: summary-start / extra-end;
+ grid-template-rows: subgrid;
+ grid-template-columns: subgrid;
+ margin-block-start: var(--space-small);
+}
+
+.security-level-summary {
+ grid-area: summary;
+}
+
+.security-level-description-extra {
+ grid-area: extra;
+ margin-block: var(--space-medium) 0;
+ margin-inline: var(--space-large) 0;
+ padding: 0;
+}
+
+.security-level-description-bullet:not(:last-child) {
+ margin-block-end: var(--space-medium);
+}
+
+/* Tweak current security level display. */
+
+#security-level-current {
+ margin-block-start: var(--space-large);
+ background: var(--in-content-box-background);
+ border: 1px solid var(--in-content-box-border-color);
+ border-radius: var(--border-radius-small);
+ padding: var(--space-medium);
+}
+
+#security-level-change {
+ grid-area: button;
+ align-self: center;
+ margin: 0;
+ margin-inline-start: var(--space-large);
+}
+
+/* Adjust which content is visible depending on the current security level. */
+
+#security-level-current:not([data-current-level="standard"]) .security-level-current-standard {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safer"]) .security-level-current-safer {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safest"]) .security-level-current-safest {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="custom"]) .security-level-current-custom {
+ display: none;
+}
+
+#security-level-current[data-current-level="standard"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
+}
+
+#security-level-current[data-current-level="safer"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer");
+}
+
+#security-level-current[data-current-level="safest"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
+}
+
+#security-level-current[data-current-level="custom"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
+}
+
+/* Tweak security level dialog. */
+
+#security-level-radiogroup {
+ margin-block: var(--space-large) var(--space-xlarge);
+}
+
+.security-level-radio-container {
+ padding-block: var(--space-large);
+}
+
+#security-level-radiogroup .security-level-radio {
+ margin: 0;
}
-#securityLevel-radiogroup[disabled] {
- opacity: 0.5;
+#security-level-radiogroup .radio-label-box {
+ /* .security-level-current-badge already has a margin. */
+ margin: 0;
}
-/* Overwrite the rule in common-shared.css so we don't get 0.25 opacity overall
- * on the radio text. */
-#securityLevel-radiogroup[disabled] radio[disabled] .radio-label-box {
- opacity: 1.0;
+#security-level-radiogroup .privacy-detailedoption.security-level-radio-container:not(.selected) .security-level-description-extra {
+ /* .privacy-detailedoption uses visibility: hidden, which does not work with
+ * our grid display (the margin is still reserved) so we use display: none
+ * instead. */
+ display: none;
}
=====================================
browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
=====================================
@@ -17,112 +17,19 @@
data-l10n-id="security-level-preferences-learn-more-link"
></html:a>
</description>
- <hbox
- id="securityLevel-customNotification"
- class="info-box-container"
- flex="1"
- >
- <hbox class="info-icon-container">
- <image class="info-icon securityLevel-custom-warning-icon"/>
- </hbox>
- <vbox flex="1">
- <label
- id="securityLevel-customHeading"
- data-l10n-id="security-level-preferences-custom-heading"
- />
- <description
- id="securityLevel-customDescription"
- data-l10n-id="security-level-summary-custom"
- flex="1"
- />
- </vbox>
- <hbox align="center">
- <button
- id="securityLevel-restoreDefaults"
- data-l10n-id="security-level-restore-defaults-button"
- />
- </hbox>
- </hbox>
- <radiogroup id="securityLevel-radiogroup">
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="standard"
- data-l10n-id="security-level-preferences-level-standard"
- aria-describedby="securityLevelSummary-standard"
- />
- <vbox id="securityLevelSummary-standard" class="indent">
- <label data-l10n-id="security-level-summary-standard" />
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <!-- NOTE: We point the accessible description to the wrapping vbox
- - rather than its first description element. This means that when the
- - privacy-extra-information is shown or hidden, its text content is
- - included or excluded from the accessible description, respectively.
- -->
- <radio
- value="safer"
- data-l10n-id="security-level-preferences-level-safer"
- aria-describedby="securityLevelSummary-safer"
- />
- <vbox id="securityLevelSummary-safer" class="indent">
- <label data-l10n-id="security-level-summary-safer" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-https-only-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="safest"
- data-l10n-id="security-level-preferences-level-safest"
- aria-describedby="securityLevelSummary-safest"
- />
- <vbox id="securityLevelSummary-safest" class="indent">
- <label data-l10n-id="security-level-summary-safest" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-disabled-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols-and-images"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- </radiogroup>
+ <html:div id="security-level-current" class="security-level-grid">
+ <html:img
+ class="security-level-icon"
+ alt=""
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ <html:button
+ id="security-level-change"
+ data-l10n-id="security-level-preferences-change-button"
+ ></html:button>
+ </html:div>
</vbox>
</groupbox>
=====================================
browser/components/securitylevel/jar.mn
=====================================
@@ -4,3 +4,5 @@ browser.jar:
content/browser/securitylevel/securityLevelButton.css (content/securityLevelButton.css)
content/browser/securitylevel/securityLevelPreferences.css (content/securityLevelPreferences.css)
content/browser/securitylevel/securityLevelIcon.svg (content/securityLevelIcon.svg)
+ content/browser/securitylevel/securityLevelDialog.xhtml (content/securityLevelDialog.xhtml)
+ content/browser/securitylevel/securityLevelDialog.js (content/securityLevelDialog.js)
=====================================
browser/components/securitylevel/moz.build
=====================================
@@ -1 +1,5 @@
JAR_MANIFESTS += ["jar.mn"]
+
+EXTRA_JS_MODULES += [
+ "SecurityLevelUIUtils.sys.mjs",
+]
=====================================
browser/modules/SecurityLevelRestartNotification.sys.mjs
=====================================
@@ -0,0 +1,72 @@
+const lazy = {};
+
+ChromeUtils.defineESModuleGetters(lazy, {
+ BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.sys.mjs",
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+});
+
+ChromeUtils.defineLazyGetter(lazy, "NotificationStrings", function () {
+ return new Localization([
+ "branding/brand.ftl",
+ "toolkit/global/base-browser.ftl",
+ ]);
+});
+
+/**
+ * Interface for showing the security level restart notification on desktop.
+ */
+export const SecurityLevelRestartNotification = {
+ /**
+ * Whether we have already been initialised.
+ *
+ * @type {boolean}
+ */
+ _initialized: false,
+
+ /**
+ * Called when the UI is ready to show a notification.
+ */
+ ready() {
+ if (this._initialized) {
+ return;
+ }
+ this._initialized = true;
+ lazy.SecurityLevelPrefs.setRestartNotificationHandler(this);
+ },
+
+ /**
+ * Show the restart notification, and perform the restart if the user agrees.
+ */
+ async tryRestartBrowser() {
+ const [titleText, bodyText, primaryButtonText, secondaryButtonText] =
+ await lazy.NotificationStrings.formatValues([
+ { id: "security-level-restart-prompt-title" },
+ { id: "security-level-restart-prompt-body" },
+ { id: "security-level-restart-prompt-button-restart" },
+ { id: "security-level-restart-prompt-button-ignore" },
+ ]);
+ const buttonFlags =
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_1;
+
+ const propBag = await Services.prompt.asyncConfirmEx(
+ lazy.BrowserWindowTracker.getTopWindow()?.browsingContext ?? null,
+ Services.prompt.MODAL_TYPE_INTERNAL_WINDOW,
+ titleText,
+ bodyText,
+ buttonFlags,
+ primaryButtonText,
+ secondaryButtonText,
+ null,
+ null,
+ null,
+ {}
+ );
+
+ if (propBag.get("buttonNumClicked") === 0) {
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ }
+ },
+};
=====================================
browser/modules/moz.build
=====================================
@@ -136,6 +136,7 @@ EXTRA_JS_MODULES += [
"PopupBlockerObserver.sys.mjs",
"ProcessHangMonitor.sys.mjs",
"Sanitizer.sys.mjs",
+ "SecurityLevelRestartNotification.sys.mjs",
"SelectionChangedMenulist.sys.mjs",
"SharingUtils.sys.mjs",
"SiteDataManager.sys.mjs",
=====================================
media/libaom/moz.build
=====================================
@@ -143,6 +143,3 @@ LOCAL_INCLUDES += [
# TEST_DIRS += [
# 'test/fuzztest'
# ]
-
-if CONFIG["OS_TARGET"] == "WINNT" and CONFIG["CC_TYPE"] == "clang":
- OS_LIBS += ["pthread"]
=====================================
third_party/abseil-cpp/absl/base/base_gn/moz.build
=====================================
@@ -168,7 +168,4 @@ if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86_64":
DEFINES["_GNU_SOURCE"] = True
-if CONFIG["OS_TARGET"] == "WINNT" and CONFIG["CC_TYPE"] == "clang":
- OS_LIBS += ["pthread"]
-
Library("base_gn")
=====================================
third_party/abseil-cpp/absl/base/internal/thread_identity.cc
=====================================
@@ -14,7 +14,7 @@
#include "absl/base/internal/thread_identity.h"
-#if !defined(_WIN32) || defined(__MINGW32__)
+#if !defined(_WIN32)
#include <pthread.h>
#ifndef __wasi__
// WASI does not provide this header, either way we disable use
=====================================
third_party/abseil-cpp/absl/base/internal/thread_identity.h
=====================================
@@ -217,7 +217,7 @@ void ClearCurrentThreadIdentity();
#error ABSL_THREAD_IDENTITY_MODE cannot be directly set
#elif defined(ABSL_FORCE_THREAD_IDENTITY_MODE)
#define ABSL_THREAD_IDENTITY_MODE ABSL_FORCE_THREAD_IDENTITY_MODE
-#elif defined(_WIN32) && !defined(__MINGW32__)
+#elif defined(_WIN32)
#define ABSL_THREAD_IDENTITY_MODE ABSL_THREAD_IDENTITY_MODE_USE_CPP11
#elif defined(__APPLE__) && defined(ABSL_HAVE_THREAD_LOCAL)
#define ABSL_THREAD_IDENTITY_MODE ABSL_THREAD_IDENTITY_MODE_USE_CPP11
=====================================
third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
=====================================
@@ -370,7 +370,7 @@ HRESULT WgcCaptureSession::ProcessFrame() {
return hr;
}
- ComPtr<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess>
+ ComPtr<Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess>
direct3DDxgiInterfaceAccess;
hr = d3d_surface->QueryInterface(IID_PPV_ARGS(&direct3DDxgiInterfaceAccess));
if (FAILED(hr)) {
=====================================
toolkit/components/extensions/ExtensionParent.sys.mjs
=====================================
@@ -2348,6 +2348,7 @@ async function torSendExtensionMessage(extensionId, message) {
const result = await ProxyMessenger.conduit.castRuntimeMessage("messenger", {
extensionId,
holder: new StructuredCloneHolder("torSendExtensionMessage", null, message),
+ query: true,
firstResponse: true,
sender: {
id: extensionId,
=====================================
toolkit/components/securitylevel/SecurityLevel.sys.mjs
=====================================
@@ -16,6 +16,7 @@ const BrowserTopics = Object.freeze({
// The Security Settings prefs in question.
const kSliderPref = "browser.security_level.security_slider";
const kCustomPref = "browser.security_level.security_custom";
+const kNoScriptInitedPref = "browser.security_level.noscript_inited";
// __getPrefValue(prefName)__
// Returns the current value of a preference, regardless of its type.
@@ -32,11 +33,11 @@ var getPrefValue = function (prefName) {
}
};
-// __bindPref(prefName, prefHandler, init)__
+// __bindPref(prefName, prefHandler)__
// Applies prefHandler whenever the value of the pref changes.
// If init is true, applies prefHandler to the current value.
-// Returns a zero-arg function that unbinds the pref.
-var bindPref = function (prefName, prefHandler, init = false) {
+// Returns the observer that was added.
+var bindPref = function (prefName, prefHandler) {
let update = () => {
prefHandler(getPrefValue(prefName));
},
@@ -48,21 +49,9 @@ var bindPref = function (prefName, prefHandler, init = false) {
},
};
Services.prefs.addObserver(prefName, observer);
- if (init) {
- update();
- }
- return () => {
- Services.prefs.removeObserver(prefName, observer);
- };
+ return observer;
};
-// __bindPrefAndInit(prefName, prefHandler)__
-// Applies prefHandler to the current value of pref specified by prefName.
-// Re-applies prefHandler whenever the value of the pref changes.
-// Returns a zero-arg function that unbinds the pref.
-var bindPrefAndInit = (prefName, prefHandler) =>
- bindPref(prefName, prefHandler, true);
-
async function waitForExtensionMessage(extensionId, checker = () => {}) {
const { torWaitForExtensionMessage } = lazy.ExtensionParent;
if (torWaitForExtensionMessage) {
@@ -74,7 +63,7 @@ async function waitForExtensionMessage(extensionId, checker = () => {}) {
async function sendExtensionMessage(extensionId, message) {
const { torSendExtensionMessage } = lazy.ExtensionParent;
if (torSendExtensionMessage) {
- return torSendExtensionMessage(extensionId, message);
+ return await torSendExtensionMessage(extensionId, message);
}
return undefined;
}
@@ -187,14 +176,8 @@ var initializeNoScriptControl = () => {
// `browser.runtime.onMessage.addListener(...)` in NoScript's bg/main.js.
// TODO: Is there a better way?
- let sendNoScriptSettings = settings =>
- sendExtensionMessage(noscriptID, settings);
-
- // __setNoScriptSafetyLevel(safetyLevel)__.
- // Set NoScript settings according to a particular safety level
- // (security slider level): 0 = Standard, 1 = Safer, 2 = Safest
- let setNoScriptSafetyLevel = safetyLevel =>
- sendNoScriptSettings(noscriptSettings(safetyLevel));
+ let sendNoScriptSettings = async settings =>
+ await sendExtensionMessage(noscriptID, settings);
// __securitySliderToSafetyLevel(sliderState)__.
// Converts the "browser.security_level.security_slider" pref value
@@ -204,36 +187,46 @@ var initializeNoScriptControl = () => {
// Wait for the first message from NoScript to arrive, and then
// bind the security_slider pref to the NoScript settings.
- let messageListener = a => {
+ let messageListener = async a => {
try {
logger.debug("Message received from NoScript:", a);
- let noscriptPersist = Services.prefs.getBoolPref(
- "browser.security_level.noscript_persist",
- false
- );
+ const persistPref = "browser.security_level.noscript_persist";
+ let noscriptPersist = Services.prefs.getBoolPref(persistPref, false);
let noscriptInited = Services.prefs.getBoolPref(
- "browser.security_level.noscript_inited",
+ kNoScriptInitedPref,
false
);
- // Set the noscript safety level once if we have never run noscript
- // before, or if we are not allowing noscript per-site settings to be
- // persisted between browser sessions. Otherwise make sure that the
- // security slider position, if changed, will rewrite the noscript
- // settings.
- bindPref(
- kSliderPref,
- sliderState =>
- setNoScriptSafetyLevel(securitySliderToSafetyLevel(sliderState)),
- !noscriptPersist || !noscriptInited
- );
- if (!noscriptInited) {
- Services.prefs.setBoolPref(
- "browser.security_level.noscript_inited",
- true
+ // Set the noscript safety level once at startup.
+ // If a user has set noscriptPersist, then we only send this if the
+ // security level was changed in a previous session.
+ // NOTE: We do not re-send this when the security_slider preference
+ // changes mid-session because this should always require a restart.
+ if (noscriptPersist && noscriptInited) {
+ logger.warn(
+ `Not initialising NoScript since the user has set ${persistPref}`
);
+ return;
}
+ // Read the security level, even if the user has the "custom"
+ // preference.
+ const securityIndex = Services.prefs.getIntPref(kSliderPref, 0);
+ const safetyLevel = securitySliderToSafetyLevel(securityIndex);
+ // May throw if NoScript fails to apply the settings:
+ const noscriptResult = await sendNoScriptSettings(
+ noscriptSettings(safetyLevel)
+ );
+ // Mark the NoScript extension as initialised so we do not reset it
+ // at the next startup for noscript_persist users.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, true);
+ logger.info("NoScript successfully initialised.");
+ // In the future NoScript may tell us more about how it applied our
+ // settings, e.g. if user is overriding per-site permissions.
+ // Up to NoScript 12.6 noscriptResult is undefined.
+ logger.debug("NoScript response:", noscriptResult);
} catch (e) {
- logger.exception(e);
+ logger.error("Could not apply NoScript settings", e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
waitForExtensionMessage(noscriptID, a => a.__meta.name === "started").then(
@@ -242,6 +235,8 @@ var initializeNoScriptControl = () => {
logger.info("Listening for messages from NoScript.");
} catch (e) {
logger.exception(e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
@@ -271,16 +266,60 @@ const kSecuritySettings = {
// ### Prefs
+/**
+ * Amend the security level index to a standard value.
+ *
+ * @param {integer} index - The input index value.
+ * @returns {integer} - A standard index value.
+ */
+function fixupIndex(index) {
+ if (!Number.isInteger(index) || index < 1 || index > 4) {
+ // Unexpected value out of range, go to the "safest" level as a fallback.
+ return 1;
+ }
+ if (index === 3) {
+ // Migrate from old medium-low (3) to new medium (2).
+ return 2;
+ }
+ return index;
+}
+
+/**
+ * A list of preference observers that should be disabled whilst we write our
+ * preference values.
+ *
+ * @type {{ prefName: string, observer: object }[]}
+ */
+const prefObservers = [];
+
// __write_setting_to_prefs(settingIndex)__.
// Take a given setting index and write the appropriate pref values
// to the pref database.
var write_setting_to_prefs = function (settingIndex) {
- Object.keys(kSecuritySettings).forEach(prefName =>
- Services.prefs.setBoolPref(
- prefName,
- kSecuritySettings[prefName][settingIndex]
- )
- );
+ settingIndex = fixupIndex(settingIndex);
+ // Don't want to trigger our internal observers when setting ourselves.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.removeObserver(prefName, observer);
+ }
+ try {
+ // Make sure noscript is re-initialised at the next startup when the
+ // security level changes.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, false);
+ Services.prefs.setIntPref(kSliderPref, settingIndex);
+ // NOTE: We do not clear kCustomPref. Instead, we rely on the preference
+ // being cleared on the next startup.
+ Object.keys(kSecuritySettings).forEach(prefName =>
+ Services.prefs.setBoolPref(
+ prefName,
+ kSecuritySettings[prefName][settingIndex]
+ )
+ );
+ } finally {
+ // Re-add the observers.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.addObserver(prefName, observer);
+ }
+ }
};
// __read_setting_from_prefs()__.
@@ -309,24 +348,6 @@ var read_setting_from_prefs = function (prefNames) {
return null;
};
-// __watch_security_prefs(onSettingChanged)__.
-// Whenever a pref bound to the security slider changes, onSettingChanged
-// is called with the new security setting value (1,2,3,4 or null).
-// Returns a zero-arg function that ends this binding.
-var watch_security_prefs = function (onSettingChanged) {
- let prefNames = Object.keys(kSecuritySettings);
- let unbindFuncs = [];
- for (let prefName of prefNames) {
- unbindFuncs.push(
- bindPrefAndInit(prefName, () =>
- onSettingChanged(read_setting_from_prefs())
- )
- );
- }
- // Call all the unbind functions.
- return () => unbindFuncs.forEach(unbind => unbind());
-};
-
// __initialized__.
// Have we called initialize() yet?
var initializedSecPrefs = false;
@@ -342,36 +363,82 @@ var initializeSecurityPrefs = function () {
}
logger.info("Initializing security-prefs.js");
initializedSecPrefs = true;
- // When security_custom is set to false, apply security_slider setting
- // to the security-sensitive prefs.
- bindPrefAndInit(kCustomPref, function (custom) {
- if (custom === false) {
- write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref));
- }
- });
- // If security_slider is given a new value, then security_custom should
- // be set to false.
- bindPref(kSliderPref, function (prefIndex) {
+
+ const wasCustom = Services.prefs.getBoolPref(kCustomPref, false);
+ // For new profiles with no user preference, the security level should be "4"
+ // and it should not be custom.
+ let desiredIndex = Services.prefs.getIntPref(kSliderPref, 4);
+ desiredIndex = fixupIndex(desiredIndex);
+ // Make sure the user has a set preference user value.
+ Services.prefs.setIntPref(kSliderPref, desiredIndex);
+ Services.prefs.setBoolPref(kCustomPref, wasCustom);
+
+ // Make sure that the preference values at application startup match the
+ // expected values for the desired security level. See tor-browser#43783.
+
+ // NOTE: We assume that the controlled preference values that are read prior
+ // to profile-after-change do not change in value before this method is
+ // called. I.e. we expect the current preference values to match the
+ // preference values that were used during the application initialisation.
+ const effectiveIndex = read_setting_from_prefs();
+
+ if (wasCustom && effectiveIndex !== null) {
+ logger.info(`Custom startup values match index ${effectiveIndex}`);
+ // Do not consider custom any more.
+ // NOTE: This level needs to be set before it is read elsewhere. In
+ // particular, for the NoScript addon.
Services.prefs.setBoolPref(kCustomPref, false);
- write_setting_to_prefs(prefIndex);
+ Services.prefs.setIntPref(kSliderPref, effectiveIndex);
+ } else if (!wasCustom && effectiveIndex !== desiredIndex) {
+ // NOTE: We assume all our controlled preferences require a restart.
+ // In practice, only a subset of these preferences may actually require a
+ // restart, so we could switch their values. But we treat them all the same
+ // for simplicity, consistency and stability in case mozilla changes the
+ // restart requirements.
+ logger.info(`Startup values do not match for index ${desiredIndex}`);
+ SecurityLevelPrefs.requireRestart();
+ }
+
+ // Start listening for external changes to the controlled preferences.
+ prefObservers.push({
+ prefName: kCustomPref,
+ observer: bindPref(kCustomPref, custom => {
+ // Custom flag was removed mid-session. Requires a restart to apply the
+ // security level.
+ if (custom === false) {
+ logger.info("Custom flag was cleared externally");
+ SecurityLevelPrefs.requireRestart();
+ }
+ }),
});
- // If a security-sensitive pref changes, then decide if the set of pref values
- // constitutes a security_slider setting or a custom value.
- watch_security_prefs(settingIndex => {
- if (settingIndex === null) {
- Services.prefs.setBoolPref(kCustomPref, true);
- } else {
- Services.prefs.setIntPref(kSliderPref, settingIndex);
- Services.prefs.setBoolPref(kCustomPref, false);
- }
+ prefObservers.push({
+ prefName: kSliderPref,
+ observer: bindPref(kSliderPref, () => {
+ // Security level was changed mid-session. Requires a restart to apply.
+ logger.info("Security level was changed externally");
+ SecurityLevelPrefs.requireRestart();
+ }),
});
- // Migrate from old medium-low (3) to new medium (2).
- if (
- Services.prefs.getBoolPref(kCustomPref) === false &&
- Services.prefs.getIntPref(kSliderPref) === 3
- ) {
- Services.prefs.setIntPref(kSliderPref, 2);
- write_setting_to_prefs(2);
+
+ for (const prefName of Object.keys(kSecuritySettings)) {
+ prefObservers.push({
+ prefName,
+ observer: bindPref(prefName, () => {
+ logger.warn(
+ `The controlled preference ${prefName} was changed externally.` +
+ " Treating as a custom security level."
+ );
+ // Something outside of this module changed the preference value for a
+ // preference we control.
+ // Always treat as a custom security level for the rest of this session,
+ // even if the new preference values match a pre-set security level. We
+ // do this because some controlled preferences require a restart to be
+ // properly applied. See tor-browser#43783.
+ // In the case where it does match a pre-set security level, the custom
+ // flag will be cleared at the next startup.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ }),
+ });
}
logger.info("security-prefs.js initialization complete");
@@ -425,8 +492,9 @@ export class SecurityLevel {
init() {
migratePreferences();
- initializeNoScriptControl();
+ // Fixup our preferences before we pass on the security level to NoScript.
initializeSecurityPrefs();
+ initializeNoScriptControl();
}
observe(aSubject, aTopic) {
@@ -436,10 +504,19 @@ export class SecurityLevel {
}
}
+/**
+ * @typedef {object} SecurityLevelRestartNotificationHandler
+ *
+ * An object that can serve the user a restart notification.
+ *
+ * @property {Function} tryRestartBrowser - The method that should be called to
+ * ask the user to restart the browser.
+ */
+
/*
Security Level Prefs
- Getters and Setters for relevant torbutton prefs
+ Getters and Setters for relevant security level prefs
*/
export const SecurityLevelPrefs = {
SecurityLevels: Object.freeze({
@@ -450,6 +527,14 @@ export const SecurityLevelPrefs = {
security_slider_pref: "browser.security_level.security_slider",
security_custom_pref: "browser.security_level.security_custom",
+ /**
+ * The current security level preference.
+ *
+ * This ignores any custom settings the user may have changed, and just
+ * gives the underlying security level.
+ *
+ * @type {?string}
+ */
get securityLevel() {
// Set the default return value to 0, which won't match anything in
// SecurityLevels.
@@ -459,18 +544,146 @@ export const SecurityLevelPrefs = {
)?.[0];
},
- set securityLevel(level) {
- const val = this.SecurityLevels[level];
- if (val !== undefined) {
- Services.prefs.setIntPref(this.security_slider_pref, val);
- }
+ /**
+ * Set the desired security level just before a restart.
+ *
+ * The caller must restart the browser after calling this method.
+ *
+ * @param {string} level - The name of the new security level to set.
+ */
+ setSecurityLevelBeforeRestart(level) {
+ write_setting_to_prefs(this.SecurityLevels[level]);
},
+ /**
+ * Whether the user has any custom setting values that do not match a pre-set
+ * security level.
+ *
+ * @type {boolean}
+ */
get securityCustom() {
return Services.prefs.getBoolPref(this.security_custom_pref);
},
- set securityCustom(val) {
- Services.prefs.setBoolPref(this.security_custom_pref, val);
+ /**
+ * A summary of the current security level.
+ *
+ * If the user has some custom settings, this returns "custom". Otherwise
+ * returns the name of the security level.
+ *
+ * @type {string}
+ */
+ get securityLevelSummary() {
+ if (this.securityCustom) {
+ return "custom";
+ }
+ return this.securityLevel ?? "custom";
+ },
+
+ /**
+ * Whether the browser should be restarted to apply the security level.
+ *
+ * @type {boolean}
+ */
+ _needRestart: false,
+
+ /**
+ * The external handler that can show a notification to the user, if any.
+ *
+ * @type {?SecurityLevelRestartNotificationHandler}
+ */
+ _restartNotificationHandler: null,
+
+ /**
+ * Set the external handler for showing notifications to the user.
+ *
+ * This should only be called once per session once the handler is ready to
+ * show a notification, which may occur immediately during this call.
+ *
+ * @param {SecurityLevelRestartNotificationHandler} handler - The new handler
+ * to use.
+ */
+ setRestartNotificationHandler(handler) {
+ logger.info("Restart notification handler is set");
+ this._restartNotificationHandler = handler;
+ if (this._needRestart) {
+ // Show now using the new handler.
+ this._tryShowRestartNotification();
+ }
+ },
+
+ /**
+ * A promise for any ongoing notification prompt task.
+ *
+ * @type {Promise}
+ */
+ _restartNotificationPromise: null,
+
+ /**
+ * Try show a notification to the user.
+ *
+ * If no notification handler has been attached yet, this will do nothing.
+ */
+ async _tryShowRestartNotification() {
+ if (!this._restartNotificationHandler) {
+ logger.info("Missing a restart notification handler");
+ // This may be added later in the session.
+ return;
+ }
+
+ const prevPromise = this._restartNotificationPromise;
+ let resolve;
+ ({ promise: this._restartNotificationPromise, resolve } =
+ Promise.withResolvers());
+ await prevPromise;
+
+ try {
+ await this._restartNotificationHandler?.tryRestartBrowser();
+ } finally {
+ // Allow the notification to be shown again.
+ resolve();
+ }
+ },
+
+ /**
+ * Mark the session as requiring a restart to apply a change in security
+ * level.
+ *
+ * The security level will immediately be switched to "custom", and the user
+ * may be shown a notification to restart the browser.
+ */
+ requireRestart() {
+ logger.warn("The browser needs to be restarted to set the security level");
+ // Treat as a custom security level for the rest of the session.
+ // At the next startup, the custom flag may be cleared if the settings are
+ // as expected.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ this._needRestart = true;
+
+ // NOTE: We need to change the controlled security level preferences in
+ // response to the desired change in security level. We could either:
+ // 1. Only change the controlled preferences after the user confirms a
+ // restart. Or
+ // 2. Change the controlled preferences and then try and ask the user to
+ // restart.
+ //
+ // We choose the latter:
+ // 1. To allow users to manually restart.
+ // 2. If the user ignores or misses the notification, they will at least be
+ // in the correct state when the browser starts again. Although they will
+ // be in a custom/undefined state in the mean time.
+ // 3. Currently Android relies on triggering the change in security level
+ // by setting the browser.security_level.security_slider preference
+ // value. So it currently uses this path. So we need to set the values
+ // now, before it preforms a restart.
+ // TODO: Have android use the `setSecurityLevelBeforeRestart` method
+ // instead of setting the security_slider preference value directly, so that
+ // it knows exactly when it can restart the browser. tor-browser#43820
+ write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref, 0));
+ // NOTE: Even though we have written the preferences, the session should
+ // still be marked as "custom" because:
+ // 1. Some preferences require a browser restart to be applied.
+ // 2. NoScript has not been updated with the new settings.
+ this._tryShowRestartNotification();
},
}; /* Security Level Prefs */
=====================================
toolkit/locales/en-US/toolkit/global/base-browser.ftl
=====================================
@@ -123,10 +123,6 @@ security-level-toolbar-button-custom =
# Uses sentence case in English (US).
security-level-panel-heading = Security level
-
-security-level-panel-level-standard = Standard
-security-level-panel-level-safer = Safer
-security-level-panel-level-safest = Safest
security-level-panel-learn-more-link = Learn more
# Button to open security level settings.
security-level-panel-open-settings-button = Settings…
@@ -136,6 +132,19 @@ security-level-panel-open-settings-button = Settings…
security-level-preferences-heading = Security Level
security-level-preferences-overview = Disable certain web features that can be used to attack your security and anonymity.
security-level-preferences-learn-more-link = Learn more
+# Text for a badge that labels the currently active security level.
+# The text in between '<span>' and '</span>' should contain some kind of bracket, like '(' and ')', or other punctuation used in your language to separate out text from its surrounding context. This will not be visible, but will be use for screen readers to make it clear that the text is not part of the same sentence. For example, in US English this would be read as "(Current level)", and the full line of text would be read as "Safest (Current level)".
+security-level-preferences-current-badge = <span>(</span>Current level<span>)</span>
+security-level-preferences-change-button = Change…
+
+## Security level settings dialog.
+
+security-level-dialog-window =
+ .title = Change security level
+
+# '-brand-short-name' is the localized browser name, like "Tor Browser".
+security-level-dialog-restart-description = You will need to restart { -brand-short-name } to apply any changes. This will close all windows and tabs.
+
security-level-preferences-level-standard =
.label = Standard
security-level-preferences-level-safer =
@@ -143,6 +152,16 @@ security-level-preferences-level-safer =
security-level-preferences-level-safest =
.label = Safest
+security-level-dialog-save-restart =
+ .label = Save and restart
+
+## Security level names shown in the security panel and settings.
+
+security-level-panel-level-standard = Standard
+security-level-panel-level-safer = Safer
+security-level-panel-level-safest = Safest
+security-level-panel-level-custom = Custom
+
## Security level summaries shown in security panel and settings.
security-level-summary-standard = All browser and website features are enabled.
@@ -161,13 +180,13 @@ security-level-preferences-bullet-limit-font-and-symbols-and-images = Some fonts
## Custom security level.
## Some custom preferences configuration has placed the user outside one of the standard three levels.
-# Shown in the security level panel as an orange badge next to the expected level.
-security-level-panel-custom-badge = Custom
-# Shown in the security level settings in a warning box.
-security-level-preferences-custom-heading = Custom security level configured
# Description of custom state and recommended action.
# Shown in the security level panel and settings.
security-level-summary-custom = Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.
-# Button to undo custom changes to the security level and place the user in one of the standard security levels.
-# Shown in the security level panel and settings.
-security-level-restore-defaults-button = Restore defaults
+
+## Security level restart prompt.
+
+security-level-restart-prompt-title = Your security level settings require a restart
+security-level-restart-prompt-body = You must restart { -brand-short-name } for your security level settings to be applied. This will close all your windows and tabs.
+security-level-restart-prompt-button-restart = Restart
+security-level-restart-prompt-button-ignore = Ignore
=====================================
tools/lint/fluent-lint/exclusions.yml
=====================================
@@ -84,9 +84,6 @@ ID01:
- unknownProtocolFound-title
- unknownSocketType-title
- unsafeContentType-title
-
- # toolkit/locales/en-US/toolkit/global/base-browser.ftl
- - basebrowser-about-dialog-version
files:
# policies-descriptions.ftl
# These IDs are generated programmatically from policy names.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/72504c…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/72504c…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag base-browser-140.0a1-15.0-2-build1
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed new tag base-browser-140.0a1-15.0-2-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch base-browser-140.0a1-15.0-2
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed new branch base-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-140.0a1-15.0-2-build1
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed new tag tor-browser-140.0a1-15.0-2-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-2] 246 commits: BB 43843: Do not bootstrap MacOS packaging tools if available
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
Commits:
a48f9419 by Beatriz Rizental at 2025-06-18T11:55:49+02:00
BB 43843: Do not bootstrap MacOS packaging tools if available
Do not bootstrap MacOS packing tools if they are already available in
the environment. This can be uplifted.
- - - - -
2de4840c by Henry Wilkes at 2025-06-18T11:55:49+02:00
BB 41454: Move focus after calling openPreferences for a sub-category.
Temporary fix until mozilla bug 1799153 gets a patch upstream.
- - - - -
c184c0e1 by Henry Wilkes at 2025-06-18T11:55:49+02: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.
- - - - -
8f8be80b by Henry Wilkes at 2025-06-18T11:55:49+02: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.
- - - - -
e66bc89c by Henry Wilkes at 2025-06-18T11:55:50+02:00
BB 41483: Remove the firefox override for appstrings.properties
Remove this patch after upstream bugzilla bug 1790187
- - - - -
736bd133 by Marco Simonelli at 2025-06-18T11:55:50+02:00
BB 41459: WebRTC fails to build under mingw (Part 1)
- properly define NOMINMAX for just MSVC builds
- - - - -
93e87837 by Marco Simonelli at 2025-06-18T11:55:50+02:00
BB 41459: WebRTC fails to build under mingw (Part 2)
- fixes required to build third_party/libwebrtc
- - - - -
5f3215f1 by Marco Simonelli at 2025-06-18T11:55:50+02:00
BB 41459: WebRTC fails to build under mingw (Part 3)
- fixes required to build third_party/sipcc
- - - - -
e1af7e72 by Marco Simonelli at 2025-06-18T11:55:51+02:00
BB 41459: WebRTC fails to build under mingw (Part 4)
- fixes requried to build netwerk/sctp
- - - - -
4c7d9d1a by Marco Simonelli at 2025-06-18T11:55:51+02:00
BB 41459: WebRTC fails to build under mingw (Part 5)
- fixes required to build dom/media/webrtc
- - - - -
8a28e060 by Marco Simonelli at 2025-06-18T11:55:51+02:00
BB 41459: WebRTC fails to build under mingw (Part 6)
- fixes required to build dom/media/systemservices
- - - - -
8e30538d by june wilde at 2025-06-18T11:55:51+02:00
BB 42758: Fix WebRTC build errors.
- - - - -
ba22482f by Pier Angelo Vendrame at 2025-06-18T11:55:52+02:00
fixup! BB 42758: Fix WebRTC build errors.
MB 436: Link to pthread on mingw.
- - - - -
7e87641b by hackademix at 2025-06-18T11:55:52+02:00
BB 41854: Allow overriding download spam protection.
- - - - -
dbb84557 by hackademix at 2025-06-18T11:55:52+02:00
BB 42832: Download spam prevention exemption for browser extensions.
- - - - -
69a062f5 by Pier Angelo Vendrame at 2025-06-18T11:55:52+02: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.
- - - - -
76412c1e by hackademix at 2025-06-18T11:55:53+02:00
BB 42835: Create an actor to filter file data transfers
- - - - -
2eac5a87 by Beatriz Rizental at 2025-06-18T11:55:53+02:00
BB 42728: Modify ./mach lint to skip unused linters
- - - - -
440d3ad4 by Gaba at 2025-06-18T11:55:53+02:00
Adding issue and merge request templates
- - - - -
ba8c5233 by Morgan at 2025-06-18T11:55:53+02:00
fixup! Adding issue and merge request templates
revert
- - - - -
5aead718 by Morgan at 2025-06-18T11:55:54+02:00
BB 43615: Add Gitlab Issue and Merge Request templates
- - - - -
dbf8f594 by Morgan at 2025-06-18T11:55:54+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add new and modify existing shared Tor/Mullvad browser templates
- - - - -
61a44c4b by Richard Pospesel at 2025-06-18T11:55:54+02:00
BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs
- - - - -
e0eda70b by Henry Wilkes at 2025-06-18T11:55:54+02:00
BB 42305: Add script to combine translation files across versions.
- - - - -
f80ae9b3 by Beatriz Rizental at 2025-06-18T11:55:55+02:00
BB 43535: Enable tests
- - - - -
476fe65b by Beatriz Rizental at 2025-06-18T11:55:55+02:00
Add CI for Base Browser
- - - - -
4f21945d by Pier Angelo Vendrame at 2025-06-18T11:55:55+02: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
- - - - -
6fc7ae05 by Pier Angelo Vendrame at 2025-06-18T11:55:55+02:00
fixup! Base Browser's .mozconfigs.
BB 43772: Do not use official branding for BB/TB/MB.
We already pass --with-branding in our builds, no need to also pass
this option.
However, we should further audit what this option does, and try to
recall why we added it at a certain point.
- - - - -
e6c0e3cb by Pier Angelo Vendrame at 2025-06-18T11:55:55+02: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.
- - - - -
3ba05a48 by Pier Angelo Vendrame at 2025-06-18T11:55:56+02:00
BB 29320: Replace the gnu target with gnullvm for Rust.
- - - - -
4c09bbfe by Pier Angelo Vendrame at 2025-06-18T11:55:56+02: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.
- - - - -
6279d978 by Pier Angelo Vendrame at 2025-06-18T11:55:56+02:00
BB 41108: Remove privileged macOS installation from 102
- - - - -
ed5064ad by Dan Ballard at 2025-06-18T11:55:56+02:00
BB 41149: Re-enable DLL injection protection in all builds not just nightlies
- - - - -
673bbbff by Henry Wilkes at 2025-06-18T11:55:57+02:00
BB 43092: Disable wayland by default in Base Browser.
- - - - -
53348e3c by Matthew Finkel at 2025-06-18T11:55:57+02: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.
- - - - -
5da75082 by Matthew Finkel at 2025-06-18T11:55:57+02:00
BB 28125: Prevent non-Necko network connections
- - - - -
f55ae76e by Mike Perry at 2025-06-18T11:55:57+02: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
- - - - -
80e11924 by cypherpunks1 at 2025-06-18T11:55:58+02:00
BB 40717: Hide Windows SSO in settings
- - - - -
d8ff9729 by Georg Koppen at 2025-06-18T11:55:58+02: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.
- - - - -
bd85aed3 by Kathy Brade at 2025-06-18T11:55:58+02:00
BB 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
- - - - -
8d038a4c by Kathy Brade at 2025-06-18T11:55:58+02: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.
- - - - -
9b697816 by Alex Catarineu at 2025-06-18T11:55:59+02:00
BB 41457: Remove Mozilla permissions
Bug 40025: Remove Mozilla add-on install permissions
- - - - -
b6a92d0a by Kathy Brade at 2025-06-18T11:55:59+02: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.
- - - - -
92941f20 by Morgan at 2025-06-18T11:55:59+02:00
BB 42716: Disable unwanted about: pages
- - - - -
3e9e9d50 by Arthur Edelstein at 2025-06-18T11:55:59+02: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.
- - - - -
8354dca9 by Alex Catarineu at 2025-06-18T11:56:00+02: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.
- - - - -
55965f1d by cypherpunks1 at 2025-06-18T11:56:00+02:00
BB 41092: Add a RemoteSettings JSON dump for query-stripping
- - - - -
c5f4ebac by cypherpunks1 at 2025-06-18T11:56:00+02:00
BB 42730: Patch RemoteSettings to use only local dumps as a data source
- - - - -
97ec070d by Pier Angelo Vendrame at 2025-06-18T11:56:00+02:00
BB 41635: Disable the Normandy component
Do not include Normandy at all whenever MOZ_NORMANDY is False.
- - - - -
9147ca44 by Georg Koppen at 2025-06-18T11:56:01+02:00
BB 30541: Disable WebGL readPixel() for web content
Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034
- - - - -
9deb8031 by Alex Catarineu at 2025-06-18T11:56:01+02:00
BB 28369: Stop shipping pingsender executable
- - - - -
de0fa314 by Henry Wilkes at 2025-06-18T11:56:01+02:00
BB 42630: Disable LaterRun module.
- - - - -
4c548fa0 by Pier Angelo Vendrame at 2025-06-18T11:56:01+02: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
- - - - -
9d784397 by Pier Angelo Vendrame at 2025-06-18T11:56:02+02: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".
- - - - -
1c9432ad by Richard Pospesel at 2025-06-18T11:56:02+02:00
BB 41327: Disable UrlbarProviderInterventions
- - - - -
4da85733 by Richard Pospesel at 2025-06-18T11:56:02+02:00
BB 42037: Disable about:firefoxview page
- - - - -
c4291c2c by Mike Perry at 2025-06-18T11:56:02+02:00
Firefox preference overrides.
- - - - -
43e18cd8 by Pier Angelo Vendrame at 2025-06-18T11:56:03+02: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.
- - - - -
6a06b449 by Pier Angelo Vendrame at 2025-06-18T11:56:03+02:00
BB 41901: Hardcode normalized FontSubstitutes.
Windows has a system to set font aliases through the registry.
This allows some customization that could be used as a fingerprinting
vector.
Moreover, this mechanism is used by Windows itself, and different SKUs
might have different default FontSubstitutes.
- - - - -
08e48282 by Pier Angelo Vendrame at 2025-06-18T11:56:03+02: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.
- - - - -
d2e92828 by Alex Catarineu at 2025-06-18T11:56:03+02: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
- - - - -
b6b14084 by Pier Angelo Vendrame at 2025-06-18T11:56:04+02: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.
- - - - -
0250c7ce by Alex Catarineu at 2025-06-18T11:56:04+02:00
BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware
- - - - -
53fec166 by Alex Catarineu at 2025-06-18T11:56:04+02:00
BB 26345: Hide tracking protection UI
- - - - -
d6191ebe by Henry Wilkes at 2025-06-18T11:56:04+02:00
BB 43109: Hide Firefox Relay from settings.
This should remain disabled, see tor-browser#42814.
- - - - -
2ff24d89 by Henry Wilkes at 2025-06-18T11:56:05+02: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.
- - - - -
2bd038a4 by Morgan at 2025-06-18T11:56:05+02:00
BB 42070: Hide "Use smooth scrolling" from settings
- - - - -
f0b398fe by Arthur Edelstein at 2025-06-18T11:56:05+02:00
BB 18905: Hide unwanted items from help menu
Bug 25660: Remove the "New Private Window" option
- - - - -
0975c77a by Pier Angelo Vendrame at 2025-06-18T11:56:05+02:00
BB 41739: Remove "Website appearance" from about:preferences.
It is ignored because of RFP and it is confusing for users.
- - - - -
19c2f210 by Henry Wilkes at 2025-06-18T11:56:06+02:00
BB 43117: Hide "Always underline links" from settings.
- - - - -
726eed6b by Pier Angelo Vendrame at 2025-06-18T11:56:06+02:00
BB 42774: Always hide the third-pary certs UI.
- - - - -
52a36a47 by Henry Wilkes at 2025-06-18T11:56:06+02:00
BB 43118: Hide feature recommendation (CFR) settings.
- - - - -
392de89b by Pier Angelo Vendrame at 2025-06-18T11:56:06+02: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).
- - - - -
94e6dd9e by Pier Angelo Vendrame at 2025-06-18T11:56:07+02: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.
- - - - -
f0b9a616 by Alex Catarineu at 2025-06-18T11:56:07+02:00
BB 27604: Fix addon issues when moving the profile directory
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838
- - - - -
16e12a5f by Mike Perry at 2025-06-18T11:56:07+02: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
- - - - -
a862639b by Pier Angelo Vendrame at 2025-06-18T11:56:07+02: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.
- - - - -
41a3c66b by Matthew Finkel at 2025-06-18T11:56:08+02:00
BB 40432: Prevent probing installed applications
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084
- - - - -
d1ba7148 by Henry Wilkes at 2025-06-18T11:56:08+02:00
BB 29745: Limit remote access to content accessible resources
- - - - -
8fe5adf2 by cypherpunks1 at 2025-06-18T11:56:08+02:00
BB 33955: When copying an image only copy the image contents to the clipboard
- - - - -
96473458 by cypherpunks1 at 2025-06-18T11:56:08+02:00
BB 41791: Omit the source URL when copying page contents to the clipboard
- - - - -
55c2a0f1 by Pier Angelo Vendrame at 2025-06-18T11:56:09+02: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.
- - - - -
bdf88a24 by Pier Angelo Vendrame at 2025-06-18T11:56:09+02:00
Base Browser strings
This commit adds all the strings needed by following Base Browser
patches.
- - - - -
0f29ede8 by Henry Wilkes at 2025-06-18T11:56:09+02:00
BB 42583: Modify moz-support-link for Base Browser.
- - - - -
e063d20b by Pier Angelo Vendrame at 2025-06-18T11:56:09+02: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.
- - - - -
46e32d29 by p13dz at 2025-06-18T11:56:09+02:00
BB 40283: Workaround for the file upload bug
- - - - -
9e406c6a by hackademix at 2025-06-18T11:56:10+02:00
BB 42019: Empty browser's clipboard on browser shutdown
- - - - -
f7a979d6 by hackademix at 2025-06-18T11:56:10+02:00
BB 42084: Ensure English spoofing works even if preferences are set out of order.
- - - - -
108cf8b6 by Pier Angelo Vendrame at 2025-06-18T11:56:10+02:00
BB 41930: Remove the UI to customize accept_languages.
- - - - -
3fc7fead by hackademix at 2025-06-18T11:56:10+02:00
BB 32308: Use direct browser sizing for letterboxing.
Bug 30556: align letterboxing with 200x100 new win width stepping
- - - - -
bc8cb9b3 by hackademix at 2025-06-18T11:56:11+02:00
BB 41631: Prevent weird initial window dimensions caused by subpixel computations
- - - - -
7e3e69dd by Pier Angelo Vendrame at 2025-06-18T11:56:11+02:00
fixup! BB 41631: Prevent weird initial window dimensions caused by subpixel computations
BB 43672: Compensate window.resizeTo truncating by ceiling newwin sizes.
- - - - -
bbf358af by hackademix at 2025-06-18T11:56:11+02:00
BB 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
c9a87227 by hackademix at 2025-06-18T11:56:11+02:00
BB 41916: Letterboxing preferences UI
- - - - -
446976ad by Beatriz Rizental at 2025-06-18T11:56:12+02:00
fixup! BB 41916: Letterboxing preferences UI
- - - - -
8ef6ea37 by hackademix at 2025-06-18T11:56:12+02:00
BB 41695: Warn on window maximization without letterboxing in RFPHelper module
- - - - -
9609d5ed by hackademix at 2025-06-18T11:56:12+02:00
BB 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
71bbe53d by hackademix at 2025-06-18T11:56:12+02:00
BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
- - - - -
7c5a90c6 by Henry Wilkes at 2025-06-18T11:56:13+02:00
BB 42528: Don't leak system scrollbar size on windows.
- - - - -
7239f672 by Henry Wilkes at 2025-06-18T11:56:13+02:00
BB 31575: Disable Firefox Home (Activity Stream)
Treat about:blank as the default home page and new tab page.
Avoid loading AboutNewTab in BrowserGlue.sys.mjs in order
to avoid several network requests that we do not need.
Bug 41624: Disable about:pocket-* pages.
Bug 40144: Redirect about:privatebrowsing to the user's home
- - - - -
5b55a44a by Kathy Brade at 2025-06-18T11:56:13+02: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.
- - - - -
adaa0b59 by Pier Angelo Vendrame at 2025-06-18T11:56:13+02:00
BB 42061: Create an alpha update channel.
- - - - -
f7ea205a by Nicolas Vigier at 2025-06-18T11:56:14+02:00
BB 41682: Add base-browser nightly mar signing key
- - - - -
f6d22d01 by Pier Angelo Vendrame at 2025-06-18T11:56:14+02: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/.
- - - - -
3306c0b8 by Pier Angelo Vendrame at 2025-06-18T11:56:14+02: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.
- - - - -
2f37046b by Alex Catarineu at 2025-06-18T11:56:14+02:00
BB 40069: Add helpers for message passing with extensions
- - - - -
a772e355 by Matthew Finkel at 2025-06-18T11:56:15+02:00
BB 41598: Prevent NoScript from being removed/disabled.
Bug 40253: Explicitly allow NoScript in Private Browsing mode.
- - - - -
18a86022 by Henry Wilkes at 2025-06-18T11:56:15+02: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).
- - - - -
5d82f502 by hackademix at 2025-06-18T11:56:15+02:00
BB 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons
- - - - -
a393b4df by Pier Angelo Vendrame at 2025-06-18T11:56:15+02: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
- - - - -
a59313fa by Pier Angelo Vendrame at 2025-06-18T11:56:16+02:00
BB 40926: Implemented the New Identity feature
- - - - -
48903e81 by Pier Angelo Vendrame at 2025-06-18T11:56:16+02:00
fixup! BB 40926: Implemented the New Identity feature
Fixed oncommands
- - - - -
5ebf4557 by Henry Wilkes at 2025-06-18T11:56:16+02:00
BB 41736: Customize toolbar for base-browser.
- - - - -
72504cbf by Pier Angelo Vendrame at 2025-06-18T11:56:16+02:00
BB 42027: Base Browser migration procedures.
This commit implmenents the the Base Browser's version of _migrateUI.
- - - - -
d4879d9b by Henry Wilkes at 2025-06-18T11:56:17+02:00
TB 42308: Create README for tor-browser.
We drop the README.txt that comes from Mozilla Firefox and add README.md
for tor-browser.
- - - - -
17dec267 by Morgan at 2025-06-18T11:56:17+02:00
TB 43616: Customize Gitlab Issue and Merge Request templates
- - - - -
4b0e177d by Beatriz Rizental at 2025-06-18T11:56:17+02:00
Add CI for Tor Browser
- - - - -
808435f4 by Richard Pospesel at 2025-06-18T11:56:17+02:00
TB 41089: Add tor-browser build scripts + Makefile to tor-browser
- - - - -
f2104e1b by Pier Angelo Vendrame at 2025-06-18T11:56:18+02:00
fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser
TB 43799: Updated the path where APKs are located.
- - - - -
3389b24b by Henry Wilkes at 2025-06-18T11:56:18+02:00
TB 41803: Add some developer tools for working on tor-browser.
- - - - -
d98d45fd by Alex Catarineu at 2025-06-18T11:56:18+02:00
Add TorStrings module for localization
- - - - -
3176ae60 by Henry Wilkes at 2025-06-18T11:56:18+02:00
Tor Browser strings
This commit adds all the strings needed for Tor Browser patches.
- - - - -
0a3911dc by Henry Wilkes at 2025-06-18T11:56:19+02:00
Tor Browser localization migration scripts.
- - - - -
47571042 by Mike Perry at 2025-06-18T11:56:19+02:00
TB 2176: Rebrand Firefox to TorBrowser
See also Bugs #5194, #7187, #8115, #8219.
This patch does some basic renaming of Firefox to TorBrowser. The rest of the
branding is done by images and icons.
Also fix bug 27905.
Bug 25702: Update Tor Browser icon to follow design guidelines
- Updated all of the branding in /browser/branding/official with new 'stable'
icon series.
- Updated /extensions/onboarding/content/img/tor-watermark.png with new icon and
add the source svg in the same directory
- Copied /browser/branding/official over /browser/branding/nightly and the new
/browser/branding/alpha directories. Replaced content with 'nightly' and
'alpha' icon series.
Updated VisualElements_70.png and VisualElements_150.png with updated icons in
each branding directory (fixes #22654)
- Updated firefox.VisualElementsManfiest.xml with updated colors in each
branding directory
- Added firefox.svg to each branding directory from which all the other icons
are derived (apart from document.icns and document.ico)
- Added default256.png and default512.png icons
- Updated aboutTBUpdate.css to point to branding-aware icon128.png and removed
original icon
- Use the Tor Browser icon within devtools/client/themes/images/.
Bug 30631: Blurry Tor Browser icon on macOS app switcher
It would seem the png2icns tool does not generate correct icns files and
so on macOS the larger icons were missing resulting in blurry icons in
the OS chrome. Regenerated the padded icons in a macOS VM using
iconutil.
Bug 28196: preparations for using torbutton tor-browser-brand.ftl
A small change to Fluent FileSource class is required so that we
can register a new source without its supported locales being
counted as available locales for the browser.
Bug 31803: Replaced about:debugging logo with flat version
Bug 21724: Make Firefox and Tor Browser distinct macOS apps
When macOS opens a document or selects a default browser, it sometimes
uses the CFBundleSignature. Changing from the Firefox MOZB signature to
a different signature TORB allows macOS to distinguish between Firefox
and Tor Browser.
Bug 32092: Fix Tor Browser Support link in preferences
For bug 40562, we moved onionPattern* from bug 27476 to here, as
about:tor needs these files but it is included earlier.
Bug 41278: Create Tor Browser styled pdf logo similar to the vanilla Firefox one
Bug 42088: New application icons (used in-app and on linux).
Bug 42087: New application icons (windows).
- - - - -
1aef8737 by Pier Angelo Vendrame at 2025-06-18T11:56:19+02:00
fixup! TB 2176: Rebrand Firefox to TorBrowser
TB 43776: Mark branding files for l10n merge.
- - - - -
412b6690 by Henry Wilkes at 2025-06-18T11:56:19+02:00
Customize moz-toggle for tor-browser.
- - - - -
e901eb90 by Henry Wilkes at 2025-06-18T11:56:20+02:00
TB 43087: Add onion-pattern to be used on Tor pages.
- - - - -
50d1435e by hackademix at 2025-06-18T11:56:20+02:00
TB 41917: Tor brand-specific styles.
- - - - -
8fc4e034 by Henry Wilkes at 2025-06-18T11:56:20+02:00
TB 41817: tor-browser semantic colors.
- - - - -
f39881df by Henry Wilkes at 2025-06-18T11:56:20+02:00
TB 42110: Add TorUIUtils module for common tor component methods.
- - - - -
cdb4656b by Henry Wilkes at 2025-06-18T11:56:21+02:00
Add purple tor version of the loading APNG.
- - - - -
c0fdbcc1 by Henry Wilkes at 2025-06-18T11:56:21+02:00
TB 42583: Modify moz-support-link for Tor Browser.
- - - - -
c643c890 by sanketh at 2025-06-18T11:56:21+02:00
TB 40209: Implement Basic Crypto Safety
Adds a CryptoSafety actor which detects when you've copied a crypto
address from a HTTP webpage and shows a warning.
Closes #40209.
Bug 40428: Fix string attribute names
- - - - -
9ffa1291 by Mike Perry at 2025-06-18T11:56:21+02:00
TB3: Tor Browser's official .mozconfigs.
Also:
Add an --enable-tor-browser-data-outside-app-dir configure option
Add --with-tor-browser-version configure option
Bug 31457: disable per-installation profiles
The dedicated profiles (per-installation) feature does not interact
well with our bundled profiles on Linux and Windows, and it also causes
multiple profiles to be created on macOS under TorBrowser-Data.
Bug 31935: Disable profile downgrade protection.
Since Tor Browser does not support more than one profile, disable
the prompt and associated code that offers to create one when a
version downgrade situation is detected.
Add --enable-tor-browser-update build option
Bug 40793: moved Tor configuration options from old-configure.in to moz.configure
Bug 41584: Move some configuration options to base-browser level
- - - - -
a01c4175 by Henry Wilkes at 2025-06-18T11:56:22+02:00
TB 41340: Enable TOR_BROWSER_NIGHTLY_BUILD features for dev and nightly builds
tor-browser#41285: Enable fluent warnings.
- - - - -
cdcd9d32 by Pier Angelo Vendrame at 2025-06-18T11:56:22+02:00
TB 40562: Added Tor Browser preferences to 000-tor-browser.js
Before reordering patches, we used to keep the Tor-related patches
(torbutton and tor-launcher) at the beginning.
After that issue, we decided to move them towards the end.
In addition to that, we have decided to move Tor Browser-only
preferences there, too, to make Base Browser-only fixups easier to
apply.
- - - - -
82c626e8 by Pier Angelo Vendrame at 2025-06-18T11:56:22+02:00
TB 13252: Customize profile management on macOS
On macOS we allow both portable mode and system installation.
However, in the latter case, we customize Firefox's directories to
match the hierarchy we use for the portable mode.
Also, display an informative error message if the TorBrowser-Data
directory cannot be created due to an "access denied" or a
"read only volume" error.
- - - - -
84b01c84 by Pier Angelo Vendrame at 2025-06-18T11:56:22+02:00
TB 40933: Add tor-launcher functionality
Bug 41926: Reimplement the control port
- - - - -
d314197b by Cecylia Bocovich at 2025-06-18T11:56:22+02:00
Lox integration
- - - - -
b771b1d7 by Beatriz Rizental at 2025-06-18T11:56:23+02:00
fixup! Lox integration
Comment lazy imports from .jsm, as they are not supported anymore and
cause an unhandled exception on startup.
- - - - -
377ebe64 by Richard Pospesel at 2025-06-18T11:56:23+02:00
TB 40597: Implement TorSettings module
- migrated in-page settings read/write implementation from about:preferences#tor
to the TorSettings module
- TorSettings initially loads settings from the tor daemon, and saves them to
firefox prefs
- TorSettings notifies observers when a setting has changed; currently only
QuickStart notification is implemented for parity with previous preference
notify logic in about:torconnect and about:preferences#tor
- about:preferences#tor, and about:torconnect now read and write settings
thorugh the TorSettings module
- all tor settings live in the torbrowser.settings.* preference branch
- removed unused pref modify permission for about:torconnect content page from
AsyncPrefs.jsm
Bug 40645: Migrate Moat APIs to Moat.jsm module
- - - - -
44a1c1af by Arthur Edelstein at 2025-06-18T11:56:23+02:00
TB 3455: Add DomainIsolator, for isolating circuit by domain.
Add an XPCOM component that registers a ProtocolProxyChannelFilter
which sets the username/password for each web request according to
url bar domain.
Bug 9442: Add New Circuit button
Bug 13766: Set a 10 minute circuit dirty timeout for the catch-all circ.
Bug 19206: Include a 128 bit random tag as part of the domain isolator nonce.
Bug 19206: Clear out the domain isolator state on `New Identity`.
Bug 21201.2: Isolate by firstPartyDomain from OriginAttributes
Bug 21745: Fix handling of catch-all circuit
Bug 41741: Refactor the domain isolator and new circuit
- - - - -
e176b50c by Pier Angelo Vendrame at 2025-06-18T11:56:23+02:00
fixup! TB 3455: Add DomainIsolator, for isolating circuit by domain.
Fixed oncommand
- - - - -
59549726 by Henry Wilkes at 2025-06-18T11:56:24+02:00
TB 41600: Add a tor circuit display panel.
- - - - -
74b39d2f by Pier Angelo Vendrame at 2025-06-18T11:56:24+02:00
TB 42247: Android helpers for the TorProvider
GeckoView is missing some API we use on desktop for the integration
with the tor daemon, such as subprocess.
Therefore, we need to implement them in Java and plumb the data
back and forth between JS and Java.
- - - - -
d0d643e0 by hackademix at 2025-06-18T11:56:24+02:00
TB 8324: Prevent DNS proxy bypasses caused by Drag&Drop
Bug 41613: Skip Drang & Drop filtering for DNS-safe URLs
- - - - -
fc0caf25 by Matthew Finkel at 2025-06-18T11:56:24+02:00
TB 25741: TBA: Disable GeckoNetworkManager
The browser should not need information related to the network
interface or network state, tor should take care of that.
- - - - -
6f5640d1 by Pier Angelo Vendrame at 2025-06-18T11:56:25+02:00
TB 40807: Added QRCode.js to toolkit/modules
- - - - -
08d1f436 by Richard Pospesel at 2025-06-18T11:56:25+02:00
TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
This patch adds a new about:preferences#connection page which allows
modifying bridge, proxy, and firewall settings from within Tor Browser.
All of the functionality present in tor-launcher's Network
Configuration panel is present:
- Setting built-in bridges
- Requesting bridges from BridgeDB via moat
- Using user-provided bridges
- Configuring SOCKS4, SOCKS5, and HTTP/HTTPS proxies
- Setting firewall ports
- Viewing and Copying Tor's logs
- The Networking Settings in General preferences has been removed
Bug 40774: Update about:preferences page to match new UI designs
- - - - -
b92f33e2 by Beatriz Rizental at 2025-06-18T11:56:25+02:00
fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
- - - - -
4a325abd by Richard Pospesel at 2025-06-18T11:56:25+02:00
TB 27476: Implement about:torconnect captive portal within Tor Browser
- implements new about:torconnect page as tor-launcher replacement
- adds new torconnect component to browser
- tor process management functionality remains implemented in tor-launcher through the TorProtocolService module
- adds warning/error box to about:preferences#tor when not connected to tor
Bug 40773: Update the about:torconnect frontend page to match additional UI flows.
Bug 41608: Add a toolbar status button and a urlbar "Connect" button.
- - - - -
faa5aca0 by Beatriz Rizental at 2025-06-18T11:56:26+02:00
fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser
- - - - -
a1d003c7 by Pier Angelo Vendrame at 2025-06-18T11:56:26+02:00
Temporary changes to about:torconnect for Android.
We are planning of tempoorarily using about:torconnect on Android, until
the native UX is ready.
- - - - -
65a79671 by Henry Wilkes at 2025-06-18T11:56:26+02:00
TB 43405: Show a prompt whenever we fail to apply Tor settings.
- - - - -
c321c87b by Henry Wilkes at 2025-06-18T11:56:26+02:00
TB 7494: Create local home page for TBB.
Bug 41333: Update about:tor to new design. Including:
+ make the favicon match the branding icon.
+ make the location bar show a search icon.
- - - - -
8b194e2b by Beatriz Rizental at 2025-06-18T11:56:27+02:00
fixup! TB 7494: Create local home page for TBB.
- - - - -
41ca116a by Pier Angelo Vendrame at 2025-06-18T11:56:27+02:00
TB 41668: Tweaks to the Base Browser updater for Tor Browser
This commit was once part of "Bug 4234: Use the Firefox Update Process
for Tor Browser.".
However, some parts of it were not needed for Base Browser and some
derivative browsers.
Therefore, we extracted from that commit the parts for Tor Browser
legacy, and we add them back to the patch set with this commit.
- - - - -
647ebb44 by Kathy Brade at 2025-06-18T11:56:27+02:00
TB 12647: Support symlinks in the updater.
- - - - -
1031edfb by Georg Koppen at 2025-06-18T11:56:27+02:00
TB 32658: Create a new MAR signing key
It's time for our rotation again: Move the backup key in the front
position and add a new backup key.
Bug 33803: Move our primary nightly MAR signing key to tor-browser
Bug 33803: Add a secondary nightly MAR signing key
- - - - -
81e2b9f8 by Pier Angelo Vendrame at 2025-06-18T11:56:28+02:00
TB 42891: Set the bundled search engine for Tor Browser.
After upstream changes between Firefox 115 and 128, we had to
completely rework the way in which we define our search engines.
This commit replaces the old "Omnibox: Add DDG, Startpage, Disconnect,
Youtube, Twitter; remove Amazon, eBay, bing".
With that commit, we customized a list of addons IDs to ship as
built-in search engines, but then upsteam moved to using only
RemoteSettings.
The configuration has many more fields, and it would be quite long to
include it in the source code. Therefore, we use some local JSON files
and load the settings from them.
- - - - -
44ff9cee by Beatriz Rizental at 2025-06-18T11:56:28+02:00
fixup! TB 42891: Set the bundled search engine for Tor Browser.
- - - - -
97fd89a6 by Henry Wilkes at 2025-06-18T11:56:28+02:00
TB 41906: Hide DNS over HTTPS preferences.
- - - - -
a6715368 by Richard Pospesel at 2025-06-18T11:56:28+02:00
TB 23247: Communicating security expectations for .onion
Encrypting pages hosted on Onion Services with SSL/TLS is redundant
(in terms of hiding content) as all traffic within the Tor network is
already fully encrypted. Therefore, serving HTTP pages from an Onion
Service is more or less fine.
Prior to this patch, Tor Browser would mostly treat pages delivered
via Onion Services as well as pages delivered in the ordinary fashion
over the internet in the same way. This created some inconsistencies
in behaviour and misinformation presented to the user relating to the
security of pages delivered via Onion Services:
- HTTP Onion Service pages did not have any 'lock' icon indicating
the site was secure
- HTTP Onion Service pages would be marked as unencrypted in the Page
Info screen
- Mixed-mode content restrictions did not apply to HTTP Onion Service
pages embedding Non-Onion HTTP content
This patch fixes the above issues, and also adds several new 'Onion'
icons to the mix to indicate all of the various permutations of Onion
Services hosted HTTP or HTTPS pages with HTTP or HTTPS content.
Strings for Onion Service Page Info page are pulled from Torbutton's
localization strings.
- - - - -
1b523e71 by Kathy Brade at 2025-06-18T11:56:29+02:00
TB 30237: Add v3 onion services client authentication prompt
When Tor informs the browser that client authentication is needed,
temporarily load about:blank instead of about:neterror and prompt
for the user's key.
If a correctly formatted key is entered, use Tor's ONION_CLIENT_AUTH_ADD
control port command to add the key (via Torbutton's control port
module) and reload the page.
If the user cancels the prompt, display the standard about:neterror
"Unable to connect" page. This requires a small change to
browser/actors/NetErrorChild.jsm to account for the fact that the
docShell no longer has the failedChannel information. The failedChannel
is used to extract TLS-related error info, which is not applicable
in the case of a canceled .onion authentication prompt.
Add a leaveOpen option to PopupNotifications.show so we can display
error messages within the popup notification doorhanger without
closing the prompt.
Add support for onion services strings to the TorStrings module.
Add support for Tor extended SOCKS errors (Tor proposal 304) to the
socket transport and SOCKS layers. Improved display of all of these
errors will be implemented as part of bug 30025.
Also fixes bug 19757:
Add a "Remember this key" checkbox to the client auth prompt.
Add an "Onion Services Authentication" section within the
about:preferences "Privacy & Security section" to allow
viewing and removal of v3 onion client auth keys that have
been stored on disk.
Also fixes bug 19251: use enhanced error pages for onion service errors.
- - - - -
61c6bf82 by Alex Catarineu at 2025-06-18T11:56:29+02:00
TB 21952: Implement Onion-Location
Whenever a valid Onion-Location HTTP header (or corresponding HTML
<meta> http-equiv attribute) is found in a document load, we either
redirect to it (if the user opted-in via preference) or notify the
presence of an onionsite alternative with a badge in the urlbar.
- - - - -
78610f95 by Pier Angelo Vendrame at 2025-06-18T11:56:29+02:00
fixup! TB 21952: Implement Onion-Location
No more inline event handlers
- - - - -
40288ad6 by Pier Angelo Vendrame at 2025-06-18T11:56:29+02:00
TB 40458: Implement .tor.onion aliases
We have enabled HTTPS-Only mode, therefore we do not need
HTTPS-Everywhere anymore.
However, we want to keep supporting .tor.onion aliases (especially for
securedrop).
Therefore, in this patch we implemented the parsing of HTTPS-Everywhere
rulesets, and the redirect of .tor.onion domains.
Actually, Tor Browser believes they are actual domains. We change them
on the fly on the SOCKS proxy requests to resolve the domain, and on
the code that verifies HTTPS certificates.
- - - - -
5c3c1c9f by Beatriz Rizental at 2025-06-18T11:56:30+02:00
fixup! TB 40458: Implement .tor.onion aliases
- - - - -
7fa829f9 by Pier Angelo Vendrame at 2025-06-18T11:56:30+02:00
TB 11698: Incorporate Tor Browser Manual pages into Tor Browser
This patch associates the about:manual page to a translated page that
must be injected to browser/omni.ja after the build.
The content must be placed in chrome/browser/content/browser/manual/, so
that is then available at chrome://browser/content/manual/.
We preferred giving absolute freedom to the web team, rather than having
to change the patch in case of changes on the documentation.
- - - - -
695da245 by Pier Angelo Vendrame at 2025-06-18T11:56:30+02:00
fixup! TB 11698: Incorporate Tor Browser Manual pages into Tor Browser
Fix oncommands
- - - - -
c392fc56 by Pier Angelo Vendrame at 2025-06-18T11:56:30+02:00
TB 41435: Add a Tor Browser migration function
For now this function only deletes old language packs for which we are
already packaging the strings with the application.
- - - - -
9e4ca16b by Dan Ballard at 2025-06-18T11:56:31+02:00
TB 40701: Add security warning when downloading a file
Shown in the downloads panel, about:downloads and places.xhtml.
- - - - -
3f49047b by Henry Wilkes at 2025-06-18T11:56:31+02:00
TB 41736: Customize toolbar for tor-browser.
- - - - -
a4c1c0e4 by hackademix at 2025-06-18T11:56:31+02:00
TB 41728: Pin bridges.torproject.org domains to Let's Encrypt's root cert public key
- - - - -
65b020f8 by Richard Pospesel at 2025-06-18T11:56:31+02:00
TB 41822: Unconditionally disable default browser UX in about:preferences
- - - - -
fe64bad9 by Cecylia Bocovich at 2025-06-18T11:56:32+02:00
Temporary commit: manually place generated wasm files
These files are built reproducibly using tor-browser-build: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_re…
We're manually adding them here while working on the interface, but
eventually these should be placed in the right location using
tor-browser-build.
- - - - -
efce31a1 by Pier Angelo Vendrame at 2025-06-18T11:56:32+02:00
[android] TBA strings
- - - - -
5b108dfb by Dan Ballard at 2025-06-18T11:56:32+02:00
TB 42660: Disable ProxySelector.openConnectionWithProxy and NOPify CrashReporter.sendCrashReport
- - - - -
f1feb55a by Dan Ballard at 2025-06-18T11:56:32+02:00
TB 43006: Disable RFP for Font Visibility on Android
- - - - -
cb072ba0 by Matthew Finkel at 2025-06-18T11:56:33+02:00
TB 40005: [android] Modify Default toolbar menu
Originally android-components#40005.
- - - - -
9ed68736 by Alex Catarineu at 2025-06-18T11:56:33+02:00
TB 34378: [android] Port external helper app prompting
Together with the corresponding fenix patch, this allows all `startActivity`
that may open external apps to be replaced by `TorUtils.startActivityPrompt`.
Originally, android-components#40007 and fenix#34378.
- - - - -
07baf958 by Alex Catarineu at 2025-06-18T11:56:33+02:00
TB 40002: [android] Ensure system download manager is not used
Originally, android-components#40002.
android-components#40075: Support scoped storage to enable downloads on API < 29
- in android-components!7, we blocked all usage of Scoped
Storage in an attempt to block usage of Android's
DownloadManager, which is known to cause proxy bypasses
- as of Android API 29, downloads will not work without Scoped Storage,
causing all downlaods to fail (see: fenix##40192)
- here, we enable usage of scoped storage for API >= 29, but block
calls to DownloadManager on API < 29
- - - - -
b281e843 by Alex Catarineu at 2025-06-18T11:56:33+02:00
TB 40009: [android] Change the default search engines
Originally, android-components#40009.
This matches the search engines from desktop, that is:
DDG as the default, then YouTube, Google, DDGOnion,
Startpage, Twitter, Wikipedia and Yahoo.
android-components#40062: Update DuckDuckGo onion search plugin
- - - - -
832d2b6c by hackademix at 2025-06-18T11:56:34+02:00
TB 42191: [android] Temporary StrictMode relaxation to clear the thumbnail cache.
- - - - -
dd7b0ee1 by hackademix at 2025-06-18T11:56:34+02:00
[android] Modify add-on support
Bug 41160: One-time ultimate switch Tor Browser Android to HTTPS-Only.
Bug 41159: Remove HTTPS-Everywhere extension from Tor Browser Android.
Bug 41094: Enable HTTPS-Only Mode by default in Tor Browser Android.
Turn shouldUseHttpsOnly's default to true.
Bug 40225: Bundled extensions don't get updated with Android Tor
Browser updates.
Bug 40030: Install NoScript addon on startup.
Also 40070: Consider storing the list of recommended addons
This implements our own AddonsProvider, which loads the list of
available addons from assets instead of fetching it from an
endpoint.
Also, we hide the uninstall button for builtin addons.
Bug 40058: Hide option for disallowing addon in private mode
- - - - -
531e63cc by Alex Catarineu at 2025-06-18T11:56:34+02:00
[android] Modify Addon support
android-components#40011: Hide option for disallowing addons in private mode
android-components#40016: Allow inheriting from AddonCollectionProvider
This will allow implementing our own AddonsProvider in fenix.
- - - - -
4ddec671 by Alex Catarineu at 2025-06-18T11:56:34+02:00
TB 40015: [android] Port padlock states for .onion services
Originally, android-components#40015.
- - - - -
ca3e791f by Matthew Finkel at 2025-06-18T11:56:35+02:00
[android] Modify Tracking Protection configuration
android-components#40020: Disable third-party cookies
android-components#40024: Disable tracking protection by default
- - - - -
a66bf43f by Matthew Finkel at 2025-06-18T11:56:35+02:00
TB 40023: [android] Stop PrivateNotificationService
Originally, android-components#40023.
- - - - -
d2bd68e3 by Alex Catarineu at 2025-06-18T11:56:35+02:00
TB 34439 [android]: Isolate Icon loader on Android.
Originally, android-components#34439.
- - - - -
ca44d375 by Matthew Finkel at 2025-06-18T11:56:35+02:00
[android] Disable features and functionality
Bug 33594: Disable data collection by default (Glean)
Bug 40019: Adjust is disabled on Release when data collection is disabled
Bug 34338: Disable the crash reporter
Bug 40014: Neuter Google Advertising ID
Bug 40018: Disable Push service
Bug 40034: Disable PWA onboading
Bug 40072: Disable Tracking Protection
Bug 40061: Do not show "Send to device" in sharing menu
Bug 40109: Reduce requested permissions
Exclude LOCATION and NETWORK_STATE
- - - - -
838adb04 by Beatriz Rizental at 2025-06-18T11:56:35+02:00
fixup! [android] Disable features and functionality
- - - - -
2455dbdc by Matthew Finkel at 2025-06-18T11:56:36+02:00
TB 40032 [android]: Set usesCleartextTraffic as false
Originally, fenix#40032.
- - - - -
f752d442 by Matthew Finkel at 2025-06-18T11:56:36+02:00
[android] Rename as Tor Browser
Bug 40020: Change applicationId
Bug 40020: Change app name
Bug 40020: Change deeplink scheme
Bug 40020: Change App icons
Bug 40073: Use correct branding on About page
Bug 40088: Use Tor Browser logo in migration screen
- - - - -
657b4b3c by Georg Koppen at 2025-06-18T11:56:36+02:00
[android] Modify build system
Bug 40083: Make locale ordering in BuildConfig deterministic
Bug 40042: Add option do overwrite timestamp in extension version
Bug 40059: Use MOZ_BUILD_DATE for versionCode
At the same time we adapt MOZ_BUILD_DATE to our needs where it is
actually used and not in tor-browser-build. This gives us more
flexibility. See: tor-browser-build#40084.
Bug 40067: Fix reproducibility issue in classes2.dex
We make sure our MOZ_BUILD_DATE gets used as a source for showing date
related information on the Fenix about page.
Bug 40071: Show only supported locales
Bug 40064: Use Gecko Beta for Nightly and Debug variants
Bug 40123: Allow building the instrumented tests apks for variants other than debug
This allows to specify the variant of the instrumented tests via
a `testBuildType` gradle argument. It also applies a workaround for
a R8 issue from https://issuetracker.google.com/issues/140851070.
Bug 40143: Use deterministic date in Test apk
The build config was using Date() when generating the Test apk's
versionName.
- - - - -
acdc9550 by Pier Angelo Vendrame at 2025-06-18T11:56:37+02:00
fixup! [android] Modify build system
TB 43799: Update the path where apks are.
- - - - -
fa58624c by Matthew Finkel at 2025-06-18T11:56:37+02:00
TB 40185: [android] Use NimbusDisabled
Originally, fenix#40185.
- - - - -
de3bbace by Pier Angelo Vendrame at 2025-06-18T11:56:37+02:00
fixup! TB 40185: [android] Use NimbusDisabled
Flip pref_key_show_top_sites to false.
- - - - -
a12afaff by Alex Catarineu at 2025-06-18T11:56:37+02:00
TB 40087 [android]: Implement a switch for spoof English.
Originally, fenix#40087 and android-components#40019.
- - - - -
50d6be16 by Matthew Finkel at 2025-06-18T11:56:37+02:00
TB 34403 [android]: Disable Normal mode by default.
Originally, fenix#34403.
- - - - -
8fb6f84a by Pier Angelo Vendrame at 2025-06-18T11:56:38+02:00
fixup! TB 34403 [android]: Disable Normal mode by default.
Import LocalContext, which has been removed upstream.
- - - - -
8d09ff0f by Matthew Finkel at 2025-06-18T11:56:38+02:00
TB 40016 [android]: Don't install WebCompat webext.
Originally, fenix#40016.
- - - - -
efb0e6a8 by Matthew Finkel at 2025-06-18T11:56:38+02:00
[android] Modify UI/UX
Bug 40015: Modify Home menu
Bug 40016: Hide unwanted Settings
Bug 40016: Modify Default toolbar menu
Bug 40016: Add Donate settings button
Bug 40016: Move Allow Screenshots under Advanced
Bug 40016: Don't install WebCompat webext
Bug 40016: Don't onboard Search Suggestions
Bug 40094: Do not use MasterPasswordTipProvider in HomeFragment
Bug 40095: Hide "Sign in to sync" in bookmarks
Bug 40031: Hide Mozilla-specific items on About page
Bug 40063: Do not sort search engines alphabetically
Bug 40141: Hide EME site permission
Bug 40166: Hide "Normal" tab (again) and Sync tab in TabTray
Bug 40167: Hide "Save to Collection" in menu
Bug 40172: Find the Quit button
Bug 40186: Hide Credit Cards in Settings
Bug 40198: Spoof English toggle now overlaps with locale list
- - - - -
87a886eb by Matthew Finkel at 2025-06-18T11:56:38+02:00
TB 40026 [android]: Implement Security Level settings on Android.
Originally, fenix#40026.
- - - - -
45f21949 by Dan Ballard at 2025-06-18T11:56:39+02:00
TB 41972: [android] Disable Mozilla onboarding
- - - - -
4b5e8d8f by Dan Ballard at 2025-06-18T11:56:39+02:00
TB 41878: [android] Add standalone Tor Bootstrap
- - - - -
9608b998 by Matthew Finkel at 2025-06-18T11:56:39+02:00
TB 40041 [android]: Implement Tor Network Settings
Originally, fenix#40041.
- - - - -
583fcd8f by clairehurst at 2025-06-18T11:56:39+02:00
[android] Implement Android-native Connection Assist UI
- - - - -
09bb6f05 by Pier Angelo Vendrame at 2025-06-18T11:56:40+02:00
fixup! [android] Implement Android-native Connection Assist UI
Fix 139 Android build errors.
BrowserToolbarView.view has been removed, so comment it for now.
- - - - -
75ec2ddb by clairehurst at 2025-06-18T11:56:40+02:00
TB 42655 [android]: Implement "New circuit for this site" on Android
- - - - -
c97c687a by clairehurst at 2025-06-18T11:56:40+02:00
TB 42089: [android] Remove ability to submit site support requests
- - - - -
263755ef by clairehurst at 2025-06-18T11:56:40+02:00
[android] Delete unused media
- - - - -
b780d0ee by Pier Angelo Vendrame at 2025-06-18T11:56:41+02:00
fixup! [android] Delete unused media
Replace another ic_firefox with a file we do not delete.
- - - - -
1b0c0b86 by Beatriz Rizental at 2025-06-18T11:56:41+02:00
TB 43243: [android] Implement Android launch test
Also remove exit call from terminate function.
It causes all espresso tests to crash on exit and otherwise doesn't do anything.
- - - - -
de0befc8 by Beatriz Rizental at 2025-06-18T11:56:41+02:00
TB 42669: [android] Use custom no-op app-services
Fetch the custom built no-op application services library
from tor-browser-build when building for Android.
- - - - -
cfbd1e14 by Beatriz Rizental at 2025-06-18T11:56:41+02:00
fixup! TB 42669: [android] Use custom no-op app-services
- - - - -
b1238175 by Pier Angelo Vendrame at 2025-06-18T11:56:42+02:00
fixup! Base Browser strings
BB 43849: Remove a useless lint exclusion.
Probably it was a rebase error.
- - - - -
276e713b by Dan Ballard at 2025-06-18T11:56:42+02:00
fixup! [android] Modify build system
Bug 43809: allow tba-fetch-deps to download from nightlies
- - - - -
6ddad0f9 by Dan Ballard at 2025-06-18T11:56:42+02:00
fixup! TB 42669: [android] Use custom no-op app-services
Bug 43809: allow tba-fetch-deps to download nightlies
- - - - -
7dd37f1d by hackademix at 2025-06-18T11:56:42+02:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
4119a744 by Henry Wilkes at 2025-06-18T11:56:43+02:00
fixup! TB 40933: Add tor-launcher functionality
TB 43636: Distinguish between bootstrap errors and TorProvider
initialisation errors.
- - - - -
09e8aa23 by Henry Wilkes at 2025-06-18T11:56:43+02:00
fixup! TB 40597: Implement TorSettings module
TB 43636: Move to the Start stage when a bootstrap fails due to a
TorProvider initialisation error.
- - - - -
dabe80f4 by Henry Wilkes at 2025-06-18T11:56:43+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
042bad1a by Henry Wilkes at 2025-06-18T11:56:43+02:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
5ad40f1d by Henry Wilkes at 2025-06-18T11:56:44+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
1172316b by Henry Wilkes at 2025-06-18T11:56:44+02:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43783: Expose SecurityLevelPrefs.setSecurityLevelAndRestart to
android integration.
- - - - -
4344bb65 by Henry Wilkes at 2025-06-18T11:56:44+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
2a72f321 by Henry Wilkes at 2025-06-18T11:56:44+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
8ce389e3 by clairehurst at 2025-06-18T11:56:45+02:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
ee1ac1ed by clairehurst at 2025-06-18T11:56:45+02:00
fixup! [android] Implement Android-native Connection Assist UI
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
83815d72 by clairehurst at 2025-06-18T11:56:45+02:00
fixup! [android] TBA strings
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
b242e9cc by Pier Angelo Vendrame at 2025-06-18T11:56:45+02:00
fixup! BB 42758: Fix WebRTC build errors.
MB 440: Change abseil's thread mode.
Remove pthread again and use win32 threads also when building with
mingw.
- - - - -
933b20c3 by Pier Angelo Vendrame at 2025-06-18T11:56:46+02:00
fixup! TB 2176: Rebrand Firefox to TorBrowser
TB 43855: Set Android branding for l10n merging.
- - - - -
dc2a2487 by Beatriz Rizental at 2025-06-18T11:56:46+02:00
fixup! Tweaks to the build system
Make it possible to provide MOZ_PKG_MAC_DSSTORE, MOZ_PKG_MAC_BACKGROUND,
MOZ_PKG_MAC_ICON as environment variables. These files are not where the
build system expects it.
In our build system these files are in
tor-browser-build/projects/browser/Bundle-Data/BaseBrowser.dmg while the
build system expects it to be in browser/branding/tb-*.
For ./mach package to work properly when building for macos we need
these locations. Passing them as env vars is fine for building artifacts
in tbb.
- - - - -
866cd27e by Beatriz Rizental at 2025-06-18T11:56:46+02:00
fixup! Tweaks to the build system
Disable inclusion of browser/installer/windows into packaged development
artifacts. That file is not included by our builds -- at least not by
the ones done by tor-browser-build.
Attempting to zip the unexisting folder will crash `./mach package` when
building inside tor-browser-build.
- - - - -
03e945b9 by Henry Wilkes at 2025-06-18T11:56:46+02:00
fixup! TB 40933: Add tor-launcher functionality
TB 43577: Do not try and flush settings to torrc on android.
- - - - -
33e5a77e by Morgan at 2025-06-18T11:56:47+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add ~Emergency label and explicit optional Mullvad communication step
- - - - -
581bca00 by Morgan at 2025-06-18T11:56:47+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
update target channels with esr140-15.0 and esr128-14.5
- - - - -
0dcd6f63 by Morgan at 2025-06-18T11:56:47+02:00
fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js
use netlify for moat's domain fronting
- - - - -
ed543c60 by Henry Wilkes at 2025-06-18T11:56:47+02:00
fixup! TB 40597: Implement TorSettings module
TB 43853: Use setByteStringData instead of setData.
- - - - -
e3789b6e by Beatriz Rizental at 2025-06-18T11:56:47+02:00
fixup! TB 42669: [android] Use custom no-op app-services
- - - - -
6ccd4ab2 by Beatriz Rizental at 2025-06-18T11:56:48+02:00
Revert "TB 40185: [android] Use NimbusDisabled"
This reverts commit c98c78c527f11856aab9f7e16ff503f267e665e2.
- - - - -
a445d8d9 by Beatriz Rizental at 2025-06-18T11:56:48+02:00
[android] Override settings
- - - - -
f94f847e by Beatriz Rizental at 2025-06-18T11:56:48+02:00
fixup! [android] Override settings
Disable the tab-strip experiment for all channels. Having this
experiment enabled overrides the toolbar position to always be on the
top, which we don't want.
- - - - -
d1d3465e by Morgan at 2025-06-18T12:02:58+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add fingerprinting issue template
- - - - -
99bcb6c0 by Beatriz Rizental at 2025-06-18T12:02:59+02:00
Various Android workarounds
- - - - -
1825 changed files:
- .gitignore
- + .gitlab-ci.yml
- + .gitlab/ci/containers/base/Containerfile
- + .gitlab/ci/jobs/lint/helpers.py
- + .gitlab/ci/jobs/lint/lint.yml
- + .gitlab/ci/jobs/startup-test/startup-test-android.py
- + .gitlab/ci/jobs/startup-test/startup-test.py
- + .gitlab/ci/jobs/startup-test/startup-test.yml
- + .gitlab/ci/jobs/update-containers.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/050 Backport.md
- + .gitlab/issue_templates/060 Rebase - Alpha.md
- + .gitlab/issue_templates/061 Rebase - Stable.md
- + .gitlab/issue_templates/062 Rebase - Legacy.md
- + .gitlab/issue_templates/063 Rebase - Rapid.md
- + .gitlab/issue_templates/070 Uplift.md
- + .gitlab/issue_templates/080 Security Backports.md
- + .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/100 Release QA - Desktop.md
- + .gitlab/issue_templates/101 Release QA - Android.md
- + .gitlab/issue_templates/110 Bugzilla Triage.md
- + .gitlab/issue_templates/120 Bugzilla Audit.md
- + .gitlab/issue_templates/Default.md
- + .gitlab/merge_request_templates/Default.md
- .prettierignore
- README.md
- + browser/actors/CryptoSafetyChild.sys.mjs
- + browser/actors/CryptoSafetyParent.sys.mjs
- 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/000-tor-browser.js
- + browser/app/profile/001-base-profile.js
- browser/app/profile/firefox.js
- browser/base/content/aboutDialog-appUpdater.js
- browser/base/content/aboutDialog.js
- browser/base/content/aboutDialog.xhtml
- + browser/base/content/aboutDialogTor.css
- 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-menubar.js
- browser/base/content/browser-places.js
- browser/base/content/browser-safebrowsing.js
- browser/base/content/browser-sets.inc
- browser/base/content/browser-sets.js
- browser/base/content/browser-siteIdentity.js
- browser/base/content/browser.js
- browser/base/content/browser.js.globals
- browser/base/content/browser.xhtml
- browser/base/content/default-bookmarks.html
- + browser/base/content/languageNotification.js
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/base/content/navigator-toolbox.js
- browser/base/content/pageinfo/pageInfo.xhtml
- browser/base/content/pageinfo/security.js
- browser/base/content/popup-notifications.inc.xhtml
- browser/base/content/utilityOverlay.js
- browser/base/jar.mn
- browser/base/moz.build
- browser/branding/branding-common.mozbuild
- + browser/branding/tb-alpha/VisualElements_150.png
- + browser/branding/tb-alpha/VisualElements_70.png
- + browser/branding/tb-alpha/configure.sh
- + browser/branding/tb-alpha/content/about-logo.png
- + browser/branding/tb-alpha/content/about-logo.svg
- + browser/branding/tb-alpha/content/about-logo(a)2x.png
- + browser/branding/tb-alpha/content/about-wordmark.svg
- + browser/branding/tb-alpha/content/about.png
- + browser/branding/tb-alpha/content/aboutDialog.css
- + browser/branding/tb-alpha/content/firefox-wordmark.svg
- + browser/branding/tb-alpha/content/jar.mn
- + browser/branding/tb-alpha/content/moz.build
- + browser/branding/tb-alpha/default128.png
- + browser/branding/tb-alpha/default16.png
- + browser/branding/tb-alpha/default22.png
- + browser/branding/tb-alpha/default24.png
- + browser/branding/tb-alpha/default256.png
- + browser/branding/tb-alpha/default32.png
- + browser/branding/tb-alpha/default48.png
- + browser/branding/tb-alpha/default64.png
- + browser/branding/tb-alpha/document.icns
- + browser/branding/tb-alpha/document.ico
- + browser/branding/tb-alpha/document_pdf.ico
- + browser/branding/tb-alpha/firefox.VisualElementsManifest.xml
- + browser/branding/tb-alpha/firefox.icns
- + browser/branding/tb-alpha/firefox.ico
- + browser/branding/tb-alpha/locales/en-US/brand.ftl
- + browser/branding/tb-alpha/locales/en-US/brand.properties
- + browser/branding/tb-alpha/locales/jar.mn
- + browser/branding/tb-alpha/locales/moz.build
- + browser/branding/tb-alpha/moz.build
- + browser/branding/tb-alpha/newtab.ico
- + browser/branding/tb-alpha/newwindow.ico
- + browser/branding/tb-alpha/pbmode.ico
- + browser/branding/tb-alpha/pref/firefox-branding.js
- + browser/branding/tb-nightly/VisualElements_150.png
- + browser/branding/tb-nightly/VisualElements_70.png
- + browser/branding/tb-nightly/configure.sh
- + browser/branding/tb-nightly/content/about-logo.png
- + browser/branding/tb-nightly/content/about-logo.svg
- + browser/branding/tb-nightly/content/about-logo(a)2x.png
- + browser/branding/tb-nightly/content/about-wordmark.svg
- + browser/branding/tb-nightly/content/about.png
- + browser/branding/tb-nightly/content/aboutDialog.css
- + browser/branding/tb-nightly/content/firefox-wordmark.svg
- + browser/branding/tb-nightly/content/jar.mn
- + browser/branding/tb-nightly/content/moz.build
- + browser/branding/tb-nightly/default128.png
- + browser/branding/tb-nightly/default16.png
- + browser/branding/tb-nightly/default22.png
- + browser/branding/tb-nightly/default24.png
- + browser/branding/tb-nightly/default256.png
- + browser/branding/tb-nightly/default32.png
- + browser/branding/tb-nightly/default48.png
- + browser/branding/tb-nightly/default64.png
- + browser/branding/tb-nightly/document.icns
- + browser/branding/tb-nightly/document.ico
- + browser/branding/tb-nightly/document_pdf.ico
- + browser/branding/tb-nightly/firefox.VisualElementsManifest.xml
- + browser/branding/tb-nightly/firefox.icns
- + browser/branding/tb-nightly/firefox.ico
- + browser/branding/tb-nightly/locales/en-US/brand.ftl
- + browser/branding/tb-nightly/locales/en-US/brand.properties
- + browser/branding/tb-nightly/locales/jar.mn
- + browser/branding/tb-nightly/locales/moz.build
- + browser/branding/tb-nightly/moz.build
- + browser/branding/tb-nightly/newtab.ico
- + browser/branding/tb-nightly/newwindow.ico
- + browser/branding/tb-nightly/pbmode.ico
- + browser/branding/tb-nightly/pref/firefox-branding.js
- + browser/branding/tb-release/VisualElements_150.png
- + browser/branding/tb-release/VisualElements_70.png
- + browser/branding/tb-release/configure.sh
- + browser/branding/tb-release/content/about-logo.png
- + browser/branding/tb-release/content/about-logo.svg
- + browser/branding/tb-release/content/about-logo(a)2x.png
- + browser/branding/tb-release/content/about-wordmark.svg
- + browser/branding/tb-release/content/about.png
- + browser/branding/tb-release/content/aboutDialog.css
- + browser/branding/tb-release/content/firefox-wordmark.svg
- + browser/branding/tb-release/content/jar.mn
- + browser/branding/tb-release/content/moz.build
- + browser/branding/tb-release/default128.png
- + browser/branding/tb-release/default16.png
- + browser/branding/tb-release/default22.png
- + browser/branding/tb-release/default24.png
- + browser/branding/tb-release/default256.png
- + browser/branding/tb-release/default32.png
- + browser/branding/tb-release/default48.png
- + browser/branding/tb-release/default64.png
- + browser/branding/tb-release/document.icns
- + browser/branding/tb-release/document.ico
- + browser/branding/tb-release/document_pdf.ico
- + browser/branding/tb-release/firefox.VisualElementsManifest.xml
- + browser/branding/tb-release/firefox.icns
- + browser/branding/tb-release/firefox.ico
- + browser/branding/tb-release/locales/en-US/brand.ftl
- + browser/branding/tb-release/locales/en-US/brand.properties
- + browser/branding/tb-release/locales/jar.mn
- + browser/branding/tb-release/locales/moz.build
- + browser/branding/tb-release/moz.build
- + browser/branding/tb-release/newtab.ico
- + browser/branding/tb-release/newwindow.ico
- + browser/branding/tb-release/pbmode.ico
- + browser/branding/tb-release/pref/firefox-branding.js
- browser/components/BrowserComponents.manifest
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/DesktopActorRegistry.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/abouttor/AboutTorChild.sys.mjs
- + browser/components/abouttor/AboutTorMessage.sys.mjs
- + browser/components/abouttor/AboutTorParent.sys.mjs
- + browser/components/abouttor/HomepageOverride.sys.mjs
- + browser/components/abouttor/content/1f44b-waving-hand.svg
- + browser/components/abouttor/content/1f4e3-megaphone.svg
- + browser/components/abouttor/content/26a1-high-voltage.svg
- + browser/components/abouttor/content/2728-sparkles.svg
- + browser/components/abouttor/content/2764-red-heart.svg
- + browser/components/abouttor/content/aboutTor.css
- + browser/components/abouttor/content/aboutTor.html
- + browser/components/abouttor/content/aboutTor.js
- + browser/components/abouttor/content/dax-logo.svg
- + browser/components/abouttor/jar.mn
- + browser/components/abouttor/moz.build
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/customizableui/content/panelUI.inc.xhtml
- browser/components/customizableui/content/panelUI.js
- browser/components/downloads/DownloadSpamProtection.sys.mjs
- + browser/components/downloads/DownloadsTorWarning.sys.mjs
- browser/components/downloads/content/contentAreaDownloadsView.js
- browser/components/downloads/content/contentAreaDownloadsView.xhtml
- browser/components/downloads/content/downloads.css
- browser/components/downloads/content/downloads.js
- browser/components/downloads/content/downloadsPanel.inc.xhtml
- browser/components/downloads/moz.build
- browser/components/extensions/parent/ext-browserAction.js
- browser/components/extensions/schemas/chrome_settings_overrides.json
- browser/components/migration/ChromeMigrationUtils.sys.mjs
- browser/components/migration/content/migration-wizard.mjs
- browser/components/moz.build
- + browser/components/newidentity/content/newIdentityDialog.css
- + browser/components/newidentity/content/newIdentityDialog.js
- + browser/components/newidentity/content/newIdentityDialog.xhtml
- + browser/components/newidentity/content/newidentity.js
- + browser/components/newidentity/jar.mn
- + browser/components/newidentity/moz.build
- browser/components/newtab/AboutHomeStartupCache.sys.mjs
- browser/components/newtab/AboutNewTabRedirector.sys.mjs
- + browser/components/onionservices/OnionAliasStore.sys.mjs
- + browser/components/onionservices/OnionLocationChild.sys.mjs
- + browser/components/onionservices/OnionLocationParent.sys.mjs
- + browser/components/onionservices/TorRequestWatch.sys.mjs
- + browser/components/onionservices/content/authNotificationIcon.inc.xhtml
- + browser/components/onionservices/content/authPopup.inc.xhtml
- + browser/components/onionservices/content/authPreferences.css
- + browser/components/onionservices/content/authPreferences.inc.xhtml
- + browser/components/onionservices/content/authPreferences.js
- + browser/components/onionservices/content/authPrompt.js
- + browser/components/onionservices/content/onionlocation-urlbar.inc.xhtml
- + browser/components/onionservices/content/onionlocation.css
- + browser/components/onionservices/content/onionservices.css
- + browser/components/onionservices/content/savedKeysDialog.js
- + browser/components/onionservices/content/savedKeysDialog.xhtml
- + browser/components/onionservices/jar.mn
- + browser/components/onionservices/moz.build
- browser/components/places/PlacesUIUtils.sys.mjs
- browser/components/places/content/controller.js
- browser/components/places/content/places.css
- browser/components/places/content/places.js
- browser/components/places/content/places.xhtml
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/home.js
- browser/components/preferences/jar.mn
- + browser/components/preferences/letterboxing-middle-dark.svg
- + browser/components/preferences/letterboxing-middle-light.svg
- + browser/components/preferences/letterboxing-top-dark.svg
- + browser/components/preferences/letterboxing-top-light.svg
- + browser/components/preferences/letterboxing.css
- + browser/components/preferences/letterboxing.inc.xhtml
- + browser/components/preferences/letterboxing.js
- browser/components/preferences/main.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- + browser/components/rulesets/RulesetsChild.sys.mjs
- + browser/components/rulesets/RulesetsParent.sys.mjs
- + browser/components/rulesets/content/aboutRulesets.css
- + browser/components/rulesets/content/aboutRulesets.html
- + browser/components/rulesets/content/aboutRulesets.js
- + browser/components/rulesets/content/securedrop.svg
- + browser/components/rulesets/jar.mn
- + browser/components/rulesets/moz.build
- browser/components/search/SERPCategorization.sys.mjs
- browser/components/search/SearchSERPTelemetry.sys.mjs
- + browser/components/search/extensions/ddg-onion/favicon.ico
- + browser/components/search/extensions/ddg-onion/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/startpage-onion/favicon.png
- + browser/components/search/extensions/startpage-onion/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- + 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/tabbrowser/content/tabbrowser.js
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f4-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f6-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fd-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/README.txt
- + browser/components/torcircuit/content/tor-circuit-icon-mask.svg
- + browser/components/torcircuit/content/tor-circuit-node-end.svg
- + browser/components/torcircuit/content/tor-circuit-node-middle.svg
- + browser/components/torcircuit/content/tor-circuit-node-relays.svg
- + browser/components/torcircuit/content/tor-circuit-node-start.svg
- + browser/components/torcircuit/content/tor-circuit-redirect.svg
- + browser/components/torcircuit/content/torCircuitPanel.css
- + browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
- + browser/components/torcircuit/content/torCircuitPanel.js
- + browser/components/torcircuit/jar.mn
- + browser/components/torcircuit/moz.build
- + browser/components/torpreferences/content/bridge-bot.svg
- + browser/components/torpreferences/content/bridge-qr.svg
- + browser/components/torpreferences/content/bridge.svg
- + browser/components/torpreferences/content/bridgeQrDialog.js
- + browser/components/torpreferences/content/bridgeQrDialog.xhtml
- + browser/components/torpreferences/content/bridgemoji/BridgeEmoji.js
- + browser/components/torpreferences/content/bridgemoji/annotations.json
- + browser/components/torpreferences/content/bridgemoji/bridge-emojis.json
- + browser/components/torpreferences/content/bridgemoji/svgs/1f300.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f308.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f319.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f31f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f321.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f332.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f333.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f334.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f335.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f336.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f337.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f339.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f341.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f344.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f345.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f346.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f347.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f348.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f349.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f350.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f351.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f352.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f353.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f354.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f355.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f368.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f369.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f37f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f380.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f381.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f382.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f383.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f388.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f389.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f38f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f392.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f399.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f39f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ac.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3af.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ba.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3bb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3be.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3dd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f417.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f418.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f419.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f420.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f422.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f425.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f426.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f428.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f430.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f431.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f432.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f433.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f434.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f435.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f436.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f437.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f441.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f451.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f455.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f457.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f45f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f47d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f484.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f488.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f490.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4b3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4bf.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4cc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4ce.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4fb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f50b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f511.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f525.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f526.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f54a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f5ff.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f680.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f681.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f686.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f695.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f697.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fa.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f916.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f93f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f941.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f950.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f951.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f955.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f956.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f965.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f966.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f968.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f980.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f981.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f984.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f986.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f987.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f988.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f989.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f992.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f993.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f994.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f995.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f998.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f999.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ad.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9d9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9da.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9dc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ea.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ec.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ed.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa73.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa80.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa81.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa83.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa90.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa91.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa95.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa97.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fab6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/23f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2600.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2602.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2604.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/260e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2693.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2696.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26bd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2708.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/270f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2728.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2744.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/README.txt
- + browser/components/torpreferences/content/builtinBridgeDialog.js
- + browser/components/torpreferences/content/builtinBridgeDialog.xhtml
- + browser/components/torpreferences/content/connectionCategory.inc.xhtml
- + browser/components/torpreferences/content/connectionPane.js
- + browser/components/torpreferences/content/connectionPane.xhtml
- + browser/components/torpreferences/content/connectionSettingsDialog.js
- + browser/components/torpreferences/content/connectionSettingsDialog.xhtml
- + browser/components/torpreferences/content/lox-bridge-icon.svg
- + browser/components/torpreferences/content/lox-bridge-pass.svg
- + browser/components/torpreferences/content/lox-complete-ring.svg
- + browser/components/torpreferences/content/lox-invite-icon.svg
- + browser/components/torpreferences/content/lox-progress-ring.svg
- + browser/components/torpreferences/content/lox-success.svg
- + browser/components/torpreferences/content/loxInviteDialog.js
- + browser/components/torpreferences/content/loxInviteDialog.xhtml
- + browser/components/torpreferences/content/mail.svg
- + browser/components/torpreferences/content/network-broken.svg
- + browser/components/torpreferences/content/network.svg
- + browser/components/torpreferences/content/provideBridgeDialog.js
- + browser/components/torpreferences/content/provideBridgeDialog.xhtml
- + browser/components/torpreferences/content/requestBridgeDialog.js
- + browser/components/torpreferences/content/requestBridgeDialog.xhtml
- + browser/components/torpreferences/content/telegram-logo.svg
- + browser/components/torpreferences/content/torLogDialog.js
- + browser/components/torpreferences/content/torLogDialog.xhtml
- + browser/components/torpreferences/content/torPreferences.css
- + browser/components/torpreferences/jar.mn
- + browser/components/torpreferences/moz.build
- 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/config/mozconfigs/tor-browser
- + browser/config/mozconfigs/tor-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/en-US/chrome/overrides/appstrings.properties
- browser/locales/jar.mn
- browser/locales/l10n.toml
- browser/modules/BrowserWindowTracker.sys.mjs
- browser/modules/HomePage.sys.mjs
- browser/modules/LaterRun.sys.mjs
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- + browser/modules/TorSettingsNotification.sys.mjs
- + browser/modules/TorUIUtils.sys.mjs
- browser/modules/URILoadingHelper.sys.mjs
- browser/modules/moz.build
- browser/moz.build
- browser/moz.configure
- browser/themes/shared/addons/unified-extensions.css
- browser/themes/shared/browser-shared.css
- browser/themes/shared/controlcenter/panel.css
- browser/themes/shared/downloads/contentAreaDownloadsView.css
- + browser/themes/shared/icons/new_circuit.svg
- + browser/themes/shared/icons/new_identity.svg
- browser/themes/shared/identity-block/identity-block.css
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/notification-icons.css
- browser/themes/shared/preferences/preferences.css
- browser/themes/shared/tabbrowser/content-area.css
- browser/themes/shared/tabbrowser/tabs.css
- browser/themes/shared/toolbarbutton-icons.css
- + browser/themes/shared/tor-branding.css
- + browser/themes/shared/tor-urlbar-button.css
- build.gradle
- build/application.ini.in
- build/moz.build
- 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/createprecomplete.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/netmonitor/src/components/SecurityState.js
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- docshell/base/URIFixup.sys.mjs
- docshell/base/nsAboutRedirector.cpp
- docshell/base/nsDocShell.cpp
- docshell/build/components.conf
- dom/base/ContentAreaDropListener.sys.mjs
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsCopySupport.cpp
- dom/base/nsGlobalWindowOuter.cpp
- dom/canvas/ClientWebGLContext.cpp
- dom/ipc/BrowserParent.cpp
- dom/ipc/BrowserParent.h
- dom/ipc/PBrowser.ipdl
- dom/ipc/WindowGlobalActor.cpp
- dom/ipc/WindowGlobalChild.cpp
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/webrtc/libwebrtcglue/VideoConduit.cpp
- dom/media/webrtc/sdp/RsdparsaSdpAttributeList.cpp
- dom/media/webrtc/transport/nrinterfaceprioritizer.cpp
- dom/media/webrtc/transport/sigslot.h
- dom/media/webrtc/transport/test/ice_unittest.cpp
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.c
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.h
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-win32.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
- dom/media/webrtc/transport/third_party/nrappkit/src/log/r_log.c
- dom/media/webrtc/transport/third_party/nrappkit/src/registry/registry.c
- dom/security/nsContentSecurityUtils.cpp
- dom/security/nsMixedContentBlocker.cpp
- dom/webidl/Document.webidl
- dom/websocket/WebSocket.cpp
- eslint-file-globals.config.mjs
- eslint-ignores.config.mjs
- extensions/auth/nsHttpNegotiateAuth.cpp
- gfx/thebes/StandardFonts-linux.inc → gfx/thebes/StandardFonts-linux-upstream.inc
- + gfx/thebes/StandardFonts-macos-bb.inc
- gfx/thebes/StandardFonts-macos.inc → gfx/thebes/StandardFonts-macos-upstream.inc
- + gfx/thebes/StandardFonts-win10-bb.inc
- gfx/thebes/StandardFonts-win10.inc → gfx/thebes/StandardFonts-win10-upstream.inc
- gfx/thebes/gfxDWriteFontList.cpp
- gfx/thebes/gfxDWriteFontList.h
- gfx/thebes/gfxFcPlatformFontList.cpp
- gfx/thebes/gfxGDIFontList.cpp
- gfx/thebes/gfxMacPlatformFontList.mm
- gfx/thebes/gfxPlatformFontList.cpp
- intl/l10n/Localization.h
- intl/locale/LocaleService.cpp
- js/xpconnect/src/xpc.msg
- layout/base/nsLayoutUtils.cpp
- mobile/android/android-components/components/browser/engine-gecko/build.gradle
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorage.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepository.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/fetch/GeckoViewFetchClient.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorageTest.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepositoryTest.kt
- mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/loader/HttpIconLoader.kt
- mobile/android/android-components/components/browser/menu/src/main/java/mozilla/components/browser/menu/WebExtensionBrowserMenuBuilder.kt
- mobile/android/android-components/components/browser/storage-sync/src/main/java/mozilla/components/browser/storage/sync/RemoteTabsStorage.kt
- mobile/android/android-components/components/browser/thumbnails/src/main/java/mozilla/components/browser/thumbnails/utils/ThumbnailDiskCache.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/SiteInfoIconView.kt
- mobile/android/android-components/components/browser/toolbar/src/main/res/drawable/mozac_ic_site_info.xml
- mobile/android/android-components/components/browser/toolbar/src/main/res/values/attrs_browser_toolbar.xml
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/EngineSession.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/cookiehandling/CookieBannersStorage.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/webextension/WebExtension.kt
- mobile/android/android-components/components/concept/engine/src/test/java/mozilla/components/concept/engine/SettingsTest.kt
- mobile/android/android-components/components/concept/fetch/src/main/java/mozilla/components/concept/fetch/Request.kt
- mobile/android/android-components/components/concept/sync/src/main/java/mozilla/components/concept/sync/AccountEvent.kt
- mobile/android/android-components/components/concept/toolbar/src/main/java/mozilla/components/concept/toolbar/Toolbar.kt
- mobile/android/android-components/components/feature/accounts/build.gradle
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt
- mobile/android/android-components/components/feature/app-links/build.gradle
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksFeature.kt
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksUseCases.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionAutocompleteProvider.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionSuggestionProvider.kt
- mobile/android/android-components/components/feature/contextmenu/src/main/java/mozilla/components/feature/contextmenu/ContextMenuCandidate.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/AbstractFetchDownloadService.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/DownloadsFeature.kt
- mobile/android/android-components/components/feature/downloads/src/test/java/mozilla/components/feature/downloads/DownloadsFeatureTest.kt
- mobile/android/android-components/components/feature/fxsuggest/build.gradle
- mobile/android/android-components/components/feature/privatemode/src/main/java/mozilla/components/feature/privatemode/notification/PrivateNotificationFeature.kt
- mobile/android/android-components/components/feature/search/build.gradle
- mobile/android/android-components/components/feature/search/src/main/assets/search/list.json
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg-onion.xml
- mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage-onion.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage.xml
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/ext/SearchEngine.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/internal/SearchUrlBuilder.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepository.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/BaseSearchTelemetryTest.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepositoryTest.kt
- mobile/android/android-components/components/feature/toolbar/src/main/java/mozilla/components/feature/toolbar/ToolbarPresenter.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/FxaDeviceConstellation.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/Types.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/sync/WorkManagerSyncManager.kt
- mobile/android/android-components/components/service/nimbus/build.gradle
- mobile/android/android-components/components/service/sync-logins/src/main/java/mozilla/components/service/sync/logins/SyncableLoginsStorage.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/android/content/Context.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt
- mobile/android/android-components/components/support/remotesettings/src/main/java/mozilla/components/support/remotesettings/RemoteSettingsClient.kt
- mobile/android/android-components/components/support/rustlog/src/main/java/mozilla/components/support/rustlog/RustLog.kt
- + mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/TorUtils.kt
- mobile/android/android-components/components/support/webextensions/src/main/java/mozilla/components/support/webextensions/WebExtensionSupport.kt
- + mobile/android/android-components/components/ui/icons/src/main/res/drawable/mozac_ic_onion.xml
- mobile/android/android-components/plugins/config/src/main/java/ConfigPlugin.kt
- mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
- mobile/android/android-components/samples/browser/src/main/res/layout/activity_installed_add_on_details.xml
- + mobile/android/app/000-tor-browser-android.js
- mobile/android/app/geckoview-prefs.js
- mobile/android/app/moz.build
- + mobile/android/basebrowser.configure
- + mobile/android/branding/tb-alpha/configure.sh
- + mobile/android/branding/tb-alpha/content/favicon32.png
- + mobile/android/branding/tb-alpha/content/favicon64.png
- + mobile/android/branding/tb-alpha/content/jar.mn
- + mobile/android/branding/tb-alpha/content/moz.build
- + mobile/android/branding/tb-alpha/locales/en-US/brand.ftl
- + mobile/android/branding/tb-alpha/locales/en-US/brand.properties
- + mobile/android/branding/tb-alpha/locales/jar.mn
- + mobile/android/branding/tb-alpha/locales/moz.build
- + mobile/android/branding/tb-alpha/moz.build
- + mobile/android/branding/tb-nightly/configure.sh
- + mobile/android/branding/tb-nightly/content/favicon32.png
- + mobile/android/branding/tb-nightly/content/favicon64.png
- + mobile/android/branding/tb-nightly/content/jar.mn
- + mobile/android/branding/tb-nightly/content/moz.build
- + mobile/android/branding/tb-nightly/locales/en-US/brand.ftl
- + mobile/android/branding/tb-nightly/locales/en-US/brand.properties
- + mobile/android/branding/tb-nightly/locales/jar.mn
- + mobile/android/branding/tb-nightly/locales/moz.build
- + mobile/android/branding/tb-nightly/moz.build
- + mobile/android/branding/tb-release/configure.sh
- + mobile/android/branding/tb-release/content/favicon32.png
- + mobile/android/branding/tb-release/content/favicon64.png
- + mobile/android/branding/tb-release/content/jar.mn
- + mobile/android/branding/tb-release/content/moz.build
- + mobile/android/branding/tb-release/locales/en-US/brand.ftl
- + mobile/android/branding/tb-release/locales/en-US/brand.properties
- + mobile/android/branding/tb-release/locales/jar.mn
- + mobile/android/branding/tb-release/locales/moz.build
- + mobile/android/branding/tb-release/moz.build
- mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
- mobile/android/fenix/.buildconfig.yml
- mobile/android/fenix/app/build.gradle
- mobile/android/fenix/app/lint-baseline.xml
- mobile/android/fenix/app/nimbus.fml.yaml
- mobile/android/fenix/app/onboarding.fml.yaml
- mobile/android/fenix/app/proguard-rules.pro
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/AppStartupTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAboutRobot.kt
- + mobile/android/fenix/app/src/beta/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/beta/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_background.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_monochrome_foreground.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml → mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/beta/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/beta/res/values/static_strings.xml
- mobile/android/fenix/app/src/beta/res/xml/shortcuts.xml
- − mobile/android/fenix/app/src/debug/ic_launcher-web.webp
- + mobile/android/fenix/app/src/debug/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/debug/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_background.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_monochrome_foreground.xml
- mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/values/colors.xml
- + mobile/android/fenix/app/src/debug/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/debug/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/AndroidManifest.xml
- + mobile/android/fenix/app/src/main/assets/common/torrc-defaults
- − mobile/android/fenix/app/src/main/assets/searchplugins/reddit.xml
- − mobile/android/fenix/app/src/main/assets/searchplugins/youtube.xml
- − mobile/android/fenix/app/src/main/ic_launcher-web.webp
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/IntentReceiverActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/OpenInAppOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Analytics.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NotificationManager.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/UseCases.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/appstate/setup/checklist/ChecklistItem.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/middleware/MenuNavigationMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/AdjustMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricsUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserMenuSignIn.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenter.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMenuController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/compose/snackbar/Snackbar.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/PoweredByNotification.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/downloads/dialog/DynamicDownloadDialog.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/experiments/view/ResearchSurfaceSurvey.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/ext/Activity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/intent/HomeDeepLinkIntentProcessor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/recentsyncedtabs/view/RecentSyncedTab.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/PrivateBrowsingDescriptionViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/PagerIndicator.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSites.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/ui/Homepage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkItemMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyCompleted.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyHeader.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyRequestPrompt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/MarketingDataOnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingScreen.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/TermsOfServiceOnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/UpgradeOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/HttpsOnlyFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorBridgeConfigFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/account/AccountUiView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/DefaultLocaleSettingsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/view/SavedLoginsListView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/ProtectionsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsInteractor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannersStorageExt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SiteSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/shortcut/PwaOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayBanner.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/syncedtabs/SyncedTabsList.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/ConnectAssistUiState.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickstartViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapProgressViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBridgeTransports.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorController.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLog.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsComposeFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevelFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/UrlQuickLoadViewModel.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/trackingprotection/ProtectionsStore.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/NotificationBase.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/gecko/search/SearchWidgetProvider.kt
- + mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-night/onboarding_ctd_default_browser.xml
- mobile/android/fenix/app/src/main/res/drawable-v23/splash_screen.xml
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/main/res/drawable/browser_location.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect_broken.xml
- + mobile/android/fenix/app/src/main/res/drawable/globe_broken.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account_warning.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_favorite.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_firefox.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_fx_accounts_avatar.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_notification_permission.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features_icons_only.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_search_widget.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_sync.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_welcome.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_onion_pattern.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_pocket.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_scan.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_screenshot.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sign_in.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_signed_out.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_status_logo.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sync_disconnected.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_synced_tabs.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_config_bridge.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_network_settings.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/main/res/drawable/microsurvey_success.xml
- + mobile/android/fenix/app/src/main/res/drawable/new_circuit.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_default_browser.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_notification.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_sync.xml
- mobile/android/fenix/app/src/main/res/drawable/progress_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable/pager_dot.xml → mobile/android/fenix/app/src/main/res/drawable/rounded_corners.xml
- + mobile/android/fenix/app/src/main/res/drawable/tor_bootstrap_background_gradient.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable-night/ic_logo_wordmark_normal.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_rounded_corners.xml
- mobile/android/fenix/app/src/main/res/layout/component_cookie_banner_details_panel.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_about.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_create_shortcut.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_home.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_locale_settings.xml
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_connection_assist.xml
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_security_level_preferences.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_turn_on_sync.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private_round.xml → mobile/android/fenix/app/src/main/res/layout/preference_quick_start.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_permissions.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_protections_panel.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v1.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v2.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_large.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_medium.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_small.xml
- mobile/android/fenix/app/src/main/res/layout/sign_in_preference.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alternative.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round_alternative.xml
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml
- mobile/android/fenix/app/src/main/res/values-night-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values-night/styles.xml
- mobile/android/fenix/app/src/main/res/values-v24/styles.xml
- mobile/android/fenix/app/src/main/res/values-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values/attrs.xml
- mobile/android/fenix/app/src/main/res/values/colors.xml
- + mobile/android/fenix/app/src/main/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/main/res/values/preference_keys.xml
- mobile/android/fenix/app/src/main/res/values/static_strings.xml
- mobile/android/fenix/app/src/main/res/values/styles.xml
- + mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
- mobile/android/fenix/app/src/main/res/xml/logins_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/preferences.xml
- mobile/android/fenix/app/src/main/res/xml/private_browsing_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_details_exceptions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/sync_problem.xml
- + mobile/android/fenix/app/src/main/res/xml/tor_bridge_config_preferences.xml
- + mobile/android/fenix/app/src/nightly/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_monochrome_foreground.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/nightly/res/ic_launcher-web.webp
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml → mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/nightly/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/nightly/res/values/static_strings.xml
- mobile/android/fenix/app/src/nightly/res/xml/shortcuts.xml
- + mobile/android/fenix/app/src/release/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/release/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_background.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_monochrome_foreground.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/release/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/release/res/values/static_strings.xml
- mobile/android/fenix/app/src/release/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/menu/MenuNavigationMiddlewareTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/metrics/MetricsUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/ext/ContextTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingPageUiDataTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/SupportUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/ProtectionsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragmentTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/DefaultCookieBannerDetailsControllerTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/share/viewholders/AppViewHolderTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/trackingprotection/ProtectionsStoreTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt
- mobile/android/fenix/build.gradle
- + mobile/android/fenix/tools/tba-fetch-deps.sh
- + mobile/android/fenix/tools/tba-sign-devbuilds.sh
- mobile/android/geckoview/api.txt
- mobile/android/geckoview/build.gradle
- − 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/gecko/util/ProxySelector.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.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/TorAndroidIntegration.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorBootstrappingStatus.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStage.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStageName.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebExtensionController.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/Prefs.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/TorLegacyAndroidSettings.java
- mobile/android/gradle/with_gecko_binaries.gradle
- mobile/android/installer/package-manifest.in
- mobile/android/locales/filter.py
- mobile/android/locales/jar.mn
- mobile/android/locales/l10n.toml
- mobile/android/moz.configure
- mobile/android/shared-settings.gradle
- mobile/locales/filter.py
- mobile/shared/chrome/geckoview/geckoview.js
- mobile/shared/components/geckoview/GeckoViewStartup.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewContent.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewProgress.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewWebExtension.sys.mjs
- modules/libpref/Preferences.cpp
- 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/nsNetUtil.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/build/components.conf
- netwerk/build/nsNetCID.h
- + netwerk/dns/IOnionAliasService.idl
- + netwerk/dns/OnionAliasService.cpp
- + netwerk/dns/OnionAliasService.h
- netwerk/dns/effective_tld_names.dat
- netwerk/dns/moz.build
- netwerk/protocol/http/HttpBaseChannel.cpp
- 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/socket/nsSOCKSIOLayer.cpp
- netwerk/system/android/nsAndroidNetworkLinkService.cpp
- netwerk/system/linux/nsNetworkLinkService.cpp
- netwerk/system/mac/nsNetworkLinkService.mm
- netwerk/system/netlink/NetlinkService.cpp
- netwerk/system/win32/nsNotifyAddrListener.cpp
- netwerk/url-classifier/UrlClassifierFeatureBase.cpp
- netwerk/url-classifier/components.conf
- python/mach/mach/telemetry.py
- python/mozbuild/mozbuild/action/make_dmg.py
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/mach_commands.py
- python/mozlint/mozlint/cli.py
- python/sites/mach.txt
- security/certverifier/CertVerifier.cpp
- security/manager/ssl/NSSSocketControl.cpp
- security/manager/ssl/RemoteSecuritySettings.sys.mjs
- security/manager/ssl/SSLServerCertVerification.cpp
- security/manager/ssl/SSLServerCertVerification.h
- security/manager/ssl/StaticHPKPins.h
- security/manager/ssl/nsSecureBrowserUI.cpp
- security/moz.build
- security/nss/lib/certhigh/ocsp.c
- security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
- security/nss/lib/mozpkix/include/pkix/Result.h
- security/nss/lib/mozpkix/include/pkix/pkixnss.h
- 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/mozbase/mozinstall/mozinstall/mozinstall.py
- testing/mozbase/setup_development.py
- testing/mozharness/scripts/does_it_crash.py
- testing/specialpowers/api.js
- 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/desktop_capture_types.h
- third_party/libwebrtc/modules/desktop_capture/win/desktop_capture_utils.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.h
- third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h
- third_party/libwebrtc/rtc_base/platform_thread_types.cc
- third_party/libwebrtc/rtc_base/socket.h
- third_party/libwebrtc/rtc_base/system/file_wrapper.cc
- third_party/libwebrtc/rtc_base/win/create_direct3d_device.h
- third_party/sipcc/cpr_win_types.h
- third_party/sipcc/sdp_token.c
- toolkit/.eslintrc.mjs
- toolkit/actors/AboutHttpsOnlyErrorParent.sys.mjs
- + toolkit/actors/FilesFilterChild.sys.mjs
- + toolkit/actors/FilesFilterParent.sys.mjs
- toolkit/actors/NetErrorParent.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/httpsonlyerror/content/errorpage.js
- + toolkit/components/lox/Lox.sys.mjs
- + toolkit/components/lox/content/lox_wasm_bg.wasm
- + toolkit/components/lox/jar.mn
- + toolkit/components/lox/lox_wasm.jsm
- + toolkit/components/lox/moz.build
- toolkit/components/moz.build
- toolkit/components/places/PlacesUtils.sys.mjs
- toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
- toolkit/components/resistfingerprinting/content/letterboxing.css
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/content/torBrowserSearchEngineIcons.json
- + toolkit/components/search/content/torBrowserSearchEngines.json
- + toolkit/components/search/content/wikipedia.ico
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- + 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/tor-launcher/TorBootstrapRequest.sys.mjs
- + toolkit/components/tor-launcher/TorControlPort.sys.mjs
- + toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs
- + toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
- + toolkit/components/tor-launcher/TorParsers.sys.mjs
- + toolkit/components/tor-launcher/TorProcess.sys.mjs
- + toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs
- + toolkit/components/tor-launcher/TorProvider.sys.mjs
- + toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
- + toolkit/components/tor-launcher/TorStartupService.sys.mjs
- + toolkit/components/tor-launcher/components.conf
- + toolkit/components/tor-launcher/moz.build
- + toolkit/components/tor-launcher/tor-launcher.manifest
- + toolkit/components/torconnect/TorConnectChild.sys.mjs
- + toolkit/components/torconnect/TorConnectParent.sys.mjs
- + toolkit/components/torconnect/content/aboutTorConnect.css
- + toolkit/components/torconnect/content/aboutTorConnect.html
- + toolkit/components/torconnect/content/aboutTorConnect.js
- + toolkit/components/torconnect/content/arrow-right.svg
- + toolkit/components/torconnect/content/bridge.svg
- + toolkit/components/torconnect/content/connection-failure.svg
- + toolkit/components/torconnect/content/connection-location.svg
- + toolkit/components/torconnect/content/tor-connect-broken.svg
- + toolkit/components/torconnect/content/tor-connect.svg
- + toolkit/components/torconnect/content/tor-not-connected-to-connected-animated.svg
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.css
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.js
- + toolkit/components/torconnect/content/torConnectUrlbarButton.js
- + toolkit/components/torconnect/jar.mn
- + toolkit/components/torconnect/moz.build
- toolkit/components/urlformatter/URLFormatter.sys.mjs
- toolkit/components/windowwatcher/nsWindowWatcher.cpp
- toolkit/content/.eslintrc.mjs
- toolkit/content/aboutNetError.html
- toolkit/content/aboutNetError.mjs
- toolkit/content/aboutSupport.js
- toolkit/content/jar.mn
- toolkit/content/license.html
- + toolkit/content/moat_countries_dev_build.json
- + toolkit/content/pt_config.json
- toolkit/content/widgets/infobar.css
- toolkit/content/widgets/moz-message-bar/moz-message-bar.mjs
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- toolkit/content/widgets/moz-toggle/moz-toggle.mjs
- toolkit/content/widgets/notificationbox.js
- + toolkit/locales-preview/base-browser-no-translate.ftl
- + toolkit/locales-preview/tor-browser-no-translate.ftl
- + toolkit/locales/en-US/toolkit/global/base-browser.ftl
- + toolkit/locales/en-US/toolkit/global/tor-browser.ftl
- toolkit/locales/jar.mn
- toolkit/modules/ActorManagerParent.sys.mjs
- toolkit/modules/AppConstants.sys.mjs
- + toolkit/modules/Bech32Decode.sys.mjs
- + toolkit/modules/BridgeDB.sys.mjs
- + toolkit/modules/DomainFrontedRequests.sys.mjs
- + toolkit/modules/DragDropFilter.sys.mjs
- + toolkit/modules/Moat.sys.mjs
- toolkit/modules/PopupNotifications.sys.mjs
- + toolkit/modules/QRCode.sys.mjs
- toolkit/modules/RemotePageAccessManager.sys.mjs
- + toolkit/modules/TorAndroidIntegration.sys.mjs
- + toolkit/modules/TorConnect.sys.mjs
- + toolkit/modules/TorSettings.sys.mjs
- + toolkit/modules/TorStrings.sys.mjs
- toolkit/modules/UpdateUtils.sys.mjs
- toolkit/modules/moz.build
- toolkit/moz.build
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/components.conf
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/extensions/test/browser/head.js
- toolkit/mozapps/extensions/test/xpcshell/head_addons.js
- toolkit/mozapps/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/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- toolkit/mozapps/update/updater/updater.cpp
- toolkit/themes/shared/aboutNetError.css
- toolkit/themes/shared/desktop-jar.inc.mn
- + toolkit/themes/shared/icons/onion-site.svg
- + toolkit/themes/shared/icons/onion-slash.svg
- + toolkit/themes/shared/icons/onion-warning.svg
- + toolkit/themes/shared/icons/tor-dark-loading.png
- + toolkit/themes/shared/icons/tor-dark-loading(a)2x.png
- + toolkit/themes/shared/icons/tor-light-loading.png
- + toolkit/themes/shared/icons/tor-light-loading(a)2x.png
- + toolkit/themes/shared/icons/torbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- + toolkit/themes/shared/onion-pattern.css
- + toolkit/themes/shared/onion-pattern.svg
- + toolkit/themes/shared/tor-colors.css
- + toolkit/torbutton/chrome/locale/en-US/onionLocation.properties
- + toolkit/torbutton/chrome/locale/en-US/settings.properties
- + toolkit/torbutton/chrome/locale/en-US/torConnect.properties
- + toolkit/torbutton/chrome/locale/en-US/torlauncher.properties
- + toolkit/torbutton/jar.mn
- + toolkit/torbutton/moz.build
- 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/README
- + tools/base-browser/l10n/combine/tests/__init__.py
- + tools/base-browser/l10n/combine/tests/test_android.py
- + tools/base-browser/l10n/combine/tests/test_dtd.py
- + tools/base-browser/l10n/combine/tests/test_fluent.py
- + tools/base-browser/l10n/combine/tests/test_properties.py
- + tools/base-browser/tb-dev
- + tools/geckoview/.gitignore
- + tools/geckoview/Makefile
- + tools/geckoview/android-env-linux-template.sh
- + tools/geckoview/android-env-macos-template.sh
- + tools/geckoview/build-fenix.sh
- + tools/geckoview/build-geckoview.sh
- + tools/geckoview/clobber.sh
- + tools/geckoview/config.sh
- + tools/geckoview/install-fenix.sh
- + tools/geckoview/jslint.sh
- tools/lint/fluent-lint/exclusions.yml
- + tools/torbrowser/Makefile
- + tools/torbrowser/browser-self-sign-macos.sh
- + tools/torbrowser/build.sh
- + tools/torbrowser/clobber.sh
- + tools/torbrowser/config.sh
- + tools/torbrowser/deploy.sh
- + tools/torbrowser/fetch.sh
- + tools/torbrowser/generate-bugzilla-triage-csv.sh
- + tools/torbrowser/generate_tor_loading_png.py
- + tools/torbrowser/ide.sh
- + tools/torbrowser/jslint.sh
- + tools/torbrowser/l10n/migrate.py
- + tools/torbrowser/l10n/migrations/__init__.py
- + tools/torbrowser/l10n/migrations/bug-41333-new-about-tor.py
- + tools/torbrowser/l10n/migrations/bug-41622-neterror.py
- + tools/torbrowser/l10n/migrations/bug-41820-moz-message-bar-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42202-crypto-safety.py
- + tools/torbrowser/l10n/migrations/bug-42203-about-dialog.py
- + tools/torbrowser/l10n/migrations/bug-42206-rulesets.py
- + tools/torbrowser/l10n/migrations/bug-42207-settings.py
- + tools/torbrowser/l10n/migrations/bug-42209-tor-circuit.py
- + tools/torbrowser/l10n/migrations/bug-42210-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42211-new-identity.py
- + tools/torbrowser/l10n/migrations/bug-42212-onion-services.py
- + tools/torbrowser/l10n/migrations/bug-42214-security-level.py
- + tools/torbrowser/l10n/migrations/bug-43531-bridge-dialog-buttons.py
- + tools/torbrowser/prepare-tests.sh
- + tools/torbrowser/update_emojis.py
- tools/update-packaging/common.sh
- tools/update-packaging/make_full_update.sh
- tools/update-packaging/make_incremental_update.sh
- uriloader/base/nsURILoader.cpp
- uriloader/exthandler/nsExternalHelperAppService.cpp
- widget/ScrollbarDrawingWin.cpp
- widget/ScrollbarDrawingWin11.cpp
- widget/android/WebExecutorSupport.cpp
- widget/gtk/MPRISServiceHandler.cpp
- widget/gtk/WidgetUtilsGtk.cpp
- widget/windows/WinTaskbar.cpp
- widget/windows/nsDataObj.cpp
- xpcom/base/ErrorList.py
- xpcom/ds/StaticAtoms.py
- xpcom/io/CocoaFileUtils.mm
- xpcom/io/nsAppFileLocationProvider.cpp
- xpfe/appshell/AppWindow.cpp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f1e32f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f1e32f…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41486: Track bundletool and osslicenses-plugin versions
by boklm (@boklm) 18 Jun '25
by boklm (@boklm) 18 Jun '25
18 Jun '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
3faf8d3e by Nicolas Vigier at 2025-06-18T12:02:43+02:00
Bug 41486: Track bundletool and osslicenses-plugin versions
- - - - -
7d4088cb by Nicolas Vigier at 2025-06-18T12:02:43+02:00
Bug 41486: Drop target_sdk check in projects/geckoview/list_toolchain_updates_checks
- - - - -
1 changed file:
- projects/geckoview/list_toolchain_updates_checks
Changes:
=====================================
projects/geckoview/list_toolchain_updates_checks
=====================================
@@ -26,18 +26,6 @@ current='[% pc("android-toolchain", "version") %]'
check_update_needed build_tools "$needed" "$current"
-# target_sdk
-read -d '' p << 'EOF' || true
-if (m/target_sdk_version\\s*=\\s*"(.+)"/) {
- print $1;
- exit;
-}
-EOF
-needed=$(cat build/moz.configure/android-sdk.configure | perl -ne "$p")
-current='[% pc("android-toolchain", "var/android_api_level") %]'
-check_update_needed target_sdk "$needed" "$current"
-
-
# cmdline-tools
read -d '' p << 'EOF' || true
my $v, $s;
@@ -104,3 +92,27 @@ EOF
needed=$(cat gradle/wrapper/gradle-wrapper.properties | perl -ne "$p")
current='[% c("var/gradle_version") %]'
check_update_needed gradle "$needed" "$current"
+
+
+# bundletool
+read -d '' p << 'EOF' || true
+if (m{^BUNDLETOOL_VERSION\\s*=\\s*"(.+)"}) {
+ print $1;
+ exit;
+}
+EOF
+needed=$(cat python/mozboot/mozboot/android.py | perl -ne "$p")
+current='[% c("var/bundletool_version") %]'
+check_update_needed bundletool "$needed" "$current"
+
+
+# oss-licenses-plugin
+read -d '' p << 'EOF' || true
+if (m{^osslicenses-plugin\\s*=\\s*"(.+)"}) {
+ print $1;
+ exit;
+}
+EOF
+needed=$(cat gradle/libs.versions.toml | perl -ne "$p")
+current='[% pc("oss-licenses-plugin", "version") %]'
+check_update_needed oss-licenses-plugin "$needed" "$current"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-1] fixup! BB 43615: Add Gitlab Issue and Merge Request templates
by morgan (@morgan) 18 Jun '25
by morgan (@morgan) 18 Jun '25
18 Jun '25
morgan pushed to branch base-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
24890f9d by Morgan at 2025-06-18T10:01:44+00:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add fingerprinting issue template
- - - - -
2 changed files:
- + .gitlab/issue_templates/031 Fingerprinting.md
- .gitlab/issue_templates/Default.md
Changes:
=====================================
.gitlab/issue_templates/031 Fingerprinting.md
=====================================
@@ -0,0 +1,149 @@
+# 👣 Fingerprinting
+<!--
+Use this template to track a browser fingerprinting vector. Such vectors
+allow for stateless cross-site tracking (i.e. across somehow collaborating
+but otherwise unrelated 1st party domains like foo.com and bar.com)
+
+For the purposes of developing a fix, this template is meant to define all of the things
+we want to think about and analyze before implementing a fix. It's totally fine to leave
+parts of this template empty on initial report! The the issue description can be updated
+and edited as we learn things.
+
+This template is also meant to serve as documentation/explanation about how we think
+about fingerprinting vectors and minimising their utility.
+-->
+
+## Problem Statement
+<!--
+Please give an overview of the problem you think we should address.
+ e.g. system fonts (`font: caption`) might expose desktop
+ environment/distribution/language/customization because Firefox uses OS
+ settings.
+-->
+
+## Documentation
+<!--
+Please provide a links to the relevant standards or documentation for the affected web
+platform features. Additionally, please provide links to relevant academic research,
+upstream Bugzilla issues, etc (if available).
+-->
+
+## Repro Steps
+<!--
+Please provide any proof of concept which can help us under how this feature
+can be used for fingerprinting and that we can use as a test for our patches.
+-->
+
+## Analysis
+
+### Metric Distribution
+<!--
+- How many different possible buckets of values exist without fingerprinting
+mitigations?
+- How are users distributed between these buckets?
+- Do any group of users stand-out by default?
+- Do users in each of these buckets likely have different risk profiles?
+-->
+
+### Metric Stability
+<!--
+- How does the metric change during and between browsing sessions without mitigations?
+ e.g. Window size may be mostly stable during a browsing session
+ but may change between browsing sessions
+ e.g. User-Agent string is stable during a browsing session, but may change
+ between major browser updates
+-->
+
+## Mitigation Strategy
+<!--
+Outline (at least) one of the possible mitigation strategies for this metric
+(normalisation, randomisation, or disabling)
+-->
+
+### Normalisation
+<!--
+Describe a strategy whereby all users report the same value for the metric, or the pros
+and cons if there are multiple potential normalisation strategies.
+ e.g. Standardising reported WebGL constants such as maximum framebuffer size
+- After normalisation, would this metric be equivalent another normalised metric?
+ e.g. fonts are usually equivalent to the OS, which is already exposed.
+- Sometimes it is impossible to use the same value for all users, but reducing the
+ number of user buckets is still a win.
+
+✅ This is the preferred mitigation strategy.
+-->
+
+### Randomisation
+<!--
+Describe a strategy whereby users return randomised metrics
+ e.g. when enumerating webcams, choose a number of devices from a `[1; 3]` uniform
+ distribution
+- How did you choose this distribution and its parameters?
+- What strategies should we use to hide the randomization?
+ e.g. randomize the value only once per session and per first-party
+- Why is it not possible to use a normalized value, instead? Normalization is often
+ better than randomization because it is often easier to conceal
+
+A randomised metric should ideally be:
+- Different per first party domain
+ e.g. different websites measure a different value for the metric
+- Stable per session per first party domain
+ e.g. a website repeatedly measuring the metric will get back the same value
+ during the same browsing session
+- Different between sessions, regardless of first party domain
+ e.g. a website measuring a metric between browsing sessions will get back a different
+ value
+
+⚠️ We should only resort to randomisation if providing normalised values completely
+and utterly breaks web compatibility, usability, or accessibility.
+-->
+
+### Disabling
+<!--
+Describe a strategy whereby the fingerprintable metric is just outright disabled
+ e.g. Disabling WebAuthN feature entirely
+- Why is it not possible to spoof a (normalized) value instead? Disabling an API might
+ break some sites.
+ e.g. Rejecting the permission prompt request promise would be preferable to removing
+ or disabling the relevant APIs
+- Is this a temporary change?
+ e.g. necessary on the ESR version of Firefox we use for Tor Browser, but fixed in a
+ later version of Firefox.
+-->
+
+## Other Considerations
+
+### Usability and Accessibility
+<!--
+- Would the proposed mitigation make websites unusable for non-technical/human reasons?
+ e.g. Always requesting language as en-US makes websites usable for non English-reading
+ users
+- Would it make the browser unusable for some users?
+ e.g. Forcing overlay scrollbars would make websites unusable for some users with motor
+ issues
+- Do we need to provide a user-accessible 'escape-hatch' to allow users to opt-out of the
+ proposed mitigation?
+ e.g. Providing an option in about:preferences
+-->
+
+### Web Compatibility
+<!--
+Would the proposed mitigation break websites for technical reasons?
+ e.g. Disabling WebAuthN preventing YubiKey authentication
+-->
+
+### Plausibility
+<!--
+Would the proposed mitigation make the browser stand out as a potential bot or scraper or
+some other non-standard browser configuration?
+ e.g. Reporting only 2 CPU-cores is unlikely for modern PCs in the year 2025
+-->
+
+<!-- Do not edit beneath this line <3 -->
+
+---
+
+/confidential
+/label ~"Apps::Product::BaseBrowser"
+/label ~"Project 131"
+/label ~"Fingerprinting"
=====================================
.gitlab/issue_templates/Default.md
=====================================
@@ -11,6 +11,7 @@ Please select the appropriate issue template from the **Description** drop-down.
*NOTE*: the following issue types are intended for internal use
- 💣 **Test** - develop a test or update testing infrastructure
+- 👣 **Fingerprinting** - open a fingerprinting issue
- ✨ **Feature** - implement new features
- ⬅️ **Backport** - cherry-pick change to other release channels
- ⤵️ **Rebase - Alpha** - rebase alpha to latest Firefox ESR version
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/24890f9…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/24890f9…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] fixup! BB 43615: Add Gitlab Issue and Merge Request templates
by morgan (@morgan) 18 Jun '25
by morgan (@morgan) 18 Jun '25
18 Jun '25
morgan pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
9e951916 by Morgan at 2025-06-18T10:00:26+00:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add fingerprinting issue template
- - - - -
2 changed files:
- + .gitlab/issue_templates/031 Fingerprinting.md
- .gitlab/issue_templates/Default.md
Changes:
=====================================
.gitlab/issue_templates/031 Fingerprinting.md
=====================================
@@ -0,0 +1,149 @@
+# 👣 Fingerprinting
+<!--
+Use this template to track a browser fingerprinting vector. Such vectors
+allow for stateless cross-site tracking (i.e. across somehow collaborating
+but otherwise unrelated 1st party domains like foo.com and bar.com)
+
+For the purposes of developing a fix, this template is meant to define all of the things
+we want to think about and analyze before implementing a fix. It's totally fine to leave
+parts of this template empty on initial report! The the issue description can be updated
+and edited as we learn things.
+
+This template is also meant to serve as documentation/explanation about how we think
+about fingerprinting vectors and minimising their utility.
+-->
+
+## Problem Statement
+<!--
+Please give an overview of the problem you think we should address.
+ e.g. system fonts (`font: caption`) might expose desktop
+ environment/distribution/language/customization because Firefox uses OS
+ settings.
+-->
+
+## Documentation
+<!--
+Please provide a links to the relevant standards or documentation for the affected web
+platform features. Additionally, please provide links to relevant academic research,
+upstream Bugzilla issues, etc (if available).
+-->
+
+## Repro Steps
+<!--
+Please provide any proof of concept which can help us under how this feature
+can be used for fingerprinting and that we can use as a test for our patches.
+-->
+
+## Analysis
+
+### Metric Distribution
+<!--
+- How many different possible buckets of values exist without fingerprinting
+mitigations?
+- How are users distributed between these buckets?
+- Do any group of users stand-out by default?
+- Do users in each of these buckets likely have different risk profiles?
+-->
+
+### Metric Stability
+<!--
+- How does the metric change during and between browsing sessions without mitigations?
+ e.g. Window size may be mostly stable during a browsing session
+ but may change between browsing sessions
+ e.g. User-Agent string is stable during a browsing session, but may change
+ between major browser updates
+-->
+
+## Mitigation Strategy
+<!--
+Outline (at least) one of the possible mitigation strategies for this metric
+(normalisation, randomisation, or disabling)
+-->
+
+### Normalisation
+<!--
+Describe a strategy whereby all users report the same value for the metric, or the pros
+and cons if there are multiple potential normalisation strategies.
+ e.g. Standardising reported WebGL constants such as maximum framebuffer size
+- After normalisation, would this metric be equivalent another normalised metric?
+ e.g. fonts are usually equivalent to the OS, which is already exposed.
+- Sometimes it is impossible to use the same value for all users, but reducing the
+ number of user buckets is still a win.
+
+✅ This is the preferred mitigation strategy.
+-->
+
+### Randomisation
+<!--
+Describe a strategy whereby users return randomised metrics
+ e.g. when enumerating webcams, choose a number of devices from a `[1; 3]` uniform
+ distribution
+- How did you choose this distribution and its parameters?
+- What strategies should we use to hide the randomization?
+ e.g. randomize the value only once per session and per first-party
+- Why is it not possible to use a normalized value, instead? Normalization is often
+ better than randomization because it is often easier to conceal
+
+A randomised metric should ideally be:
+- Different per first party domain
+ e.g. different websites measure a different value for the metric
+- Stable per session per first party domain
+ e.g. a website repeatedly measuring the metric will get back the same value
+ during the same browsing session
+- Different between sessions, regardless of first party domain
+ e.g. a website measuring a metric between browsing sessions will get back a different
+ value
+
+⚠️ We should only resort to randomisation if providing normalised values completely
+and utterly breaks web compatibility, usability, or accessibility.
+-->
+
+### Disabling
+<!--
+Describe a strategy whereby the fingerprintable metric is just outright disabled
+ e.g. Disabling WebAuthN feature entirely
+- Why is it not possible to spoof a (normalized) value instead? Disabling an API might
+ break some sites.
+ e.g. Rejecting the permission prompt request promise would be preferable to removing
+ or disabling the relevant APIs
+- Is this a temporary change?
+ e.g. necessary on the ESR version of Firefox we use for Tor Browser, but fixed in a
+ later version of Firefox.
+-->
+
+## Other Considerations
+
+### Usability and Accessibility
+<!--
+- Would the proposed mitigation make websites unusable for non-technical/human reasons?
+ e.g. Always requesting language as en-US makes websites usable for non English-reading
+ users
+- Would it make the browser unusable for some users?
+ e.g. Forcing overlay scrollbars would make websites unusable for some users with motor
+ issues
+- Do we need to provide a user-accessible 'escape-hatch' to allow users to opt-out of the
+ proposed mitigation?
+ e.g. Providing an option in about:preferences
+-->
+
+### Web Compatibility
+<!--
+Would the proposed mitigation break websites for technical reasons?
+ e.g. Disabling WebAuthN preventing YubiKey authentication
+-->
+
+### Plausibility
+<!--
+Would the proposed mitigation make the browser stand out as a potential bot or scraper or
+some other non-standard browser configuration?
+ e.g. Reporting only 2 CPU-cores is unlikely for modern PCs in the year 2025
+-->
+
+<!-- Do not edit beneath this line <3 -->
+
+---
+
+/confidential
+/label ~"Apps::Product::BaseBrowser"
+/label ~"Project 131"
+/label ~"Fingerprinting"
=====================================
.gitlab/issue_templates/Default.md
=====================================
@@ -11,6 +11,7 @@ Please select the appropriate issue template from the **Description** drop-down.
*NOTE*: the following issue types are intended for internal use
- 💣 **Test** - develop a test or update testing infrastructure
+- 👣 **Fingerprinting** - open a fingerprinting issue
- ✨ **Feature** - implement new features
- ⬅️ **Backport** - cherry-pick change to other release channels
- ⤵️ **Rebase - Alpha** - rebase alpha to latest Firefox ESR version
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9e95191…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9e95191…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch tor-browser-140.0a1-15.0-2
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed new branch tor-browser-140.0a1-15.0-2 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41494: Update GeckoView build scripts for ESR140.
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
0e4bfa9d by Pier Angelo Vendrame at 2025-06-18T11:12:42+02:00
Bug 41494: Update GeckoView build scripts for ESR140.
- - - - -
11 changed files:
- projects/geckoview/build
- projects/geckoview/build_ac_fenix
- projects/geckoview/build_common
- projects/geckoview/config
- projects/geckoview/gradle-dependencies-list.txt
- projects/oss-licenses-plugin/build
- projects/oss-licenses-plugin/build-customization.diff
- projects/oss-licenses-plugin/config
- projects/oss-licenses-plugin/gradle-dependencies-list.txt
- + projects/oss-licenses-plugin/sort-dependencies-pr-268.patch
- − projects/oss-licenses-plugin/sort-dependencies.diff
Changes:
=====================================
projects/geckoview/build
=====================================
@@ -43,7 +43,7 @@ echo "Starting ./mach build $(date)"
# Copy the artifacts to the target directory
# Naming convention is the same as Mozilla uses for their artifacts
cp -a obj-*/dist/*.zip $artifactsdir/target.xpt_artifacts.zip
- cp -a obj-*/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/*/geckoview_example-withGeckoBinaries-*.apk $artifactsdir/geckoview_example.apk
+ cp -a obj-*/gradle/build/mobile/android/geckoview_example/outputs/apk/*/geckoview_example-*.apk $artifactsdir/geckoview_example.apk
./mach python -m mozbuild.action.test_archive common $artifactsdir/target.common.tests.tar.gz
[% END %]
=====================================
projects/geckoview/build_ac_fenix
=====================================
@@ -4,6 +4,8 @@
./mach package-multi-locale --locales en-US $supported_locales
[% END -%]
+objdir=$(cd obj-* && pwd)
+
echo "Building Android Components $(date)"
pushd mobile/android/android-components
gradle $GRADLE_FLAGS assembleGecko -x lint
@@ -40,7 +42,7 @@ gradle $GRADLE_FLAGS -PversionName="$version_name" "assemble$variant"
echo "Build finished, copying the APK(s) to the destination directory $(date)"
mkdir $distdir/[% project %]
-cp app/build/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]
+cp $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]
echo "Building non optimized $variant Fenix APK for testing"
gradle $GRADLE_FLAGS -PversionName="$version_name" -PdisableOptimization "assemble$variant"
@@ -51,8 +53,8 @@ gradle $GRADLE_FLAGS -PversionName="$version_name" -PtestBuildType="$variant" -P
echo "Test build finished, copying the APKs to the destination directory $(date)"
mkdir $distdir/[% project %]/tests
-cp app/build/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]/tests
-cp app/build/outputs/apk/androidTest/fenix/$variant/*.apk $distdir/[% project %]/tests
+cp $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]/tests
+cp $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/fenix/$variant/*.apk $distdir/[% project %]/tests
popd
=====================================
projects/geckoview/build_common
=====================================
@@ -48,4 +48,10 @@ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
# Create .mozbuild to avoid interactive prompt in configure
mkdir "$HOME/.mozbuild"
+# mach looks for bundletool and avd only in ~/.mozbuild. Maybe an upstream bug?
+mv $rootdir/[% c("input_files_by_name/bundletool") %] $HOME/.mozbuild/bundletool.jar
+mkdir $HOME/.mozbuild/android-device
+touch $HOME/.mozbuild/android-device/avd
+chmod +x $HOME/.mozbuild/android-device/avd
+
[% INCLUDE 'browser-localization' %]
=====================================
projects/geckoview/config
=====================================
@@ -37,9 +37,12 @@ var:
- openjdk-17-jdk-headless
# this should be updated when the list of gradle dependencies is changed
# see doc/how-to-create-gradle-dependencies-list.txt
- gradle_dependencies_version: 16
- gradle_version: 8.8
+ gradle_dependencies_version: 17
+ gradle_version: 8.13
glean_parser: 14.0.1
+ # python/mozboot/mozboot/android.py
+ bundletool_version: 1.18.1
+ bundletool_hash: 675786493983787ffa11550bdb7c0715679a44e1643f3ff980a529e9c822595c
variant: beta
has_l10n: '[% !c("var/testbuild") && !c("var/locales").empty %]'
l10n-changesets: '[% exec("git --no-pager show " _ c("git_hash") _ ":browser/locales/l10n-changesets.json", { exec_noco => 1 }) %]'
@@ -121,9 +124,12 @@ steps:
- project: oss-licenses-plugin
name: oss-licenses-plugin
pkg_type: build
+ - URL: 'https://github.com/google/bundletool/releases/download/[% c("var/bundletool_version") %]/bundletool-all-[% c("var/bundletool_version") %].jar'
+ name: bundletool
+ sha256sum: '[% c("var/bundletool_hash") %]'
list_toolchain_updates:
- git_hash: tor-browser-128.0b1-14.0-1
+ git_hash: tor-browser-140.0a1-15.0-1
tag_gpg_id: 0
input_files: []
container:
@@ -173,3 +179,6 @@ input_files:
pkg_type: tor-browser
enable: '[% c("var/android_single_arch") && c("var/has_l10n") %]'
- filename: rename-branding-strings.py
+ - URL: 'https://github.com/google/bundletool/releases/download/[% c("var/bundletool_version") %]/bundletool-all-[% c("var/bundletool_version") %].jar'
+ name: bundletool
+ sha256sum: '[% c("var/bundletool_hash") %]'
=====================================
projects/geckoview/gradle-dependencies-list.txt
=====================================
The diff for this file was not included because it is too large.
=====================================
projects/oss-licenses-plugin/build
=====================================
@@ -12,9 +12,10 @@ export PATH=/var/tmp/dist/gradle/bin:$PATH
gradle_repo=/var/tmp/dist/gradle-dependencies
mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo
cp -rl $gradle_repo/m2/* $gradle_repo || true
+cp -rl $gradle_repo/dl/android/maven2/* $gradle_repo || true
cd $builddir
-patch -p2 < $rootdir/sort-dependencies.diff
+patch -p2 < $rootdir/sort-dependencies-pr-268.patch
patch -p2 < $rootdir/build-customization.diff
gradle --no-daemon --offline -Dmaven.repo.local=$gradle_repo assemble publish
cd build/repo
=====================================
projects/oss-licenses-plugin/build-customization.diff
=====================================
@@ -1,17 +1,17 @@
diff --git a/oss-licenses-plugin/build.gradle b/oss-licenses-plugin/build.gradle
-index 2a7dd74..f9368e1 100644
+index 863625c..65ad088 100644
--- a/oss-licenses-plugin/build.gradle
+++ b/oss-licenses-plugin/build.gradle
-@@ -15,34 +15,25 @@ dependencies {
+@@ -20,34 +20,25 @@ dependencies {
group = 'com.google.android.gms'
- version = '0.10.4'
+ version = '0.10.6'
-apply plugin: 'maven'
+apply plugin: 'maven-publish'
repositories {
google()
- jcenter()
+ mavenCentral()
+ mavenLocal()
}
=====================================
projects/oss-licenses-plugin/config
=====================================
@@ -1,12 +1,12 @@
-version: 0.10.4
+version: 0.10.6
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
git_url: https://github.com/google/play-services-plugins.git
-git_hash: c9ed0e48abe2c55dd67f2c2224988d1d690cecc9 # oss-licenses-plugin-v0.10.4
+git_hash: 45ec9c690672f0ff6f86e6221ef64e204b10a228 # oss-licenses-plugin-v0.10.6
var:
# This should be updated when the list of gradle dependencies is changed.
- gradle_dependencies_version: 1
- gradle_version: 8.8
+ gradle_dependencies_version: 2
+ gradle_version: 8.13
container:
use_container: 1
@@ -18,5 +18,5 @@ input_files:
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
+ - filename: sort-dependencies-pr-268.patch
- filename: build-customization.diff
- - filename: sort-dependencies.diff
=====================================
projects/oss-licenses-plugin/gradle-dependencies-list.txt
=====================================
@@ -1,207 +1,37 @@
# On how to update dependencies see doc/how-to-create-gradle-dependencies-list.txt
# Don't forget to update var/gradle_dependencies_version when modifying this file
sha256sum | url
-408d8ed48da2b7b2c8f7216906c1b76a1ecdb9c165cdb52c9eeb32af0cc67f0f | https://maven.google.com/androidx/databinding/databinding-common/3.5.1/data…
-008e3641392787bd3f6e5fe3a56457379cbba8be62ae5a91ba982b7e534a2b37 | https://maven.google.com/androidx/databinding/databinding-common/3.5.1/data…
-b6235dd4ff7457f517e30479fe050a2ae27a2b3ef8ae33d44d9a3d2197911779 | https://maven.google.com/androidx/databinding/databinding-compiler-common/3…
-4a3bfe5d22a4df2490f6180ef1e22a2ea189f42676532d6d7d6ece9b57a2c506 | https://maven.google.com/androidx/databinding/databinding-compiler-common/3…
-4b698a77c578215a7f746e93422757a8e4d6ee9c8a29fdd9f994712f723604ed | https://maven.google.com/com/android/databinding/baseLibrary/3.5.1/baseLibr…
-6659dd657846c519b12ad701815f2009f8d9991c798ca3a5a628e163987aecab | https://maven.google.com/com/android/databinding/baseLibrary/3.5.1/baseLibr…
-9e9618ed7f1d24df2a4365e1719d630d8ac9c2dd31bea3343157a4ae5efa7fb9 | https://maven.google.com/com/android/tools/analytics-library/crash/26.5.1/c…
-215d75a04ddcfa897e12f3c4d204f24e94214385f1f11ddcea4ddcd56ddb5243 | https://maven.google.com/com/android/tools/analytics-library/crash/26.5.1/c…
-8dde1130725461fe827f2a343d353f2b51e8870661fc860d7d5ebddb097ead4e | https://maven.google.com/com/android/tools/analytics-library/protos/26.5.1/…
-7b042861662b26a41e8f71a093cffc78dd8eb746e5ab98a645e1dcf49612bd0a | https://maven.google.com/com/android/tools/analytics-library/protos/26.5.1/…
-ccc2f3b00ec17b11401610ba68553544fc8fc517120e84439ac6eb86b875e18d | https://maven.google.com/com/android/tools/analytics-library/shared/26.5.1/…
-727842ddf56dbf158091a4f113005ec0e2d04ae2c066d7ede9b65ce6a9131aa8 | https://maven.google.com/com/android/tools/analytics-library/shared/26.5.1/…
-3a76984c0fe2e847ca7a8b35b4780ef0447a9d1666946cb8e60466318e0ab5ae | https://maven.google.com/com/android/tools/analytics-library/tracker/26.5.1…
-6327d446e6c59adacad78265fc61ac09ddcb751fe4e62b3697dc9d6534c0c451 | https://maven.google.com/com/android/tools/analytics-library/tracker/26.5.1…
-2c43c82f8c59d8f7a61e3239e1a2dc9f69dc342ec09af9b7c9f69b25337c0b6e | https://maven.google.com/com/android/tools/annotations/26.5.1/annotations-2…
-3caa859d7b198f9f429f50874921f5e05f105112400eed666d5e56a0e8417e09 | https://maven.google.com/com/android/tools/annotations/26.5.1/annotations-2…
-fac0435e08898f89eeeb9ca236bea707155ff816c12205ced285ad53604133ca | https://maven.google.com/com/android/tools/build/aapt2-proto/0.4.0/aapt2-pr…
-a24bdd4e8e374fdcd8cef8d77ea723f147ccd0f25dc6de4fbe290039be904339 | https://maven.google.com/com/android/tools/build/aapt2-proto/0.4.0/aapt2-pr…
-1fd33e7f009a2a0da766cfeec4211a09f548034b015c289a66d75dd8a9302f4a | https://maven.google.com/com/android/tools/build/apksig/3.5.1/apksig-3.5.1.…
-4c9f03d9fbc5accffafd56b0ae677d41ea0a395980a2cc052a7bcefccb2483a9 | https://maven.google.com/com/android/tools/build/apksig/3.5.1/apksig-3.5.1.…
-9f330167cbe973b7db407692f74f4f6453b7ffa5f2048934b06280c2ceee60fa | https://maven.google.com/com/android/tools/build/apkzlib/3.5.1/apkzlib-3.5.…
-f299c423220ae47404b9013e54caec84ea64f45f69885e4dc0e2e66b7095e33e | https://maven.google.com/com/android/tools/build/apkzlib/3.5.1/apkzlib-3.5.…
-39ea3c82b76b6e0c9f9fa88d93e0edc1dd4a0f1dfae0ef6fbf2d451da47e5450 | https://maven.google.com/com/android/tools/build/builder-model/3.5.1/builde…
-466e5005cf0a7c7bad8991b14c70b04457b77d28195ec04ec2baf6495e88f4a2 | https://maven.google.com/com/android/tools/build/builder-model/3.5.1/builde…
-a1b59305584cbcaa078fdc9cfb80871012755b822dd32e8da19add6f7bbcb762 | https://maven.google.com/com/android/tools/build/builder-test-api/3.5.1/bui…
-704e2ad557e5659b98bb8955fbab20977cddb09c06e72825cf2516635424b8cb | https://maven.google.com/com/android/tools/build/builder-test-api/3.5.1/bui…
-e3a8d382434c5f60990730c4719fc814e85a898a33a1e96c1df8d627d3c6eea6 | https://maven.google.com/com/android/tools/build/builder/3.5.1/builder-3.5.…
-aa0092dd227856f6a9c42df1f6ae14ba8a5bde16ea77d760e48c25e575d31668 | https://maven.google.com/com/android/tools/build/builder/3.5.1/builder-3.5.…
-50c44557ca75b068e364ac35a648b81eeba7639ab5eb04036e390c727ad2fa3d | https://maven.google.com/com/android/tools/build/bundletool/0.9.0/bundletoo…
-124e124227803689b71da7440f0dbdff71cbb4c661a18e0f4e2e0d3a80d367c2 | https://maven.google.com/com/android/tools/build/bundletool/0.9.0/bundletoo…
-be9b41859bace11998f66b04ed944f87e413f3ad6da3c4665587699da125addc | https://maven.google.com/com/android/tools/build/gradle-api/3.5.1/gradle-ap…
-e977170f2bf4fdf335d924f8bf94eea54c54422f74f8915fc8d592dc9a226eb8 | https://maven.google.com/com/android/tools/build/gradle-api/3.5.1/gradle-ap…
-fe188188002bbb2e51c7db6da1ed03fc82af8f3be1a33991d38381837bc6708a | https://maven.google.com/com/android/tools/build/gradle/3.5.1/gradle-3.5.1.…
-b4a5b3db612b70ad8ba1b22bc469444d946bcd60e399f97ee6e498d195239c84 | https://maven.google.com/com/android/tools/build/gradle/3.5.1/gradle-3.5.1.…
-c9f8b016144cfb31c5aee92d47f34de23289167cac5e8ef68365b2dd05766f11 | https://maven.google.com/com/android/tools/build/jetifier/jetifier-core/1.0…
-db025ad1bbc6896edf0f67cda1222ba9b7ec9a0187df7f4fd0a318475c758e4e | https://maven.google.com/com/android/tools/build/jetifier/jetifier-core/1.0…
-1dd481e7606ccb30868908d9ae80f27d1c5ba882f792532bd91ed731c54f4efb | https://maven.google.com/com/android/tools/build/jetifier/jetifier-processo…
-4973a6c6d7f89297a1cfea56c623cea72b3db3b4a49992afa00dd77ac052b89f | https://maven.google.com/com/android/tools/build/jetifier/jetifier-processo…
-dcad9ecb967251f4d750f55a4204a2b400e8fbfe5cb930a1d0d5dbe10ae8bdfc | https://maven.google.com/com/android/tools/build/manifest-merger/26.5.1/man…
-0dfcac2f9fa87c1742945875ef1e6f9fbade2149426502323c40eb01c05a7e36 | https://maven.google.com/com/android/tools/build/manifest-merger/26.5.1/man…
-4de4a3d05e1c534c2db9e4588bf34082bb2bd232d8abb9727c430290ce225740 | https://maven.google.com/com/android/tools/build/transform-api/2.0.0-deprec…
-7c62f3856e8abca1d79257925f26c12668693f5d95904056bbac88605cfd8575 | https://maven.google.com/com/android/tools/build/transform-api/2.0.0-deprec…
-eccfa54486ed54c4e3123cc42195d023bd0dd21bcd2f0e4868e8c6fc70f8ef6b | https://maven.google.com/com/android/tools/common/26.5.1/common-26.5.1.jar
-4492eb509dc784ca5e1600a2b0505ad1468bed4d116220fca67f34b49ac18ffb | https://maven.google.com/com/android/tools/common/26.5.1/common-26.5.1.pom
-b081aef2a4ed3f4d47cae4cdb128469735f25a114e026d37123bf9ffdec742a8 | https://maven.google.com/com/android/tools/ddms/ddmlib/26.5.1/ddmlib-26.5.1…
-a6e4693d05779c25cbfbbf4e67f96150c4de3d398ae3ed6a38f786971eb89634 | https://maven.google.com/com/android/tools/ddms/ddmlib/26.5.1/ddmlib-26.5.1…
-46f93ad498b4756e7d867d2fe38c38890a80e7407a4ae459e4a8c8d5c5aeacfe | https://maven.google.com/com/android/tools/dvlib/26.5.1/dvlib-26.5.1.jar
-1d5f88a4eb1c76901bc7b19af2311418a3f259d0f68756b058df850b1e8f913f | https://maven.google.com/com/android/tools/dvlib/26.5.1/dvlib-26.5.1.pom
-88732f11396c427273e515d23042e35633f4fe4295528a99b866aa2adf0efd9c | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.5.1/l…
-63832aa426428edb1a9ad7b1fc06c8ecf8f38b98041c13bfe433ac46688e5ed8 | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.5.1/l…
-82453fd98a8394cc84ed995c04d2cd744abd1d6589403427ba7eef53115406f3 | https://maven.google.com/com/android/tools/lint/lint-gradle-api/26.5.1/lint…
-2ddefa31501b320b366a0d18ba169118be7073d04c9337dd77bdc4ebd4ced959 | https://maven.google.com/com/android/tools/lint/lint-gradle-api/26.5.1/lint…
-2b3ee791aa4c3e8ce60498c161a27ca7228816fc630eed4d9f25f2f36a106dce | https://maven.google.com/com/android/tools/repository/26.5.1/repository-26.…
-8312471ec5165d599404e2225157c5639bdd9ad5c6980f79b1c1c4b517ff93b3 | https://maven.google.com/com/android/tools/repository/26.5.1/repository-26.…
-365f749676c3574676fd465177c8a492f340816db2b520d6ed114d3b6e77bea7 | https://maven.google.com/com/android/tools/sdk-common/26.5.1/sdk-common-26.…
-33b0649ae6e3dd95340123c462f6ef32992ee858e6e132f45bb7dec332627d59 | https://maven.google.com/com/android/tools/sdk-common/26.5.1/sdk-common-26.…
-007da104afb27c8c682a1628023fe9ec438249c8d15ef0fd6624c5bb8e23b696 | https://maven.google.com/com/android/tools/sdklib/26.5.1/sdklib-26.5.1.jar
-3f5ee952ea6a07767688a464c545354fbbce296419973397e65280142914b2a4 | https://maven.google.com/com/android/tools/sdklib/26.5.1/sdklib-26.5.1.pom
-feab9191311c3d7aeef2b66d6064afc80d3d1d52d980fb07ae43c78c987ba93a | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/1.3.9/jsr305-…
-766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7 | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-…
-19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-…
-8f1fec72b91a71ea39ec39f5f778c4d1124b6b097c6d55b3a50b554a52237b27 | https://plugins.gradle.org/m2/com/google/code/gson/gson-parent/2.8.5/gson-p…
-233a0149fc365c9f6edbd683cfe266b19bdc773be98eabdaf6b3c924b48e7d81 | https://plugins.gradle.org/m2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar
-b8308557a7fccc92d9fe7c8cd0599258b361285d2ecde7689eda98843255a092 | https://plugins.gradle.org/m2/com/google/code/gson/gson/2.8.5/gson-2.8.5.pom
-6ebd22ca1b9d8ec06d41de8d64e0596981d9607b42035f9ed374f9de271a481a | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_annotations…
-5e0258ea1ba4e51a133742680bc22448f7ab214be4073e8619f645ef1be42dd5 | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_annotations…
-c460902ddf5ece68832c6b271ce52a0928b05cf3a6ac81a8f548c73cbd541138 | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_parent/2.2.…
-cd6db17a11a31ede794ccbd1df0e4d9750f640234731f21cff885a9997277e81 | https://plugins.gradle.org/m2/com/google/google/1/google-1.pom
-a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26 | https://plugins.gradle.org/m2/com/google/guava/failureaccess/1.0.1/failurea…
-e96042ce78fecba0da2be964522947c87b40a291b5fd3cd672a434924103c4b9 | https://plugins.gradle.org/m2/com/google/guava/failureaccess/1.0.1/failurea…
-f8698ab46ca996ce889c1afc8ca4f25eb8ac6b034dc898d4583742360016cc04 | https://plugins.gradle.org/m2/com/google/guava/guava-parent/26.0-android/gu…
-317e88291262e0cf2805e956c18850f1d4565c85c2e1112f5d9d08ab1732e696 | https://plugins.gradle.org/m2/com/google/guava/guava-parent/27.0.1-jre/guav…
-e1c814fd04492a27c38e0317eabeaa1b3e950ec8010239e400fe90ad6c9107b4 | https://plugins.gradle.org/m2/com/google/guava/guava/27.0.1-jre/guava-27.0.…
-6a8dd041f23a6bb14a86e440fccb993537b62271357a0dac0a3cb0ff39158f36 | https://plugins.gradle.org/m2/com/google/guava/guava/27.0.1-jre/guava-27.0.…
-b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99 | https://plugins.gradle.org/m2/com/google/guava/listenablefuture/9999.0-empt…
-18d4b1db26153d4e55079ce1f76bb1fe05cdb862ef9954a88cbcc4ff38b8679b | https://plugins.gradle.org/m2/com/google/guava/listenablefuture/9999.0-empt…
-2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6 | https://plugins.gradle.org/m2/com/google/j2objc/j2objc-annotations/1.1/j2ob…
-f0c98c571e93a7cb4dd18df0fa308f0963e7a0620ac2d4244e61e709d03ad6be | https://plugins.gradle.org/m2/com/google/j2objc/j2objc-annotations/1.1/j2ob…
-c71555751e57e0ef912870e8ac9625ae782502a6a5b9c19ccf83b2a97d8b26bd | https://plugins.gradle.org/m2/com/google/jimfs/jimfs-parent/1.1/jimfs-paren…
-c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd | https://plugins.gradle.org/m2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar
-efa86e5cd922f17b472fdfcae57234d8d4ac3e148b6250737dfce454af7a7a44 | https://plugins.gradle.org/m2/com/google/jimfs/jimfs/1.1/jimfs-1.1.pom
-4189e0be5ab15cf2330f70b24fbdc75ca37514f188388fce8580ce16a9a68052 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java-util/3.4.0/…
-89c43073e7eaa0eaba72a4a36ae1b6bfdfe5d81bb9d0e156aee05e4a72de3cb8 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java-util/3.4.0/…
-dce7e66b32456a1b1198da0caff3a8acb71548658391e798c79369241e6490a4 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.4.0/proto…
-83f17ba86c5fa1a15a3a3c8030d4ce42ef21c1d39b65db6cc004a8eeb2c59406 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.4.0/proto…
-24909c552842c0eb7a4c769d631a43cbef5a9a10c1640f2bdbd1ea149c573a47 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-parent/3.4.0/pro…
-2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439 | https://plugins.gradle.org/m2/com/googlecode/json-simple/json-simple/1.1/js…
-47a89be0fa0fedd476db5fd2c83487654d2a119c391f83a142be876667cf7dab | https://plugins.gradle.org/m2/com/googlecode/json-simple/json-simple/1.1/js…
-757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76 | https://plugins.gradle.org/m2/com/googlecode/juniversalchardet/juniversalch…
-7846399b35c7cd642a9b3a000c3e2d62d04eb37a4547b6933cc8b18bcc2f086b | https://plugins.gradle.org/m2/com/googlecode/juniversalchardet/juniversalch…
-8e108c92027bb428196f10fa11cffbe589f7648a6af2016d652279385fdfd789 | https://plugins.gradle.org/m2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.jar
-b3760f40f19e735b2cd418f7656335d926d1d9413e10982a1c9695b64edbb647 | https://plugins.gradle.org/m2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.pom
+33c839e4236eabde3896c154d120d651e72064f393e456297c92041d00cc058e | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.…
+67a8f20626121a8e4f48fc63a392c0459173a9992eb35cc9c9c3ec82b882862c | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.…
+8529eca8d75767050751f7674338548f591a234333179d9b5ad66c6feaf00d42 | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.…
+0e46a02577de7cbad380679e565f73d537205e0c38c2894bfe122ad1ee79e516 | https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/7.1…
+c2d09468c92bd306272ed6f2c7b5ac2507ede7222e4b677a5ba887e06e89c5bb | https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/7.1…
+fa9f433e60e4f330e763f4f1920f8bda5d1f835d17ac1bd9b92d2a139a4a8269 | https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/7.1…
+5e14677ed7c265731a4cb4ec99e1f352daaafb596f21f88e367220b3554b1a25 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-mod…
+76ade53f054bb250e93cbd29d82e1c9736ea64663d8faebef0f7deb3f1a08c3c | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-mod…
+4f430764d6dd337aeb94b5b6a307398831c0eaf276a3f639ecdb583819483d08 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-mod…
+6d43939f77996074552a72422924bc3644da6035a936d2c7d1326abe7ae1443e | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/7.1…
+c90102982348647fc58993b00ed675a1f92b50dc9c38563fd594b8cff3c67254 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/7.1…
+29a092c1ee48d09f36870f7b95688d05eff6784baac752e9b91ea1acfb1c358e | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/7.1…
+9c5ed0e13a6e8b426341cd32dcab2dd5b54c52e701a135b4227ccfe8ef3266bf | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/…
+d710594e89c561be3e7aba56b8e5a5690ebbdf82ad6d07019c2e271f39669ea8 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/…
+4545a1e6e1992613ee49df0d1395be89d625333adcf2db206af652586fbde26c | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/…
+621329051b4261fd390b33607523e123962ad3ad6b91929f37b23187caaa9309 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.1.…
+05ee8a6fc8b68e140133c4d9547e4790661737359c0d27b142b6fbc44bbe2a02 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.1.…
+91db6b029dc8b00570c77418f7a28839517bc9cb5a14ab562885b4bcf61efbd5 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.1.…
+cb36c736ed2ac922e6655ef5c56c34068e63b7d9bd749920b67592859c1e4d81 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-me…
+5b3b27f624a969fd35d3aa7aef91499862a445c13aece4233b1a103a42bc8be3 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-me…
+877dddbbb9e3f045bd835e21c59795cdad1332600354b773a886d25f2544d9c9 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-me…
+f35a8af6babede30bd48bf98d02d2499725f0902d56aeabe778da256b76d0768 | https://dl.google.com/dl/android/maven2/com/android/zipflinger/7.1.0/zipfli…
+88f6f0603aa947fa206e40ea03ea7e019a58eddb3a5a8f19cdab9849b4ad26e0 | https://dl.google.com/dl/android/maven2/com/android/zipflinger/7.1.0/zipfli…
+2c1c70bc240ab779ab4c07d19390c623d05e759c80653fbcdef2eeac299f00ab | https://dl.google.com/dl/android/maven2/com/android/zipflinger/7.1.0/zipfli…
+96623d7afc374800cfdc4eb1e49efdb1b17d762fbe9c7de0e46980de14473170 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-bom/3.19.1/proto…
+24f7d0d91797ed230a6d3da93cd80590a4c3aa9a27249f6025b5c6da078edde7 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.19.1/prot…
+5de4666f7f6b003d982f48f18c8e22facef6707365a74e20df7cbad98c931dd7 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.19.1/prot…
+83d413b2a79d6357d2ca78fd623143424e8f6ecc72cfa83bf2ae2ae258a93a44 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-parent/3.19.1/pr…
fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0 | https://plugins.gradle.org/m2/com/squareup/javawriter/2.5.0/javawriter-2.5.…
e1abd7f1116cf5e0c59947693e2189208ec94296b2a3394c959e3511d399a7b0 | https://plugins.gradle.org/m2/com/squareup/javawriter/2.5.0/javawriter-2.5.…
-1d8518e3ac7532a104e4f7be77def37c982e530723c6bdb3d67708cce2b0c2c4 | https://plugins.gradle.org/m2/com/sun/activation/all/1.2.0/all-1.2.0.pom
-993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce | https://plugins.gradle.org/m2/com/sun/activation/javax.activation/1.2.0/jav…
-f879b6e945854c6900b0dbee1c8384d7ab3de7e157fd7ac84937405c416d2a5e | https://plugins.gradle.org/m2/com/sun/activation/javax.activation/1.2.0/jav…
-c33e67a0807095f02a0e2da139412dd7c4f9cc1a4c054b3e434f96831ba950f4 | https://plugins.gradle.org/m2/com/sun/istack/istack-commons-runtime/2.21/is…
-ebe7137b5fbfd050545f9a7f3f339ae55beb0b53755071b4fd62aa024c626d1c | https://plugins.gradle.org/m2/com/sun/istack/istack-commons-runtime/2.21/is…
-c3071277f89b162982606b4e65c92077212efb6cbf1bdc365c51bd0b57ac818c | https://plugins.gradle.org/m2/com/sun/istack/istack-commons/2.21/istack-com…
-b25e0693de21cb92b039a2e4608f396590fb8773108f10d6dc9f1465f03b5be9 | https://plugins.gradle.org/m2/com/sun/xml/bind/jaxb-bom-ext/2.2.11/jaxb-bom…
-b5301b711c01547e571b615f9a0832ee525d34a4ce3372f53907a87cf20b0480 | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-parent/2.2.11/jaxb-…
-21918cb8e4eda67f24251e909a5d81672201d93604c4ffbf33522ad836a58e90 | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.2.…
-9a398c699a5d3f3b56f1056c68890ede25d94a12d98eabc2a473733e6ab2362c | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.2.11/j…
-27a77db909f3c2833c0b1a37c55af1db06045118ad2eed96ce567b6632bce038 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/Fa…
-b7505e0ecf7d495b4daa3e6569f71611d1a789dc531cbd92a2025922ff2655d3 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/Fa…
-fd0857899f1067e0287c2ffd91e38f967a26bd405b83a34650c2742cee9fc261 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/fastinfoset-project/1…
-4241dfa94e711d435f29a4604a3e2de5c4aa3c165e23bd066be6fc1fc4309569 | https://plugins.gradle.org/m2/commons-codec/commons-codec/1.10/commons-code…
-bdb8db7012d112a6e3ea8fdb7c510b300d99eff0819d27dddba9c43397ea4cfb | https://plugins.gradle.org/m2/commons-codec/commons-codec/1.10/commons-code…
-cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581 | https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.jar
-b2b5dd46cf998fa626eb6f8a1c114f6167c8d392694164e62533e5898e9b31f2 | https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.pom
-daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636 | https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-l…
-c91ab5aa570d86f6fd07cc158ec6bc2c50080402972ee9179fe24100739fbb20 | https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-l…
-74fa208043740642f7e6eb09faba15965218ad2f50ce3020efb100136e4b591c | https://plugins.gradle.org/m2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.jar
-953b116521a73575eee990e3f2c36a892fb088bb2d9a3027c82193cb7a013ef7 | https://plugins.gradle.org/m2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.pom
-91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff | https://plugins.gradle.org/m2/javax/inject/javax.inject/1/javax.inject-1.jar
-943e12b100627804638fa285805a0ab788a680266531e650921ebfe4621a8bfa | https://plugins.gradle.org/m2/javax/inject/javax.inject/1/javax.inject-1.pom
-b5e60cd8b7b5ff01ce4a74c5dd008f4fbd14ced3495d0b47b85cfedc182211f2 | https://plugins.gradle.org/m2/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/j…
-2092a7d8d9bc5698c59b094bdea46622915c48c83ae66d5b5ad549c7bf16155b | https://plugins.gradle.org/m2/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/j…
-281440811268e65d9e266b3cc898297e214e04f09740d0386ceeb4a8923d63bf | https://plugins.gradle.org/m2/net/java/jvnet-parent/1/jvnet-parent-1.pom
-30f5789efa39ddbf96095aada3fc1260c4561faf2f714686717cb2dc5049475a | https://plugins.gradle.org/m2/net/java/jvnet-parent/3/jvnet-parent-3.pom
-471395735549495297c8ff939b9a32e08b91302020ff773586d27e497abb8fbb | https://plugins.gradle.org/m2/net/java/jvnet-parent/4/jvnet-parent-4.pom
-26c5856e954b5f864db76f13b86919b59c6eecf9fd930b96baa8884626baf2f5 | https://plugins.gradle.org/m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simpl…
-7af7e2d8b24b4798f04c2b7da24c9fbd1b7557b4e017c2054481565916079092 | https://plugins.gradle.org/m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simpl…
-f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2 | https://plugins.gradle.org/m2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar
-31ce606f4e9518936299bb0d27c978fa61e185fd1de7c9874fe959a53e34a685 | https://plugins.gradle.org/m2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.pom
-75bc89695fa66e75374ecda439b802406f0ab1d826dd386eed0a23b1f0a9d264 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-base/6.0.3/proguard-…
-2a823d79f2675582a988d539466d1b175e939782efbe0f6e61f06cb165ed4907 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-base/6.0.3/proguard-…
-cc12b1168e521491dd0e687cfebec11a4af874b22af70e10cf2a05b47ca00c8f | https://plugins.gradle.org/m2/net/sf/proguard/proguard-gradle/6.0.3/proguar…
-5a5c7317d68ce80d1d40c9d8bd4e38814d42d1b16c265146e333634833a35a57 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-gradle/6.0.3/proguar…
-d87266bfd2312c3b036c4ac709310afa35c448ceb18027c3b87a33d03c6de0a0 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-parent/6.0.3/proguar…
-401877d5e70ad599e9b6cff18434ea0332f637b51f8ec68352646c836f9bb2a4 | https://plugins.gradle.org/m2/org/antlr/antlr4-master/4.5.3/antlr4-master-4…
-a32de739cfdf515774e696f91aa9697d2e7731e5cb5045ca8a4b657f8b1b4fb4 | https://plugins.gradle.org/m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar
-8a4e4b32eedaa72976a757e12cf1dfe742725db0b7311bf176dd937ba4236384 | https://plugins.gradle.org/m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom
-ff513db0361fd41237bef4784968bc15aae478d4ec0a9496f811072ccaf3841d | https://plugins.gradle.org/m2/org/apache/apache/13/apache-13.pom
-36c2f2f979ac67b450c0cb480e4e9baf6b40f3a681f22ba9692287d1139ad494 | https://plugins.gradle.org/m2/org/apache/apache/15/apache-15.pom
-9f85ff2fd7d6cb3097aa47fb419ee7f0ebe869109f98aba9f4eca3f49e74a40e | https://plugins.gradle.org/m2/org/apache/apache/16/apache-16.pom
-7831307285fd475bbc36b20ae38e7882f11c3153b1d5930f852d44eda8f33c17 | https://plugins.gradle.org/m2/org/apache/apache/18/apache-18.pom
-4946e60a547c8eda69f3bc23c5b6f0dadcf8469ea49b1d1da7de34aecfcf18dd | https://plugins.gradle.org/m2/org/apache/apache/9/apache-9.pom
-2c1542faf343185b7cab9c3d55c8ae5471d6d095d3887a4adefdbdf2984dc0b6 | https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.12/comm…
-b787d574c851505e76212968b9ae1641ea79804aef7f5a2cee2a01cd4055213a | https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.12/comm…
-467ae650442e876867379094e7518dfdd67d22c5352ebd39808c84259e9790ba | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/25/commons-…
-3a2e69d06d641d1f3b293126dc9e2e4ea6563bf8c36c87e0ab6fa4292d04b79c | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/34/commons-…
-7098a1ab8336ecd4c9dc21cbbcac869f82c66f64b8ac4f7988d41b4fcb44e49a | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/35/commons-…
-87cd27e1a02a5c3eb6d85059ce98696bb1b44c2b8b650f0567c86df60fa61da7 | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/39/commons-…
-c03f813195e7a80e3608d0ddd8da80b21696a4c92a6a2298865bf149071551c7 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.5.6/ht…
-7efc1241e73e7fbb268bfd33242d11ebd3ca07061d7d85f2962dc32a0f0b8855 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.5.6/ht…
-b042b41f2391edb00d35f7f4e509aed2123648c1d246ce58d0f7b905c9fe1f73 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-clie…
-61e9427d4be326c307a7f16ba828d1cb3b14713c9b04fc8ba992a58f376c3136 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-core…
-caaf967d94afb21753f36082c6086206bd1f48825ff596932cceba72b65d39fa | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-pare…
-78ba1096561957db1b55200a159b648876430342d15d461277e62360da19f6fd | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.4.10/htt…
-c5c12066df2b3b88a89a2c8602b81ea9a61627e976e5129eea1899ebbaea392b | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.4.10/htt…
-0b2b1102c18d3c7e05a77214b9b7501a6f6056174ae5604e0e256776eda7553e | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpmime/4.5.6/http…
-dfbfd6ffe2a784ca9817c46365aa7f8a578320b805bde39d6f55a0b09d8aa8ca | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpmime/4.5.6/http…
-7043dee4e9e7175e93e0b36f45b1ec1ecb893c5f755667e8b916eb8dd201c6ca | https://plugins.gradle.org/m2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-j…
-321668fc474a73140eb9cc73c779f1ebb9f60948aade3beddee082ecefcf0259 | https://plugins.gradle.org/m2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-j…
-963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349 | https://plugins.gradle.org/m2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-j…
-8fdc3336e7b01873193ba9c48b87de7d788dc0954d1eb45c322492627a4b5c6e | https://plugins.gradle.org/m2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-j…
-64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a | https://plugins.gradle.org/m2/org/checkerframework/checker-qual/2.5.2/check…
-dc4cd438a36462d013c2338c8e206d102a322a00f33729e8955ee219859c9ede | https://plugins.gradle.org/m2/org/checkerframework/checker-qual/2.5.2/check…
-92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53 | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-annotations/…
-e956ab5d2eb48fabae12300d0cd2d3294d4a2a41abc2068c23cb4d60ad76cbe5 | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-annotations/…
-18a03df16e2a184c582db7b125633c15fb7714027a84c1b532d72933dc08b81f | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-parent/1.17/…
-fc648dcdc404f8bf66e0583914ecf980176618201227bea114fae85043cb755e | https://plugins.gradle.org/m2/org/codehaus/mojo/mojo-parent/40/mojo-parent-…
-a52e6850f070dc9f7a2a51d0b25dfaafd49b0b9bf8196db6c0b3c5b7c94d8d38 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-bom/2.2.11/jaxb-bom-2…
-37bcaee8ebb04362c8352a5bf6221b86967ecdab5164c696b10b9a2bb587b2aa | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core…
-ec31409f203bcabf99534f59231ec0576d875d4d4b7349b09566a7a8c8179b24 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core…
-a874f2351cfba8e2946be3002d10c18a6da8f21b52ba2acf52f2b85d5520ed70 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-r…
-e5327b31b595ab8143e97836d5ccdf85feb91e7ff5666f7b26913632facca4aa | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-r…
-272a3ccad45a4511351920cd2a8633c53cab8d5220c7a92954da5526bb5eafea | https://plugins.gradle.org/m2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.jar
-8514cb724b4fca59a5cf272b632e539bd0a0f3cacf1844082d0a173a86406bd8 | https://plugins.gradle.org/m2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.pom
-1345f11ba606d15603d6740551a8c21947c0215640770ec67271fe78bea97cf5 | https://plugins.gradle.org/m2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar
-47b23a79fe336b741b82434c6e049d68165256e405e75c10921fd72fa8a65d8d | https://plugins.gradle.org/m2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.pom
-ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478 | https://plugins.gradle.org/m2/org/jetbrains/annotations/13.0/annotations-13…
-965aeb2bedff369819bdde1bf7a0b3b89b8247dd69c88b86375d76163bb8c397 | https://plugins.gradle.org/m2/org/jetbrains/annotations/13.0/annotations-13…
-64583199ea5a54aefd1bd1595288925f784226ee562d1dd279011c6075b3d7a4 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.3.50/ko…
-8745181e5a3e0bafefd46309c6b810df7253f379feb985131eaf8d4d9c302635 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.3.50/ko…
-8ce678e88e4ba018b66dacecf952471e4d7dfee156a8a819760a5a5ff29d323c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3…
-b6396fe802d7bc76a381485e266cb975f3b2f2d3dd9bf7213aab6ca27a561fc1 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3…
-9a026639e76212f8d57b86d55b075394c2e009f1979110751d34c05c5f75d57b | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.5…
-a3aef46388ee96e975110db51df3ab794c87d892bdbc6d5a49bf926e4779438b | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.5…
-1b351fb6e09c14b55525c74c1f4cf48942eae43c348b7bc764a5e6e423d4da0c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.5…
-8674b002f66a2948981c4f6cb5987ec62ff3d54b6a2799a6d2cd23afb83f2ad3 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.5…
-e6f05746ee0366d0b52825a090fac474dcf44082c9083bbb205bd16976488d6c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kot…
-704fd78960ae046428f69bcd5b951c122e4c180c9400238a866e12cb18494a61 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kot…
-1917871c8deb468307a584680c87a44572f5a8b0b98c6d397fc0f5f86596dbe7 | https://plugins.gradle.org/m2/org/jetbrains/trove4j/trove4j/20160824/trove4…
-c94b0b73790c70c709bcd445a01247908888211e38cc59e946ff6fe900785ae9 | https://plugins.gradle.org/m2/org/jetbrains/trove4j/trove4j/20160824/trove4…
-a31ff7d77163c0deb09e7fee59ad35ae44c2cee2cc8552a116ccd1583d813fb4 | https://plugins.gradle.org/m2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.…
-27cb450b6c367a00bd8362519907f84defac7b12086c64d4d6e97e33ab873ead | https://plugins.gradle.org/m2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.…
-2f1a6387219c3a6cc4856481f221b03bd9f2408a326d416af09af5d6f608c1f4 | https://plugins.gradle.org/m2/org/ow2/asm/asm-analysis/6.0/asm-analysis-6.0…
-d3aaf42e40e3e24aabda53b5de4de5e17cb78e06549bf37312dca6c77e251054 | https://plugins.gradle.org/m2/org/ow2/asm/asm-analysis/6.0/asm-analysis-6.0…
-f1bce5c648a96a017bdcd01fe5d59af9845297fd7b79b81c015a6fbbd9719abf | https://plugins.gradle.org/m2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.j…
-90f4f29473afb957229016eb5741954976cc1b67bc049b3981c0d1e653ad5cdd | https://plugins.gradle.org/m2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.p…
-791d064bb9ecc9a46d43bc9efecd74c91464dfc451f321b802d2261e2ccd7d14 | https://plugins.gradle.org/m2/org/ow2/asm/asm-parent/6.0/asm-parent-6.0.pom
-887998fb69727c8759e4d253f856822801e33f9fd4caa566b3ac58ee92106215 | https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.jar
-36887e0d7fdb185a92378a38ea45e596a97f10f385c5d050eb6252454ee701b4 | https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.pom
-356afebdb0f870175262e5188f8709a3b17aa2a5a6a4b0340b04d4b449bca5f6 | https://plugins.gradle.org/m2/org/ow2/asm/asm-util/6.0/asm-util-6.0.jar
-3cdfc61f988d167b97503419da82a5808b20f4205aeb46c394e6e7ffd3211f12 | https://plugins.gradle.org/m2/org/ow2/asm/asm-util/6.0/asm-util-6.0.pom
-dd8971c74a4e697899a8e95caae4ea8760ea6c486dc6b97b1795e75760420461 | https://plugins.gradle.org/m2/org/ow2/asm/asm/6.0/asm-6.0.jar
-c2bc497e197112e699085426bbb45b1ab0be8002da68267a3b1f450a0312c32e | https://plugins.gradle.org/m2/org/ow2/asm/asm/6.0/asm-6.0.pom
-51215c67d2c068d8b7d2f6f80f51372a098075deccc448d4bdd7b987ba8328fb | https://plugins.gradle.org/m2/org/ow2/ow2/1.3/ow2-1.3.pom
+cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2 | https://plugins.gradle.org/m2/org/ow2/asm/asm/9.1/asm-9.1.jar
+c683a90dd68f2b1788cbdfc4647ea9405ef5925b371c199f8fd39d44d3cede8d | https://plugins.gradle.org/m2/org/ow2/asm/asm/9.1/asm-9.1.pom
+0f8a1b116e760b8fe6389c51b84e4b07a70fc11082d4f936e453b583dd50b43b | https://plugins.gradle.org/m2/org/ow2/ow2/1.5/ow2-1.5.pom
b51f8867c92b6a722499557fc3a1fdea77bdf9ef574722fe90ce436a29559454 | https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
-fb40265f982548212ff82e362e59732b2187ec6f0d80182885c14ef1f982827a | https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
-
=====================================
projects/oss-licenses-plugin/sort-dependencies-pr-268.patch
=====================================
@@ -0,0 +1,144 @@
+From 1e7b29bc4db8cbcfc468e3df4a649113efa3b876 Mon Sep 17 00:00:00 2001
+From: Da Risk <da_risk(a)geekorum.com>
+Date: Wed, 17 May 2023 16:42:10 -0400
+Subject: [PATCH 1/2] oss-license-plugin: sort ArtifactInfo into list
+
+This should ensure that the output of third_party_licenses and third_party_licenses_metadata is sorted.
+Sorting the output will make it reproducible regardless of the input ordering.
+---
+ .../oss/licenses/plugin/DependencyTask.groovy | 5 +++--
+ .../gms/oss/licenses/plugin/LicensesTask.groovy | 4 ++--
+ .../oss/licenses/plugin/DependencyTaskTest.java | 17 ++++++++++++-----
+ 3 files changed, 17 insertions(+), 9 deletions(-)
+
+diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
+index c7848735..5dbfbb30 100644
+--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
+@@ -76,7 +76,7 @@ abstract class DependencyTask extends DefaultTask {
+ } as AppDependencies
+ }
+
+- private static Set<ArtifactInfo> convertDependenciesToArtifactInfo(
++ private static List<ArtifactInfo> convertDependenciesToArtifactInfo(
+ AppDependencies appDependencies
+ ) {
+ return appDependencies.libraryList.stream()
+@@ -88,7 +88,8 @@ abstract class DependencyTask extends DefaultTask {
+ library.mavenLibrary.version
+ )
+ }
+- .collect(Collectors.toUnmodifiableSet())
++ .sorted(Comparator.comparing { it.toString() })
++ .collect(Collectors.toUnmodifiableList())
+ }
+
+ private static void initOutput(File outputDir) {
+diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
+index 851846b5..43db6652 100644
+--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
+@@ -107,14 +107,14 @@ abstract class LicensesTask extends DefaultTask {
+ writeMetadata()
+ }
+
+- private static Set<ArtifactInfo> loadDependenciesJson(File jsonFile) {
++ private static List<ArtifactInfo> loadDependenciesJson(File jsonFile) {
+ def allDependencies = new JsonSlurper().parse(jsonFile)
+ def artifactInfoSet = new HashSet<ArtifactInfo>()
+ for (entry in allDependencies) {
+ ArtifactInfo artifactInfo = artifactInfoFromEntry(entry)
+ artifactInfoSet.add(artifactInfo)
+ }
+- artifactInfoSet.asImmutable()
++ artifactInfoSet.toList().asImmutable()
+ }
+
+ private void addDebugLicense() {
+diff --git a/oss-licenses-plugin/src/test/java/com/google/android/gms/oss/licenses/plugin/DependencyTaskTest.java b/oss-licenses-plugin/src/test/java/com/google/android/gms/oss/licenses/plugin/DependencyTaskTest.java
+index e35a5490..50760521 100644
+--- a/oss-licenses-plugin/src/test/java/com/google/android/gms/oss/licenses/plugin/DependencyTaskTest.java
++++ b/oss-licenses-plugin/src/test/java/com/google/android/gms/oss/licenses/plugin/DependencyTaskTest.java
+@@ -29,6 +29,9 @@
+ import java.io.OutputStream;
+ import java.lang.reflect.Type;
+ import java.util.Collection;
++import java.util.Comparator;
++import java.util.List;
++import java.util.stream.Collectors;
+ import org.gradle.api.Project;
+ import org.gradle.testfixtures.ProjectBuilder;
+ import org.junit.Before;
+@@ -84,8 +87,8 @@ public void testAction_valuesConvertedToJson() throws Exception {
+ File outputJson = new File(outputDir, "test.json");
+ dependencyTask.getDependenciesJson().set(outputJson);
+ ImmutableSet<ArtifactInfo> expectedArtifacts = ImmutableSet.of(
+- new ArtifactInfo("org.group.id", "artifactId", "1.0.0"),
+- new ArtifactInfo("org.group.other", "other-artifact", "3.2.1")
++ new ArtifactInfo("org.group.other", "other-artifact", "3.2.1"),
++ new ArtifactInfo("org.group.id", "artifactId", "1.0.0")
+ );
+ AppDependencies appDependencies = createAppDependencies(expectedArtifacts);
+ File protoFile = writeAppDependencies(appDependencies, temporaryFolder.newFile());
+@@ -102,8 +105,8 @@ public void testAction_withNonMavenDeps_nonMavenDepsIgnored() throws Exception {
+ File outputJson = new File(outputDir, "test.json");
+ dependencyTask.getDependenciesJson().set(outputJson);
+ ImmutableSet<ArtifactInfo> expectedArtifacts = ImmutableSet.of(
+- new ArtifactInfo("org.group.id", "artifactId", "1.0.0"),
+- new ArtifactInfo("org.group.other", "other-artifact", "3.2.1")
++ new ArtifactInfo("org.group.other", "other-artifact", "3.2.1"),
++ new ArtifactInfo("org.group.id", "artifactId", "1.0.0")
+ );
+ AppDependencies appDependencies = createAppDependencies(expectedArtifacts).toBuilder()
+ .addLibrary(Library.getDefaultInstance()) // There aren't any other library types supported.
+@@ -131,11 +134,15 @@ public void testAction_depFileAbsent_writesAbsentDep() throws Exception {
+ private void verifyExpectedDependencies(ImmutableSet<ArtifactInfo> expectedArtifacts,
+ File outputJson) throws Exception {
+ Gson gson = new Gson();
++ List<ArtifactInfo> expectedArtifactsSorted = expectedArtifacts
++ .stream()
++ .sorted(Comparator.comparing(ArtifactInfo::toString))
++ .collect(Collectors.toUnmodifiableList());
+ try (FileReader reader = new FileReader(outputJson)) {
+ Type collectionOfArtifactInfo = new TypeToken<Collection<ArtifactInfo>>() {
+ }.getType();
+ Collection<ArtifactInfo> jsonArtifacts = gson.fromJson(reader, collectionOfArtifactInfo);
+- assertThat(jsonArtifacts).containsExactlyElementsIn(expectedArtifacts);
++ assertThat(jsonArtifacts).containsExactlyElementsIn(expectedArtifactsSorted).inOrder();
+ }
+ }
+
+
+From 0ae426b1fe52ef70770d10050402413a22bd8dba Mon Sep 17 00:00:00 2001
+From: Da Risk <da_risk(a)geekorum.com>
+Date: Fri, 19 May 2023 21:22:26 -0400
+Subject: [PATCH 2/2] oss-license-plugin: Sort dependencies loaded for
+ LicensesTask
+
+---
+ .../android/gms/oss/licenses/plugin/LicensesTask.groovy | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
+index 43db6652..7dac8aae 100644
+--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
+@@ -25,6 +25,7 @@ import org.gradle.api.tasks.OutputFile
+ import org.gradle.api.tasks.TaskAction
+ import org.slf4j.LoggerFactory
+
++import java.util.stream.Collectors
+ import java.util.zip.ZipEntry
+ import java.util.zip.ZipFile
+
+@@ -114,7 +115,9 @@ abstract class LicensesTask extends DefaultTask {
+ ArtifactInfo artifactInfo = artifactInfoFromEntry(entry)
+ artifactInfoSet.add(artifactInfo)
+ }
+- artifactInfoSet.toList().asImmutable()
++ artifactInfoSet.stream()
++ .sorted(Comparator.comparing { it.toString() })
++ .collect(Collectors.toUnmodifiableList())
+ }
+
+ private void addDebugLicense() {
=====================================
projects/oss-licenses-plugin/sort-dependencies.diff deleted
=====================================
@@ -1,40 +0,0 @@
-diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
-index d6d854d..622072d 100644
---- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
-+++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
-@@ -16,7 +16,7 @@
-
- package com.google.android.gms.oss.licenses.plugin
-
--class ArtifactInfo {
-+class ArtifactInfo implements Comparable<ArtifactInfo> {
- private String group
- private String name
- private String fileLocation
-@@ -47,4 +47,13 @@ class ArtifactInfo {
- String getVersion() {
- return version
- }
-+
-+ String toString() {
-+ return "$group:$name:$version"
-+ }
-+
-+ @Override
-+ int compareTo(ArtifactInfo other) {
-+ return toString().compareTo(other.toString())
-+ }
- }
-diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
-index 75f6527..26a9bf7 100644
---- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
-+++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
-@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory
- */
- class DependencyTask extends DefaultTask {
- protected Set<String> artifactSet = []
-- protected Set<ArtifactInfo> artifactInfos = []
-+ protected TreeSet<ArtifactInfo> artifactInfos = []
- protected static final String LOCAL_LIBRARY_VERSION = "unspecified"
- private static final String TEST_PREFIX = "test"
- private static final String ANDROID_TEST_PREFIX = "androidTest"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] 3 commits: Bug 41494: Update GeckoView build scripts for ESR140.
by Pier Angelo Vendrame (@pierov) 18 Jun '25
by Pier Angelo Vendrame (@pierov) 18 Jun '25
18 Jun '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
124d0464 by Pier Angelo Vendrame at 2025-06-17T15:07:49+02:00
Bug 41494: Update GeckoView build scripts for ESR140.
- - - - -
86c4fa8a by Pier Angelo Vendrame at 2025-06-17T15:08:21+02:00
fixup! Bug 41494: Update GeckoView build scripts for ESR140.
Remove Mozilla's A-S binaries from Gradle dependencies.
- - - - -
59b05b0c by Pier Angelo Vendrame at 2025-06-17T15:08:56+02:00
NOT FOR MERGE: Use a custom git hash for GeckoView.
- - - - -
11 changed files:
- projects/geckoview/build
- projects/geckoview/build_ac_fenix
- projects/geckoview/build_common
- projects/geckoview/config
- projects/geckoview/gradle-dependencies-list.txt
- projects/oss-licenses-plugin/build
- projects/oss-licenses-plugin/build-customization.diff
- projects/oss-licenses-plugin/config
- projects/oss-licenses-plugin/gradle-dependencies-list.txt
- + projects/oss-licenses-plugin/sort-dependencies-pr-268.patch
- − projects/oss-licenses-plugin/sort-dependencies.diff
Changes:
=====================================
projects/geckoview/build
=====================================
@@ -43,7 +43,7 @@ echo "Starting ./mach build $(date)"
# Copy the artifacts to the target directory
# Naming convention is the same as Mozilla uses for their artifacts
cp -a obj-*/dist/*.zip $artifactsdir/target.xpt_artifacts.zip
- cp -a obj-*/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/*/geckoview_example-withGeckoBinaries-*.apk $artifactsdir/geckoview_example.apk
+ cp -a obj-*/gradle/build/mobile/android/geckoview_example/outputs/apk/*/geckoview_example-*.apk $artifactsdir/geckoview_example.apk
./mach python -m mozbuild.action.test_archive common $artifactsdir/target.common.tests.tar.gz
[% END %]
=====================================
projects/geckoview/build_ac_fenix
=====================================
@@ -4,6 +4,8 @@
./mach package-multi-locale --locales en-US $supported_locales
[% END -%]
+objdir=$(cd obj-* && pwd)
+
echo "Building Android Components $(date)"
pushd mobile/android/android-components
gradle $GRADLE_FLAGS assembleGecko -x lint
@@ -40,7 +42,7 @@ gradle $GRADLE_FLAGS -PversionName="$version_name" "assemble$variant"
echo "Build finished, copying the APK(s) to the destination directory $(date)"
mkdir $distdir/[% project %]
-cp app/build/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]
+cp $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]
echo "Building non optimized $variant Fenix APK for testing"
gradle $GRADLE_FLAGS -PversionName="$version_name" -PdisableOptimization "assemble$variant"
@@ -51,8 +53,8 @@ gradle $GRADLE_FLAGS -PversionName="$version_name" -PtestBuildType="$variant" -P
echo "Test build finished, copying the APKs to the destination directory $(date)"
mkdir $distdir/[% project %]/tests
-cp app/build/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]/tests
-cp app/build/outputs/apk/androidTest/fenix/$variant/*.apk $distdir/[% project %]/tests
+cp $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/fenix/$variant/*.apk $distdir/[% project %]/tests
+cp $objdir/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/fenix/$variant/*.apk $distdir/[% project %]/tests
popd
=====================================
projects/geckoview/build_common
=====================================
@@ -48,4 +48,10 @@ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
# Create .mozbuild to avoid interactive prompt in configure
mkdir "$HOME/.mozbuild"
+# mach looks for bundletool and avd only in ~/.mozbuild. Maybe an upstream bug?
+mv $rootdir/[% c("input_files_by_name/bundletool") %] $HOME/.mozbuild/bundletool.jar
+mkdir $HOME/.mozbuild/android-device
+touch $HOME/.mozbuild/android-device/avd
+chmod +x $HOME/.mozbuild/android-device/avd
+
[% INCLUDE 'browser-localization' %]
=====================================
projects/geckoview/config
=====================================
@@ -1,9 +1,11 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'geckoview-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
-git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/browser_branch") %]-build[% c("var/browser_build") %]'
-tag_gpg_id: 1
-git_url: https://gitlab.torproject.org/tpo/applications/tor-browser.git
+# git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/browser_branch") %]-build[% c("var/browser_build") %]'
+# tag_gpg_id: 1
+# git_url: https://gitlab.torproject.org/tpo/applications/tor-browser.git
+git_url: https://gitlab.torproject.org/pierov/tor-browser.git
+git_hash: 72fe94d01ff1
gpg_keyring:
- boklm.gpg
- brizental.gpg
@@ -37,9 +39,12 @@ var:
- openjdk-17-jdk-headless
# this should be updated when the list of gradle dependencies is changed
# see doc/how-to-create-gradle-dependencies-list.txt
- gradle_dependencies_version: 16
- gradle_version: 8.8
+ gradle_dependencies_version: 17
+ gradle_version: 8.13
glean_parser: 14.0.1
+ # python/mozboot/mozboot/android.py
+ bundletool_version: 1.18.1
+ bundletool_hash: 675786493983787ffa11550bdb7c0715679a44e1643f3ff980a529e9c822595c
variant: beta
has_l10n: '[% !c("var/testbuild") && !c("var/locales").empty %]'
l10n-changesets: '[% exec("git --no-pager show " _ c("git_hash") _ ":browser/locales/l10n-changesets.json", { exec_noco => 1 }) %]'
@@ -49,7 +54,7 @@ targets:
var:
variant: release
nightly:
- git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/browser_branch") %]'
+ # git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/browser_branch") %]'
tag_gpg_id: 0
var:
variant: nightly
@@ -121,9 +126,12 @@ steps:
- project: oss-licenses-plugin
name: oss-licenses-plugin
pkg_type: build
+ - URL: 'https://github.com/google/bundletool/releases/download/[% c("var/bundletool_version") %]/bundletool-all-[% c("var/bundletool_version") %].jar'
+ name: bundletool
+ sha256sum: '[% c("var/bundletool_hash") %]'
list_toolchain_updates:
- git_hash: tor-browser-128.0b1-14.0-1
+ git_hash: tor-browser-140.0a1-15.0-1
tag_gpg_id: 0
input_files: []
container:
@@ -173,3 +181,6 @@ input_files:
pkg_type: tor-browser
enable: '[% c("var/android_single_arch") && c("var/has_l10n") %]'
- filename: rename-branding-strings.py
+ - URL: 'https://github.com/google/bundletool/releases/download/[% c("var/bundletool_version") %]/bundletool-all-[% c("var/bundletool_version") %].jar'
+ name: bundletool
+ sha256sum: '[% c("var/bundletool_hash") %]'
=====================================
projects/geckoview/gradle-dependencies-list.txt
=====================================
The diff for this file was not included because it is too large.
=====================================
projects/oss-licenses-plugin/build
=====================================
@@ -12,9 +12,10 @@ export PATH=/var/tmp/dist/gradle/bin:$PATH
gradle_repo=/var/tmp/dist/gradle-dependencies
mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo
cp -rl $gradle_repo/m2/* $gradle_repo || true
+cp -rl $gradle_repo/dl/android/maven2/* $gradle_repo || true
cd $builddir
-patch -p2 < $rootdir/sort-dependencies.diff
+patch -p2 < $rootdir/sort-dependencies-pr-268.patch
patch -p2 < $rootdir/build-customization.diff
gradle --no-daemon --offline -Dmaven.repo.local=$gradle_repo assemble publish
cd build/repo
=====================================
projects/oss-licenses-plugin/build-customization.diff
=====================================
@@ -1,17 +1,17 @@
diff --git a/oss-licenses-plugin/build.gradle b/oss-licenses-plugin/build.gradle
-index 2a7dd74..f9368e1 100644
+index 863625c..65ad088 100644
--- a/oss-licenses-plugin/build.gradle
+++ b/oss-licenses-plugin/build.gradle
-@@ -15,34 +15,25 @@ dependencies {
+@@ -20,34 +20,25 @@ dependencies {
group = 'com.google.android.gms'
- version = '0.10.4'
+ version = '0.10.6'
-apply plugin: 'maven'
+apply plugin: 'maven-publish'
repositories {
google()
- jcenter()
+ mavenCentral()
+ mavenLocal()
}
=====================================
projects/oss-licenses-plugin/config
=====================================
@@ -1,12 +1,12 @@
-version: 0.10.4
+version: 0.10.6
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
git_url: https://github.com/google/play-services-plugins.git
-git_hash: c9ed0e48abe2c55dd67f2c2224988d1d690cecc9 # oss-licenses-plugin-v0.10.4
+git_hash: 45ec9c690672f0ff6f86e6221ef64e204b10a228 # oss-licenses-plugin-v0.10.6
var:
# This should be updated when the list of gradle dependencies is changed.
- gradle_dependencies_version: 1
- gradle_version: 8.8
+ gradle_dependencies_version: 2
+ gradle_version: 8.13
container:
use_container: 1
@@ -18,5 +18,5 @@ input_files:
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
+ - filename: sort-dependencies-pr-268.patch
- filename: build-customization.diff
- - filename: sort-dependencies.diff
=====================================
projects/oss-licenses-plugin/gradle-dependencies-list.txt
=====================================
@@ -1,207 +1,37 @@
# On how to update dependencies see doc/how-to-create-gradle-dependencies-list.txt
# Don't forget to update var/gradle_dependencies_version when modifying this file
sha256sum | url
-408d8ed48da2b7b2c8f7216906c1b76a1ecdb9c165cdb52c9eeb32af0cc67f0f | https://maven.google.com/androidx/databinding/databinding-common/3.5.1/data…
-008e3641392787bd3f6e5fe3a56457379cbba8be62ae5a91ba982b7e534a2b37 | https://maven.google.com/androidx/databinding/databinding-common/3.5.1/data…
-b6235dd4ff7457f517e30479fe050a2ae27a2b3ef8ae33d44d9a3d2197911779 | https://maven.google.com/androidx/databinding/databinding-compiler-common/3…
-4a3bfe5d22a4df2490f6180ef1e22a2ea189f42676532d6d7d6ece9b57a2c506 | https://maven.google.com/androidx/databinding/databinding-compiler-common/3…
-4b698a77c578215a7f746e93422757a8e4d6ee9c8a29fdd9f994712f723604ed | https://maven.google.com/com/android/databinding/baseLibrary/3.5.1/baseLibr…
-6659dd657846c519b12ad701815f2009f8d9991c798ca3a5a628e163987aecab | https://maven.google.com/com/android/databinding/baseLibrary/3.5.1/baseLibr…
-9e9618ed7f1d24df2a4365e1719d630d8ac9c2dd31bea3343157a4ae5efa7fb9 | https://maven.google.com/com/android/tools/analytics-library/crash/26.5.1/c…
-215d75a04ddcfa897e12f3c4d204f24e94214385f1f11ddcea4ddcd56ddb5243 | https://maven.google.com/com/android/tools/analytics-library/crash/26.5.1/c…
-8dde1130725461fe827f2a343d353f2b51e8870661fc860d7d5ebddb097ead4e | https://maven.google.com/com/android/tools/analytics-library/protos/26.5.1/…
-7b042861662b26a41e8f71a093cffc78dd8eb746e5ab98a645e1dcf49612bd0a | https://maven.google.com/com/android/tools/analytics-library/protos/26.5.1/…
-ccc2f3b00ec17b11401610ba68553544fc8fc517120e84439ac6eb86b875e18d | https://maven.google.com/com/android/tools/analytics-library/shared/26.5.1/…
-727842ddf56dbf158091a4f113005ec0e2d04ae2c066d7ede9b65ce6a9131aa8 | https://maven.google.com/com/android/tools/analytics-library/shared/26.5.1/…
-3a76984c0fe2e847ca7a8b35b4780ef0447a9d1666946cb8e60466318e0ab5ae | https://maven.google.com/com/android/tools/analytics-library/tracker/26.5.1…
-6327d446e6c59adacad78265fc61ac09ddcb751fe4e62b3697dc9d6534c0c451 | https://maven.google.com/com/android/tools/analytics-library/tracker/26.5.1…
-2c43c82f8c59d8f7a61e3239e1a2dc9f69dc342ec09af9b7c9f69b25337c0b6e | https://maven.google.com/com/android/tools/annotations/26.5.1/annotations-2…
-3caa859d7b198f9f429f50874921f5e05f105112400eed666d5e56a0e8417e09 | https://maven.google.com/com/android/tools/annotations/26.5.1/annotations-2…
-fac0435e08898f89eeeb9ca236bea707155ff816c12205ced285ad53604133ca | https://maven.google.com/com/android/tools/build/aapt2-proto/0.4.0/aapt2-pr…
-a24bdd4e8e374fdcd8cef8d77ea723f147ccd0f25dc6de4fbe290039be904339 | https://maven.google.com/com/android/tools/build/aapt2-proto/0.4.0/aapt2-pr…
-1fd33e7f009a2a0da766cfeec4211a09f548034b015c289a66d75dd8a9302f4a | https://maven.google.com/com/android/tools/build/apksig/3.5.1/apksig-3.5.1.…
-4c9f03d9fbc5accffafd56b0ae677d41ea0a395980a2cc052a7bcefccb2483a9 | https://maven.google.com/com/android/tools/build/apksig/3.5.1/apksig-3.5.1.…
-9f330167cbe973b7db407692f74f4f6453b7ffa5f2048934b06280c2ceee60fa | https://maven.google.com/com/android/tools/build/apkzlib/3.5.1/apkzlib-3.5.…
-f299c423220ae47404b9013e54caec84ea64f45f69885e4dc0e2e66b7095e33e | https://maven.google.com/com/android/tools/build/apkzlib/3.5.1/apkzlib-3.5.…
-39ea3c82b76b6e0c9f9fa88d93e0edc1dd4a0f1dfae0ef6fbf2d451da47e5450 | https://maven.google.com/com/android/tools/build/builder-model/3.5.1/builde…
-466e5005cf0a7c7bad8991b14c70b04457b77d28195ec04ec2baf6495e88f4a2 | https://maven.google.com/com/android/tools/build/builder-model/3.5.1/builde…
-a1b59305584cbcaa078fdc9cfb80871012755b822dd32e8da19add6f7bbcb762 | https://maven.google.com/com/android/tools/build/builder-test-api/3.5.1/bui…
-704e2ad557e5659b98bb8955fbab20977cddb09c06e72825cf2516635424b8cb | https://maven.google.com/com/android/tools/build/builder-test-api/3.5.1/bui…
-e3a8d382434c5f60990730c4719fc814e85a898a33a1e96c1df8d627d3c6eea6 | https://maven.google.com/com/android/tools/build/builder/3.5.1/builder-3.5.…
-aa0092dd227856f6a9c42df1f6ae14ba8a5bde16ea77d760e48c25e575d31668 | https://maven.google.com/com/android/tools/build/builder/3.5.1/builder-3.5.…
-50c44557ca75b068e364ac35a648b81eeba7639ab5eb04036e390c727ad2fa3d | https://maven.google.com/com/android/tools/build/bundletool/0.9.0/bundletoo…
-124e124227803689b71da7440f0dbdff71cbb4c661a18e0f4e2e0d3a80d367c2 | https://maven.google.com/com/android/tools/build/bundletool/0.9.0/bundletoo…
-be9b41859bace11998f66b04ed944f87e413f3ad6da3c4665587699da125addc | https://maven.google.com/com/android/tools/build/gradle-api/3.5.1/gradle-ap…
-e977170f2bf4fdf335d924f8bf94eea54c54422f74f8915fc8d592dc9a226eb8 | https://maven.google.com/com/android/tools/build/gradle-api/3.5.1/gradle-ap…
-fe188188002bbb2e51c7db6da1ed03fc82af8f3be1a33991d38381837bc6708a | https://maven.google.com/com/android/tools/build/gradle/3.5.1/gradle-3.5.1.…
-b4a5b3db612b70ad8ba1b22bc469444d946bcd60e399f97ee6e498d195239c84 | https://maven.google.com/com/android/tools/build/gradle/3.5.1/gradle-3.5.1.…
-c9f8b016144cfb31c5aee92d47f34de23289167cac5e8ef68365b2dd05766f11 | https://maven.google.com/com/android/tools/build/jetifier/jetifier-core/1.0…
-db025ad1bbc6896edf0f67cda1222ba9b7ec9a0187df7f4fd0a318475c758e4e | https://maven.google.com/com/android/tools/build/jetifier/jetifier-core/1.0…
-1dd481e7606ccb30868908d9ae80f27d1c5ba882f792532bd91ed731c54f4efb | https://maven.google.com/com/android/tools/build/jetifier/jetifier-processo…
-4973a6c6d7f89297a1cfea56c623cea72b3db3b4a49992afa00dd77ac052b89f | https://maven.google.com/com/android/tools/build/jetifier/jetifier-processo…
-dcad9ecb967251f4d750f55a4204a2b400e8fbfe5cb930a1d0d5dbe10ae8bdfc | https://maven.google.com/com/android/tools/build/manifest-merger/26.5.1/man…
-0dfcac2f9fa87c1742945875ef1e6f9fbade2149426502323c40eb01c05a7e36 | https://maven.google.com/com/android/tools/build/manifest-merger/26.5.1/man…
-4de4a3d05e1c534c2db9e4588bf34082bb2bd232d8abb9727c430290ce225740 | https://maven.google.com/com/android/tools/build/transform-api/2.0.0-deprec…
-7c62f3856e8abca1d79257925f26c12668693f5d95904056bbac88605cfd8575 | https://maven.google.com/com/android/tools/build/transform-api/2.0.0-deprec…
-eccfa54486ed54c4e3123cc42195d023bd0dd21bcd2f0e4868e8c6fc70f8ef6b | https://maven.google.com/com/android/tools/common/26.5.1/common-26.5.1.jar
-4492eb509dc784ca5e1600a2b0505ad1468bed4d116220fca67f34b49ac18ffb | https://maven.google.com/com/android/tools/common/26.5.1/common-26.5.1.pom
-b081aef2a4ed3f4d47cae4cdb128469735f25a114e026d37123bf9ffdec742a8 | https://maven.google.com/com/android/tools/ddms/ddmlib/26.5.1/ddmlib-26.5.1…
-a6e4693d05779c25cbfbbf4e67f96150c4de3d398ae3ed6a38f786971eb89634 | https://maven.google.com/com/android/tools/ddms/ddmlib/26.5.1/ddmlib-26.5.1…
-46f93ad498b4756e7d867d2fe38c38890a80e7407a4ae459e4a8c8d5c5aeacfe | https://maven.google.com/com/android/tools/dvlib/26.5.1/dvlib-26.5.1.jar
-1d5f88a4eb1c76901bc7b19af2311418a3f259d0f68756b058df850b1e8f913f | https://maven.google.com/com/android/tools/dvlib/26.5.1/dvlib-26.5.1.pom
-88732f11396c427273e515d23042e35633f4fe4295528a99b866aa2adf0efd9c | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.5.1/l…
-63832aa426428edb1a9ad7b1fc06c8ecf8f38b98041c13bfe433ac46688e5ed8 | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.5.1/l…
-82453fd98a8394cc84ed995c04d2cd744abd1d6589403427ba7eef53115406f3 | https://maven.google.com/com/android/tools/lint/lint-gradle-api/26.5.1/lint…
-2ddefa31501b320b366a0d18ba169118be7073d04c9337dd77bdc4ebd4ced959 | https://maven.google.com/com/android/tools/lint/lint-gradle-api/26.5.1/lint…
-2b3ee791aa4c3e8ce60498c161a27ca7228816fc630eed4d9f25f2f36a106dce | https://maven.google.com/com/android/tools/repository/26.5.1/repository-26.…
-8312471ec5165d599404e2225157c5639bdd9ad5c6980f79b1c1c4b517ff93b3 | https://maven.google.com/com/android/tools/repository/26.5.1/repository-26.…
-365f749676c3574676fd465177c8a492f340816db2b520d6ed114d3b6e77bea7 | https://maven.google.com/com/android/tools/sdk-common/26.5.1/sdk-common-26.…
-33b0649ae6e3dd95340123c462f6ef32992ee858e6e132f45bb7dec332627d59 | https://maven.google.com/com/android/tools/sdk-common/26.5.1/sdk-common-26.…
-007da104afb27c8c682a1628023fe9ec438249c8d15ef0fd6624c5bb8e23b696 | https://maven.google.com/com/android/tools/sdklib/26.5.1/sdklib-26.5.1.jar
-3f5ee952ea6a07767688a464c545354fbbce296419973397e65280142914b2a4 | https://maven.google.com/com/android/tools/sdklib/26.5.1/sdklib-26.5.1.pom
-feab9191311c3d7aeef2b66d6064afc80d3d1d52d980fb07ae43c78c987ba93a | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/1.3.9/jsr305-…
-766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7 | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-…
-19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-…
-8f1fec72b91a71ea39ec39f5f778c4d1124b6b097c6d55b3a50b554a52237b27 | https://plugins.gradle.org/m2/com/google/code/gson/gson-parent/2.8.5/gson-p…
-233a0149fc365c9f6edbd683cfe266b19bdc773be98eabdaf6b3c924b48e7d81 | https://plugins.gradle.org/m2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar
-b8308557a7fccc92d9fe7c8cd0599258b361285d2ecde7689eda98843255a092 | https://plugins.gradle.org/m2/com/google/code/gson/gson/2.8.5/gson-2.8.5.pom
-6ebd22ca1b9d8ec06d41de8d64e0596981d9607b42035f9ed374f9de271a481a | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_annotations…
-5e0258ea1ba4e51a133742680bc22448f7ab214be4073e8619f645ef1be42dd5 | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_annotations…
-c460902ddf5ece68832c6b271ce52a0928b05cf3a6ac81a8f548c73cbd541138 | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_parent/2.2.…
-cd6db17a11a31ede794ccbd1df0e4d9750f640234731f21cff885a9997277e81 | https://plugins.gradle.org/m2/com/google/google/1/google-1.pom
-a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26 | https://plugins.gradle.org/m2/com/google/guava/failureaccess/1.0.1/failurea…
-e96042ce78fecba0da2be964522947c87b40a291b5fd3cd672a434924103c4b9 | https://plugins.gradle.org/m2/com/google/guava/failureaccess/1.0.1/failurea…
-f8698ab46ca996ce889c1afc8ca4f25eb8ac6b034dc898d4583742360016cc04 | https://plugins.gradle.org/m2/com/google/guava/guava-parent/26.0-android/gu…
-317e88291262e0cf2805e956c18850f1d4565c85c2e1112f5d9d08ab1732e696 | https://plugins.gradle.org/m2/com/google/guava/guava-parent/27.0.1-jre/guav…
-e1c814fd04492a27c38e0317eabeaa1b3e950ec8010239e400fe90ad6c9107b4 | https://plugins.gradle.org/m2/com/google/guava/guava/27.0.1-jre/guava-27.0.…
-6a8dd041f23a6bb14a86e440fccb993537b62271357a0dac0a3cb0ff39158f36 | https://plugins.gradle.org/m2/com/google/guava/guava/27.0.1-jre/guava-27.0.…
-b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99 | https://plugins.gradle.org/m2/com/google/guava/listenablefuture/9999.0-empt…
-18d4b1db26153d4e55079ce1f76bb1fe05cdb862ef9954a88cbcc4ff38b8679b | https://plugins.gradle.org/m2/com/google/guava/listenablefuture/9999.0-empt…
-2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6 | https://plugins.gradle.org/m2/com/google/j2objc/j2objc-annotations/1.1/j2ob…
-f0c98c571e93a7cb4dd18df0fa308f0963e7a0620ac2d4244e61e709d03ad6be | https://plugins.gradle.org/m2/com/google/j2objc/j2objc-annotations/1.1/j2ob…
-c71555751e57e0ef912870e8ac9625ae782502a6a5b9c19ccf83b2a97d8b26bd | https://plugins.gradle.org/m2/com/google/jimfs/jimfs-parent/1.1/jimfs-paren…
-c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd | https://plugins.gradle.org/m2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar
-efa86e5cd922f17b472fdfcae57234d8d4ac3e148b6250737dfce454af7a7a44 | https://plugins.gradle.org/m2/com/google/jimfs/jimfs/1.1/jimfs-1.1.pom
-4189e0be5ab15cf2330f70b24fbdc75ca37514f188388fce8580ce16a9a68052 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java-util/3.4.0/…
-89c43073e7eaa0eaba72a4a36ae1b6bfdfe5d81bb9d0e156aee05e4a72de3cb8 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java-util/3.4.0/…
-dce7e66b32456a1b1198da0caff3a8acb71548658391e798c79369241e6490a4 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.4.0/proto…
-83f17ba86c5fa1a15a3a3c8030d4ce42ef21c1d39b65db6cc004a8eeb2c59406 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.4.0/proto…
-24909c552842c0eb7a4c769d631a43cbef5a9a10c1640f2bdbd1ea149c573a47 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-parent/3.4.0/pro…
-2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439 | https://plugins.gradle.org/m2/com/googlecode/json-simple/json-simple/1.1/js…
-47a89be0fa0fedd476db5fd2c83487654d2a119c391f83a142be876667cf7dab | https://plugins.gradle.org/m2/com/googlecode/json-simple/json-simple/1.1/js…
-757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76 | https://plugins.gradle.org/m2/com/googlecode/juniversalchardet/juniversalch…
-7846399b35c7cd642a9b3a000c3e2d62d04eb37a4547b6933cc8b18bcc2f086b | https://plugins.gradle.org/m2/com/googlecode/juniversalchardet/juniversalch…
-8e108c92027bb428196f10fa11cffbe589f7648a6af2016d652279385fdfd789 | https://plugins.gradle.org/m2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.jar
-b3760f40f19e735b2cd418f7656335d926d1d9413e10982a1c9695b64edbb647 | https://plugins.gradle.org/m2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.pom
+33c839e4236eabde3896c154d120d651e72064f393e456297c92041d00cc058e | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.…
+67a8f20626121a8e4f48fc63a392c0459173a9992eb35cc9c9c3ec82b882862c | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.…
+8529eca8d75767050751f7674338548f591a234333179d9b5ad66c6feaf00d42 | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.…
+0e46a02577de7cbad380679e565f73d537205e0c38c2894bfe122ad1ee79e516 | https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/7.1…
+c2d09468c92bd306272ed6f2c7b5ac2507ede7222e4b677a5ba887e06e89c5bb | https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/7.1…
+fa9f433e60e4f330e763f4f1920f8bda5d1f835d17ac1bd9b92d2a139a4a8269 | https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/7.1…
+5e14677ed7c265731a4cb4ec99e1f352daaafb596f21f88e367220b3554b1a25 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-mod…
+76ade53f054bb250e93cbd29d82e1c9736ea64663d8faebef0f7deb3f1a08c3c | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-mod…
+4f430764d6dd337aeb94b5b6a307398831c0eaf276a3f639ecdb583819483d08 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-mod…
+6d43939f77996074552a72422924bc3644da6035a936d2c7d1326abe7ae1443e | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/7.1…
+c90102982348647fc58993b00ed675a1f92b50dc9c38563fd594b8cff3c67254 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/7.1…
+29a092c1ee48d09f36870f7b95688d05eff6784baac752e9b91ea1acfb1c358e | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/7.1…
+9c5ed0e13a6e8b426341cd32dcab2dd5b54c52e701a135b4227ccfe8ef3266bf | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/…
+d710594e89c561be3e7aba56b8e5a5690ebbdf82ad6d07019c2e271f39669ea8 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/…
+4545a1e6e1992613ee49df0d1395be89d625333adcf2db206af652586fbde26c | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/…
+621329051b4261fd390b33607523e123962ad3ad6b91929f37b23187caaa9309 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.1.…
+05ee8a6fc8b68e140133c4d9547e4790661737359c0d27b142b6fbc44bbe2a02 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.1.…
+91db6b029dc8b00570c77418f7a28839517bc9cb5a14ab562885b4bcf61efbd5 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.1.…
+cb36c736ed2ac922e6655ef5c56c34068e63b7d9bd749920b67592859c1e4d81 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-me…
+5b3b27f624a969fd35d3aa7aef91499862a445c13aece4233b1a103a42bc8be3 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-me…
+877dddbbb9e3f045bd835e21c59795cdad1332600354b773a886d25f2544d9c9 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-me…
+f35a8af6babede30bd48bf98d02d2499725f0902d56aeabe778da256b76d0768 | https://dl.google.com/dl/android/maven2/com/android/zipflinger/7.1.0/zipfli…
+88f6f0603aa947fa206e40ea03ea7e019a58eddb3a5a8f19cdab9849b4ad26e0 | https://dl.google.com/dl/android/maven2/com/android/zipflinger/7.1.0/zipfli…
+2c1c70bc240ab779ab4c07d19390c623d05e759c80653fbcdef2eeac299f00ab | https://dl.google.com/dl/android/maven2/com/android/zipflinger/7.1.0/zipfli…
+96623d7afc374800cfdc4eb1e49efdb1b17d762fbe9c7de0e46980de14473170 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-bom/3.19.1/proto…
+24f7d0d91797ed230a6d3da93cd80590a4c3aa9a27249f6025b5c6da078edde7 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.19.1/prot…
+5de4666f7f6b003d982f48f18c8e22facef6707365a74e20df7cbad98c931dd7 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.19.1/prot…
+83d413b2a79d6357d2ca78fd623143424e8f6ecc72cfa83bf2ae2ae258a93a44 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-parent/3.19.1/pr…
fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0 | https://plugins.gradle.org/m2/com/squareup/javawriter/2.5.0/javawriter-2.5.…
e1abd7f1116cf5e0c59947693e2189208ec94296b2a3394c959e3511d399a7b0 | https://plugins.gradle.org/m2/com/squareup/javawriter/2.5.0/javawriter-2.5.…
-1d8518e3ac7532a104e4f7be77def37c982e530723c6bdb3d67708cce2b0c2c4 | https://plugins.gradle.org/m2/com/sun/activation/all/1.2.0/all-1.2.0.pom
-993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce | https://plugins.gradle.org/m2/com/sun/activation/javax.activation/1.2.0/jav…
-f879b6e945854c6900b0dbee1c8384d7ab3de7e157fd7ac84937405c416d2a5e | https://plugins.gradle.org/m2/com/sun/activation/javax.activation/1.2.0/jav…
-c33e67a0807095f02a0e2da139412dd7c4f9cc1a4c054b3e434f96831ba950f4 | https://plugins.gradle.org/m2/com/sun/istack/istack-commons-runtime/2.21/is…
-ebe7137b5fbfd050545f9a7f3f339ae55beb0b53755071b4fd62aa024c626d1c | https://plugins.gradle.org/m2/com/sun/istack/istack-commons-runtime/2.21/is…
-c3071277f89b162982606b4e65c92077212efb6cbf1bdc365c51bd0b57ac818c | https://plugins.gradle.org/m2/com/sun/istack/istack-commons/2.21/istack-com…
-b25e0693de21cb92b039a2e4608f396590fb8773108f10d6dc9f1465f03b5be9 | https://plugins.gradle.org/m2/com/sun/xml/bind/jaxb-bom-ext/2.2.11/jaxb-bom…
-b5301b711c01547e571b615f9a0832ee525d34a4ce3372f53907a87cf20b0480 | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-parent/2.2.11/jaxb-…
-21918cb8e4eda67f24251e909a5d81672201d93604c4ffbf33522ad836a58e90 | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.2.…
-9a398c699a5d3f3b56f1056c68890ede25d94a12d98eabc2a473733e6ab2362c | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.2.11/j…
-27a77db909f3c2833c0b1a37c55af1db06045118ad2eed96ce567b6632bce038 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/Fa…
-b7505e0ecf7d495b4daa3e6569f71611d1a789dc531cbd92a2025922ff2655d3 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/Fa…
-fd0857899f1067e0287c2ffd91e38f967a26bd405b83a34650c2742cee9fc261 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/fastinfoset-project/1…
-4241dfa94e711d435f29a4604a3e2de5c4aa3c165e23bd066be6fc1fc4309569 | https://plugins.gradle.org/m2/commons-codec/commons-codec/1.10/commons-code…
-bdb8db7012d112a6e3ea8fdb7c510b300d99eff0819d27dddba9c43397ea4cfb | https://plugins.gradle.org/m2/commons-codec/commons-codec/1.10/commons-code…
-cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581 | https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.jar
-b2b5dd46cf998fa626eb6f8a1c114f6167c8d392694164e62533e5898e9b31f2 | https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.pom
-daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636 | https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-l…
-c91ab5aa570d86f6fd07cc158ec6bc2c50080402972ee9179fe24100739fbb20 | https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-l…
-74fa208043740642f7e6eb09faba15965218ad2f50ce3020efb100136e4b591c | https://plugins.gradle.org/m2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.jar
-953b116521a73575eee990e3f2c36a892fb088bb2d9a3027c82193cb7a013ef7 | https://plugins.gradle.org/m2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.pom
-91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff | https://plugins.gradle.org/m2/javax/inject/javax.inject/1/javax.inject-1.jar
-943e12b100627804638fa285805a0ab788a680266531e650921ebfe4621a8bfa | https://plugins.gradle.org/m2/javax/inject/javax.inject/1/javax.inject-1.pom
-b5e60cd8b7b5ff01ce4a74c5dd008f4fbd14ced3495d0b47b85cfedc182211f2 | https://plugins.gradle.org/m2/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/j…
-2092a7d8d9bc5698c59b094bdea46622915c48c83ae66d5b5ad549c7bf16155b | https://plugins.gradle.org/m2/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/j…
-281440811268e65d9e266b3cc898297e214e04f09740d0386ceeb4a8923d63bf | https://plugins.gradle.org/m2/net/java/jvnet-parent/1/jvnet-parent-1.pom
-30f5789efa39ddbf96095aada3fc1260c4561faf2f714686717cb2dc5049475a | https://plugins.gradle.org/m2/net/java/jvnet-parent/3/jvnet-parent-3.pom
-471395735549495297c8ff939b9a32e08b91302020ff773586d27e497abb8fbb | https://plugins.gradle.org/m2/net/java/jvnet-parent/4/jvnet-parent-4.pom
-26c5856e954b5f864db76f13b86919b59c6eecf9fd930b96baa8884626baf2f5 | https://plugins.gradle.org/m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simpl…
-7af7e2d8b24b4798f04c2b7da24c9fbd1b7557b4e017c2054481565916079092 | https://plugins.gradle.org/m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simpl…
-f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2 | https://plugins.gradle.org/m2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar
-31ce606f4e9518936299bb0d27c978fa61e185fd1de7c9874fe959a53e34a685 | https://plugins.gradle.org/m2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.pom
-75bc89695fa66e75374ecda439b802406f0ab1d826dd386eed0a23b1f0a9d264 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-base/6.0.3/proguard-…
-2a823d79f2675582a988d539466d1b175e939782efbe0f6e61f06cb165ed4907 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-base/6.0.3/proguard-…
-cc12b1168e521491dd0e687cfebec11a4af874b22af70e10cf2a05b47ca00c8f | https://plugins.gradle.org/m2/net/sf/proguard/proguard-gradle/6.0.3/proguar…
-5a5c7317d68ce80d1d40c9d8bd4e38814d42d1b16c265146e333634833a35a57 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-gradle/6.0.3/proguar…
-d87266bfd2312c3b036c4ac709310afa35c448ceb18027c3b87a33d03c6de0a0 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-parent/6.0.3/proguar…
-401877d5e70ad599e9b6cff18434ea0332f637b51f8ec68352646c836f9bb2a4 | https://plugins.gradle.org/m2/org/antlr/antlr4-master/4.5.3/antlr4-master-4…
-a32de739cfdf515774e696f91aa9697d2e7731e5cb5045ca8a4b657f8b1b4fb4 | https://plugins.gradle.org/m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar
-8a4e4b32eedaa72976a757e12cf1dfe742725db0b7311bf176dd937ba4236384 | https://plugins.gradle.org/m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom
-ff513db0361fd41237bef4784968bc15aae478d4ec0a9496f811072ccaf3841d | https://plugins.gradle.org/m2/org/apache/apache/13/apache-13.pom
-36c2f2f979ac67b450c0cb480e4e9baf6b40f3a681f22ba9692287d1139ad494 | https://plugins.gradle.org/m2/org/apache/apache/15/apache-15.pom
-9f85ff2fd7d6cb3097aa47fb419ee7f0ebe869109f98aba9f4eca3f49e74a40e | https://plugins.gradle.org/m2/org/apache/apache/16/apache-16.pom
-7831307285fd475bbc36b20ae38e7882f11c3153b1d5930f852d44eda8f33c17 | https://plugins.gradle.org/m2/org/apache/apache/18/apache-18.pom
-4946e60a547c8eda69f3bc23c5b6f0dadcf8469ea49b1d1da7de34aecfcf18dd | https://plugins.gradle.org/m2/org/apache/apache/9/apache-9.pom
-2c1542faf343185b7cab9c3d55c8ae5471d6d095d3887a4adefdbdf2984dc0b6 | https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.12/comm…
-b787d574c851505e76212968b9ae1641ea79804aef7f5a2cee2a01cd4055213a | https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.12/comm…
-467ae650442e876867379094e7518dfdd67d22c5352ebd39808c84259e9790ba | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/25/commons-…
-3a2e69d06d641d1f3b293126dc9e2e4ea6563bf8c36c87e0ab6fa4292d04b79c | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/34/commons-…
-7098a1ab8336ecd4c9dc21cbbcac869f82c66f64b8ac4f7988d41b4fcb44e49a | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/35/commons-…
-87cd27e1a02a5c3eb6d85059ce98696bb1b44c2b8b650f0567c86df60fa61da7 | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/39/commons-…
-c03f813195e7a80e3608d0ddd8da80b21696a4c92a6a2298865bf149071551c7 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.5.6/ht…
-7efc1241e73e7fbb268bfd33242d11ebd3ca07061d7d85f2962dc32a0f0b8855 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.5.6/ht…
-b042b41f2391edb00d35f7f4e509aed2123648c1d246ce58d0f7b905c9fe1f73 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-clie…
-61e9427d4be326c307a7f16ba828d1cb3b14713c9b04fc8ba992a58f376c3136 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-core…
-caaf967d94afb21753f36082c6086206bd1f48825ff596932cceba72b65d39fa | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-pare…
-78ba1096561957db1b55200a159b648876430342d15d461277e62360da19f6fd | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.4.10/htt…
-c5c12066df2b3b88a89a2c8602b81ea9a61627e976e5129eea1899ebbaea392b | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.4.10/htt…
-0b2b1102c18d3c7e05a77214b9b7501a6f6056174ae5604e0e256776eda7553e | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpmime/4.5.6/http…
-dfbfd6ffe2a784ca9817c46365aa7f8a578320b805bde39d6f55a0b09d8aa8ca | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpmime/4.5.6/http…
-7043dee4e9e7175e93e0b36f45b1ec1ecb893c5f755667e8b916eb8dd201c6ca | https://plugins.gradle.org/m2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-j…
-321668fc474a73140eb9cc73c779f1ebb9f60948aade3beddee082ecefcf0259 | https://plugins.gradle.org/m2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-j…
-963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349 | https://plugins.gradle.org/m2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-j…
-8fdc3336e7b01873193ba9c48b87de7d788dc0954d1eb45c322492627a4b5c6e | https://plugins.gradle.org/m2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-j…
-64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a | https://plugins.gradle.org/m2/org/checkerframework/checker-qual/2.5.2/check…
-dc4cd438a36462d013c2338c8e206d102a322a00f33729e8955ee219859c9ede | https://plugins.gradle.org/m2/org/checkerframework/checker-qual/2.5.2/check…
-92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53 | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-annotations/…
-e956ab5d2eb48fabae12300d0cd2d3294d4a2a41abc2068c23cb4d60ad76cbe5 | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-annotations/…
-18a03df16e2a184c582db7b125633c15fb7714027a84c1b532d72933dc08b81f | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-parent/1.17/…
-fc648dcdc404f8bf66e0583914ecf980176618201227bea114fae85043cb755e | https://plugins.gradle.org/m2/org/codehaus/mojo/mojo-parent/40/mojo-parent-…
-a52e6850f070dc9f7a2a51d0b25dfaafd49b0b9bf8196db6c0b3c5b7c94d8d38 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-bom/2.2.11/jaxb-bom-2…
-37bcaee8ebb04362c8352a5bf6221b86967ecdab5164c696b10b9a2bb587b2aa | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core…
-ec31409f203bcabf99534f59231ec0576d875d4d4b7349b09566a7a8c8179b24 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core…
-a874f2351cfba8e2946be3002d10c18a6da8f21b52ba2acf52f2b85d5520ed70 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-r…
-e5327b31b595ab8143e97836d5ccdf85feb91e7ff5666f7b26913632facca4aa | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-r…
-272a3ccad45a4511351920cd2a8633c53cab8d5220c7a92954da5526bb5eafea | https://plugins.gradle.org/m2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.jar
-8514cb724b4fca59a5cf272b632e539bd0a0f3cacf1844082d0a173a86406bd8 | https://plugins.gradle.org/m2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.pom
-1345f11ba606d15603d6740551a8c21947c0215640770ec67271fe78bea97cf5 | https://plugins.gradle.org/m2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar
-47b23a79fe336b741b82434c6e049d68165256e405e75c10921fd72fa8a65d8d | https://plugins.gradle.org/m2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.pom
-ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478 | https://plugins.gradle.org/m2/org/jetbrains/annotations/13.0/annotations-13…
-965aeb2bedff369819bdde1bf7a0b3b89b8247dd69c88b86375d76163bb8c397 | https://plugins.gradle.org/m2/org/jetbrains/annotations/13.0/annotations-13…
-64583199ea5a54aefd1bd1595288925f784226ee562d1dd279011c6075b3d7a4 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.3.50/ko…
-8745181e5a3e0bafefd46309c6b810df7253f379feb985131eaf8d4d9c302635 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.3.50/ko…
-8ce678e88e4ba018b66dacecf952471e4d7dfee156a8a819760a5a5ff29d323c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3…
-b6396fe802d7bc76a381485e266cb975f3b2f2d3dd9bf7213aab6ca27a561fc1 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3…
-9a026639e76212f8d57b86d55b075394c2e009f1979110751d34c05c5f75d57b | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.5…
-a3aef46388ee96e975110db51df3ab794c87d892bdbc6d5a49bf926e4779438b | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.5…
-1b351fb6e09c14b55525c74c1f4cf48942eae43c348b7bc764a5e6e423d4da0c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.5…
-8674b002f66a2948981c4f6cb5987ec62ff3d54b6a2799a6d2cd23afb83f2ad3 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.5…
-e6f05746ee0366d0b52825a090fac474dcf44082c9083bbb205bd16976488d6c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kot…
-704fd78960ae046428f69bcd5b951c122e4c180c9400238a866e12cb18494a61 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kot…
-1917871c8deb468307a584680c87a44572f5a8b0b98c6d397fc0f5f86596dbe7 | https://plugins.gradle.org/m2/org/jetbrains/trove4j/trove4j/20160824/trove4…
-c94b0b73790c70c709bcd445a01247908888211e38cc59e946ff6fe900785ae9 | https://plugins.gradle.org/m2/org/jetbrains/trove4j/trove4j/20160824/trove4…
-a31ff7d77163c0deb09e7fee59ad35ae44c2cee2cc8552a116ccd1583d813fb4 | https://plugins.gradle.org/m2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.…
-27cb450b6c367a00bd8362519907f84defac7b12086c64d4d6e97e33ab873ead | https://plugins.gradle.org/m2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.…
-2f1a6387219c3a6cc4856481f221b03bd9f2408a326d416af09af5d6f608c1f4 | https://plugins.gradle.org/m2/org/ow2/asm/asm-analysis/6.0/asm-analysis-6.0…
-d3aaf42e40e3e24aabda53b5de4de5e17cb78e06549bf37312dca6c77e251054 | https://plugins.gradle.org/m2/org/ow2/asm/asm-analysis/6.0/asm-analysis-6.0…
-f1bce5c648a96a017bdcd01fe5d59af9845297fd7b79b81c015a6fbbd9719abf | https://plugins.gradle.org/m2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.j…
-90f4f29473afb957229016eb5741954976cc1b67bc049b3981c0d1e653ad5cdd | https://plugins.gradle.org/m2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.p…
-791d064bb9ecc9a46d43bc9efecd74c91464dfc451f321b802d2261e2ccd7d14 | https://plugins.gradle.org/m2/org/ow2/asm/asm-parent/6.0/asm-parent-6.0.pom
-887998fb69727c8759e4d253f856822801e33f9fd4caa566b3ac58ee92106215 | https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.jar
-36887e0d7fdb185a92378a38ea45e596a97f10f385c5d050eb6252454ee701b4 | https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.pom
-356afebdb0f870175262e5188f8709a3b17aa2a5a6a4b0340b04d4b449bca5f6 | https://plugins.gradle.org/m2/org/ow2/asm/asm-util/6.0/asm-util-6.0.jar
-3cdfc61f988d167b97503419da82a5808b20f4205aeb46c394e6e7ffd3211f12 | https://plugins.gradle.org/m2/org/ow2/asm/asm-util/6.0/asm-util-6.0.pom
-dd8971c74a4e697899a8e95caae4ea8760ea6c486dc6b97b1795e75760420461 | https://plugins.gradle.org/m2/org/ow2/asm/asm/6.0/asm-6.0.jar
-c2bc497e197112e699085426bbb45b1ab0be8002da68267a3b1f450a0312c32e | https://plugins.gradle.org/m2/org/ow2/asm/asm/6.0/asm-6.0.pom
-51215c67d2c068d8b7d2f6f80f51372a098075deccc448d4bdd7b987ba8328fb | https://plugins.gradle.org/m2/org/ow2/ow2/1.3/ow2-1.3.pom
+cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2 | https://plugins.gradle.org/m2/org/ow2/asm/asm/9.1/asm-9.1.jar
+c683a90dd68f2b1788cbdfc4647ea9405ef5925b371c199f8fd39d44d3cede8d | https://plugins.gradle.org/m2/org/ow2/asm/asm/9.1/asm-9.1.pom
+0f8a1b116e760b8fe6389c51b84e4b07a70fc11082d4f936e453b583dd50b43b | https://plugins.gradle.org/m2/org/ow2/ow2/1.5/ow2-1.5.pom
b51f8867c92b6a722499557fc3a1fdea77bdf9ef574722fe90ce436a29559454 | https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
-fb40265f982548212ff82e362e59732b2187ec6f0d80182885c14ef1f982827a | https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
-
=====================================
projects/oss-licenses-plugin/sort-dependencies-pr-268.patch
=====================================
@@ -0,0 +1,144 @@
+From 1e7b29bc4db8cbcfc468e3df4a649113efa3b876 Mon Sep 17 00:00:00 2001
+From: Da Risk <da_risk(a)geekorum.com>
+Date: Wed, 17 May 2023 16:42:10 -0400
+Subject: [PATCH 1/2] oss-license-plugin: sort ArtifactInfo into list
+
+This should ensure that the output of third_party_licenses and third_party_licenses_metadata is sorted.
+Sorting the output will make it reproducible regardless of the input ordering.
+---
+ .../oss/licenses/plugin/DependencyTask.groovy | 5 +++--
+ .../gms/oss/licenses/plugin/LicensesTask.groovy | 4 ++--
+ .../oss/licenses/plugin/DependencyTaskTest.java | 17 ++++++++++++-----
+ 3 files changed, 17 insertions(+), 9 deletions(-)
+
+diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
+index c7848735..5dbfbb30 100644
+--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
+@@ -76,7 +76,7 @@ abstract class DependencyTask extends DefaultTask {
+ } as AppDependencies
+ }
+
+- private static Set<ArtifactInfo> convertDependenciesToArtifactInfo(
++ private static List<ArtifactInfo> convertDependenciesToArtifactInfo(
+ AppDependencies appDependencies
+ ) {
+ return appDependencies.libraryList.stream()
+@@ -88,7 +88,8 @@ abstract class DependencyTask extends DefaultTask {
+ library.mavenLibrary.version
+ )
+ }
+- .collect(Collectors.toUnmodifiableSet())
++ .sorted(Comparator.comparing { it.toString() })
++ .collect(Collectors.toUnmodifiableList())
+ }
+
+ private static void initOutput(File outputDir) {
+diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
+index 851846b5..43db6652 100644
+--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
+@@ -107,14 +107,14 @@ abstract class LicensesTask extends DefaultTask {
+ writeMetadata()
+ }
+
+- private static Set<ArtifactInfo> loadDependenciesJson(File jsonFile) {
++ private static List<ArtifactInfo> loadDependenciesJson(File jsonFile) {
+ def allDependencies = new JsonSlurper().parse(jsonFile)
+ def artifactInfoSet = new HashSet<ArtifactInfo>()
+ for (entry in allDependencies) {
+ ArtifactInfo artifactInfo = artifactInfoFromEntry(entry)
+ artifactInfoSet.add(artifactInfo)
+ }
+- artifactInfoSet.asImmutable()
++ artifactInfoSet.toList().asImmutable()
+ }
+
+ private void addDebugLicense() {
+diff --git a/oss-licenses-plugin/src/test/java/com/google/android/gms/oss/licenses/plugin/DependencyTaskTest.java b/oss-licenses-plugin/src/test/java/com/google/android/gms/oss/licenses/plugin/DependencyTaskTest.java
+index e35a5490..50760521 100644
+--- a/oss-licenses-plugin/src/test/java/com/google/android/gms/oss/licenses/plugin/DependencyTaskTest.java
++++ b/oss-licenses-plugin/src/test/java/com/google/android/gms/oss/licenses/plugin/DependencyTaskTest.java
+@@ -29,6 +29,9 @@
+ import java.io.OutputStream;
+ import java.lang.reflect.Type;
+ import java.util.Collection;
++import java.util.Comparator;
++import java.util.List;
++import java.util.stream.Collectors;
+ import org.gradle.api.Project;
+ import org.gradle.testfixtures.ProjectBuilder;
+ import org.junit.Before;
+@@ -84,8 +87,8 @@ public void testAction_valuesConvertedToJson() throws Exception {
+ File outputJson = new File(outputDir, "test.json");
+ dependencyTask.getDependenciesJson().set(outputJson);
+ ImmutableSet<ArtifactInfo> expectedArtifacts = ImmutableSet.of(
+- new ArtifactInfo("org.group.id", "artifactId", "1.0.0"),
+- new ArtifactInfo("org.group.other", "other-artifact", "3.2.1")
++ new ArtifactInfo("org.group.other", "other-artifact", "3.2.1"),
++ new ArtifactInfo("org.group.id", "artifactId", "1.0.0")
+ );
+ AppDependencies appDependencies = createAppDependencies(expectedArtifacts);
+ File protoFile = writeAppDependencies(appDependencies, temporaryFolder.newFile());
+@@ -102,8 +105,8 @@ public void testAction_withNonMavenDeps_nonMavenDepsIgnored() throws Exception {
+ File outputJson = new File(outputDir, "test.json");
+ dependencyTask.getDependenciesJson().set(outputJson);
+ ImmutableSet<ArtifactInfo> expectedArtifacts = ImmutableSet.of(
+- new ArtifactInfo("org.group.id", "artifactId", "1.0.0"),
+- new ArtifactInfo("org.group.other", "other-artifact", "3.2.1")
++ new ArtifactInfo("org.group.other", "other-artifact", "3.2.1"),
++ new ArtifactInfo("org.group.id", "artifactId", "1.0.0")
+ );
+ AppDependencies appDependencies = createAppDependencies(expectedArtifacts).toBuilder()
+ .addLibrary(Library.getDefaultInstance()) // There aren't any other library types supported.
+@@ -131,11 +134,15 @@ public void testAction_depFileAbsent_writesAbsentDep() throws Exception {
+ private void verifyExpectedDependencies(ImmutableSet<ArtifactInfo> expectedArtifacts,
+ File outputJson) throws Exception {
+ Gson gson = new Gson();
++ List<ArtifactInfo> expectedArtifactsSorted = expectedArtifacts
++ .stream()
++ .sorted(Comparator.comparing(ArtifactInfo::toString))
++ .collect(Collectors.toUnmodifiableList());
+ try (FileReader reader = new FileReader(outputJson)) {
+ Type collectionOfArtifactInfo = new TypeToken<Collection<ArtifactInfo>>() {
+ }.getType();
+ Collection<ArtifactInfo> jsonArtifacts = gson.fromJson(reader, collectionOfArtifactInfo);
+- assertThat(jsonArtifacts).containsExactlyElementsIn(expectedArtifacts);
++ assertThat(jsonArtifacts).containsExactlyElementsIn(expectedArtifactsSorted).inOrder();
+ }
+ }
+
+
+From 0ae426b1fe52ef70770d10050402413a22bd8dba Mon Sep 17 00:00:00 2001
+From: Da Risk <da_risk(a)geekorum.com>
+Date: Fri, 19 May 2023 21:22:26 -0400
+Subject: [PATCH 2/2] oss-license-plugin: Sort dependencies loaded for
+ LicensesTask
+
+---
+ .../android/gms/oss/licenses/plugin/LicensesTask.groovy | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
+index 43db6652..7dac8aae 100644
+--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy
+@@ -25,6 +25,7 @@ import org.gradle.api.tasks.OutputFile
+ import org.gradle.api.tasks.TaskAction
+ import org.slf4j.LoggerFactory
+
++import java.util.stream.Collectors
+ import java.util.zip.ZipEntry
+ import java.util.zip.ZipFile
+
+@@ -114,7 +115,9 @@ abstract class LicensesTask extends DefaultTask {
+ ArtifactInfo artifactInfo = artifactInfoFromEntry(entry)
+ artifactInfoSet.add(artifactInfo)
+ }
+- artifactInfoSet.toList().asImmutable()
++ artifactInfoSet.stream()
++ .sorted(Comparator.comparing { it.toString() })
++ .collect(Collectors.toUnmodifiableList())
+ }
+
+ private void addDebugLicense() {
=====================================
projects/oss-licenses-plugin/sort-dependencies.diff deleted
=====================================
@@ -1,40 +0,0 @@
-diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
-index d6d854d..622072d 100644
---- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
-+++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
-@@ -16,7 +16,7 @@
-
- package com.google.android.gms.oss.licenses.plugin
-
--class ArtifactInfo {
-+class ArtifactInfo implements Comparable<ArtifactInfo> {
- private String group
- private String name
- private String fileLocation
-@@ -47,4 +47,13 @@ class ArtifactInfo {
- String getVersion() {
- return version
- }
-+
-+ String toString() {
-+ return "$group:$name:$version"
-+ }
-+
-+ @Override
-+ int compareTo(ArtifactInfo other) {
-+ return toString().compareTo(other.toString())
-+ }
- }
-diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
-index 75f6527..26a9bf7 100644
---- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
-+++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
-@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory
- */
- class DependencyTask extends DefaultTask {
- protected Set<String> artifactSet = []
-- protected Set<ArtifactInfo> artifactInfos = []
-+ protected TreeSet<ArtifactInfo> artifactInfos = []
- protected static final String LOCAL_LIBRARY_VERSION = "unspecified"
- private static final String TEST_PREFIX = "test"
- private static final String ANDROID_TEST_PREFIX = "androidTest"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 4 commits: fixup! TB 42669: [android] Use custom no-op app-services
by Dan Ballard (@dan) 17 Jun '25
by Dan Ballard (@dan) 17 Jun '25
17 Jun '25
Dan Ballard pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
4d19dc54 by Beatriz Rizental at 2025-06-17T14:39:17-07:00
fixup! TB 42669: [android] Use custom no-op app-services
- - - - -
7d929101 by Beatriz Rizental at 2025-06-17T14:39:17-07:00
Revert "TB 40185: [android] Use NimbusDisabled"
This reverts commit c98c78c527f11856aab9f7e16ff503f267e665e2.
- - - - -
0235f26b by Beatriz Rizental at 2025-06-17T14:39:17-07:00
[android] Override settings
- - - - -
d5bc2018 by Beatriz Rizental at 2025-06-17T14:39:17-07:00
fixup! [android] Override settings
Disable the tab-strip experiment for all channels. Having this
experiment enabled overrides the toolbar position to always be on the
top, which we don't want.
- - - - -
19 changed files:
- mobile/android/android-components/components/browser/storage-sync/src/main/java/mozilla/components/browser/storage/sync/RemoteTabsStorage.kt
- mobile/android/android-components/components/concept/sync/src/main/java/mozilla/components/concept/sync/AccountEvent.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/FxaDeviceConstellation.kt
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingStorage.kt
- mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
- mobile/android/fenix/app/nimbus.fml.yaml
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NimbusComponents.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/FenixOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/ReEngagementNotificationWorker.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/DefaultLocaleSettingsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/SaveToPDFMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
Changes:
=====================================
mobile/android/android-components/components/browser/storage-sync/src/main/java/mozilla/components/browser/storage/sync/RemoteTabsStorage.kt
=====================================
@@ -161,6 +161,7 @@ class RemoteTabsCommandQueue(
.groupBy {
when (it.command) {
is RemoteCommand.CloseTab -> PendingCommandGroup.Key.CloseTab(it.deviceId)
+ is RemoteCommand.__NOOP -> PendingCommandGroup.Key.Noop(it.deviceId)
// Add `is ... ->` branches for future pending commands here...
}.asAnyKey
}
@@ -184,6 +185,13 @@ class RemoteTabsCommandQueue(
pendingCommands = pendingCommands,
)
}
+ is PendingCommandGroup.Key.Noop -> {
+ PendingCommandGroup(
+ deviceId = key.deviceId,
+ command = DeviceCommandOutgoing.Noop(),
+ pendingCommands = pendingCommands,
+ )
+ }
// Add `is ... ->` branches for future pending command grouping keys here...
}.asAnyGroup
}
@@ -279,6 +287,7 @@ class RemoteTabsCommandQueue(
sealed interface Key {
data class CloseTab(val deviceId: String) : Key
+ data class Noop(val deviceId: String) : Key
// Add data classes for future pending command grouping keys here...
/** Returns this grouping key as a type-erased [Key]. */
=====================================
mobile/android/android-components/components/concept/sync/src/main/java/mozilla/components/concept/sync/AccountEvent.kt
=====================================
@@ -55,6 +55,9 @@ sealed class DeviceCommandIncoming {
* Outgoing device commands (ie, targeted at other devices.)
*/
sealed class DeviceCommandOutgoing {
+ /** A command to do nothing */
+ class Noop() : DeviceCommandOutgoing()
+
/** A command to open a tab on another device */
class SendTab(val title: String, val url: String) : DeviceCommandOutgoing()
=====================================
mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/FxaDeviceConstellation.kt
=====================================
@@ -195,8 +195,10 @@ class FxaDeviceConstellation(
is RustCloseTabsResult.Ok -> Result.success(true)
is RustCloseTabsResult.TabsNotClosed ->
Result.failure(SendCommandException.TabsNotClosed(closeTabsResult.urls))
+ is RustCloseTabsResult.__NOOP -> Result.success(false)
}
}
+ is DeviceCommandOutgoing.Noop -> Result.success(false)
}
val errors: List<Throwable> = SyncTelemetry.processFxaTelemetry(account.gatherTelemetry())
for (error in errors) {
=====================================
mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt
=====================================
@@ -96,32 +96,32 @@ open class NimbusMessagingController(
* creates a URI string for the message action.
*/
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
- open fun processMessageActionToUri(message: Message): Uri {
+ fun processMessageActionToUri(message: Message): Uri {
val (uuid, action) = messagingStorage.generateUuidAndFormatMessage(message)
sendClickedMessageTelemetry(message.id, uuid)
return convertActionIntoDeepLinkSchemeUri(action)
}
- open fun sendDismissedMessageTelemetry(messageId: String) {
+ private fun sendDismissedMessageTelemetry(messageId: String) {
GleanMessaging.messageDismissed.record(GleanMessaging.MessageDismissedExtra(messageId))
}
- open fun sendShownMessageTelemetry(messageId: String) {
+ private fun sendShownMessageTelemetry(messageId: String) {
GleanMessaging.messageShown.record(GleanMessaging.MessageShownExtra(messageId))
}
- open fun sendExpiredMessageTelemetry(messageId: String) {
+ private fun sendExpiredMessageTelemetry(messageId: String) {
GleanMessaging.messageExpired.record(GleanMessaging.MessageExpiredExtra(messageId))
}
- open fun sendClickedMessageTelemetry(messageId: String, uuid: String?) {
+ private fun sendClickedMessageTelemetry(messageId: String, uuid: String?) {
GleanMessaging.messageClicked.record(
GleanMessaging.MessageClickedExtra(messageKey = messageId, actionUuid = uuid),
)
}
- open fun sendMicrosurveyCompletedTelemetry(messageId: String, answer: String) {
+ private fun sendMicrosurveyCompletedTelemetry(messageId: String, answer: String) {
Microsurvey.submitButtonTapped.record(
Microsurvey.SubmitButtonTappedExtra(
surveyId = messageId,
@@ -130,7 +130,7 @@ open class NimbusMessagingController(
)
}
- open fun convertActionIntoDeepLinkSchemeUri(action: String): Uri =
+ private fun convertActionIntoDeepLinkSchemeUri(action: String): Uri =
if (action.startsWith("://")) {
"$deepLinkScheme$action".toUri()
} else {
=====================================
mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingStorage.kt
=====================================
@@ -33,7 +33,7 @@ const val MESSAGING_FEATURE_ID = "messaging"
/**
* Provides messages from [messagingFeature] and combine with the metadata store on [metadataStorage].
*/
-open class NimbusMessagingStorage(
+class NimbusMessagingStorage(
private val context: Context,
private val metadataStorage: MessageMetadataStorage,
private val onMalformedMessage: (String) -> Unit = {
=====================================
mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
=====================================
@@ -3,8 +3,8 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// These lines are generated by android-components/automation/application-services-nightly-bump.py
-val VERSION = "140.20250523140405"
-val CHANNEL = ApplicationServicesChannel.NIGHTLY
+val VERSION = "140.0-TORBROWSER"
+val CHANNEL = ApplicationServicesChannel.RELEASE
object ApplicationServicesConfig {
val version = VERSION
=====================================
mobile/android/fenix/app/nimbus.fml.yaml
=====================================
@@ -642,13 +642,13 @@ features:
defaults:
- channel: developer
value:
- enabled: true
+ enabled: false
- channel: nightly
value:
- enabled: true
+ enabled: false
- channel: beta
value:
- enabled: true
+ enabled: false
trending-searches:
description: Enables trending searches.
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
=====================================
@@ -212,7 +212,7 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
//
// We can initialize Nimbus before Glean because Glean will queue messages
// before it's initialized.
- // initializeNimbus()
+ initializeNimbus()
ProfilerMarkerFactProcessor.create { components.core.engine.profiler }.register()
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
=====================================
@@ -124,6 +124,7 @@ import org.mozilla.fenix.ext.getNavDirections
import org.mozilla.fenix.ext.hasTopDestination
import org.mozilla.fenix.ext.nav
import org.mozilla.fenix.ext.openSetDefaultBrowserOption
+import org.mozilla.fenix.ext.recordEventInNimbus
import org.mozilla.fenix.ext.setNavigationIcon
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.extension.WebExtensionPromptFeature
@@ -458,7 +459,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn
if (!shouldShowOnboarding) {
lifecycleScope.launch(IO) {
- // showFullscreenMessageIfNeeded(applicationContext)
+ showFullscreenMessageIfNeeded(applicationContext)
}
// Unless the activity is recreated, navigate to home first (without rendering it)
@@ -498,7 +499,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn
),
)
// This will record an event in Nimbus' internal event store. Used for behavioral targeting
- // recordEventInNimbus("app_opened")
+ recordEventInNimbus("app_opened")
if (safeIntent.action.equals(ACTION_OPEN_PRIVATE_TAB) && source == APP_ICON) {
AppIcon.newPrivateTabTapped.record(NoExtras())
@@ -1549,12 +1550,10 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn
keyDismissButtonText = null,
)
- /*
researchSurfaceDialogFragment.onAccept = {
processIntent(messaging.getIntentForMessage(nextMessage))
components.appStore.dispatch(AppAction.MessagingAction.MessageClicked(nextMessage))
}
- */
researchSurfaceDialogFragment.onDismiss = {
components.appStore.dispatch(AppAction.MessagingAction.MessageDismissed(nextMessage))
@@ -1567,10 +1566,10 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn
)
}
-// // Update message as displayed.
-// val currentBootUniqueIdentifier = BootUtils.getBootIdentifier(context)
-//
-// messaging.onMessageDisplayed(nextMessage, currentBootUniqueIdentifier)
+ // Update message as displayed.
+ val currentBootUniqueIdentifier = BootUtils.getBootIdentifier(context)
+
+ messaging.onMessageDisplayed(nextMessage, currentBootUniqueIdentifier)
}
private fun showCrashReporter() {
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
=====================================
@@ -598,7 +598,7 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler {
override fun navToQuickSettingsSheet(tab: SessionState, sitePermissions: SitePermissions?) {
val useCase = requireComponents.useCases.trackingProtectionUseCases
- // FxNimbus.features.cookieBanners.recordExposure()
+ FxNimbus.features.cookieBanners.recordExposure()
useCase.containsException(tab.id) { hasTrackingProtectionException ->
lifecycleScope.launch {
val cookieBannersStorage = requireComponents.core.cookieBannersStorage
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt
=====================================
@@ -49,6 +49,7 @@ import org.mozilla.fenix.GleanMetrics.SyncAuth
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.maxActiveTime
+import org.mozilla.fenix.ext.recordEventInNimbus
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.perf.StrictModeManager
import org.mozilla.fenix.perf.lazyMonitored
@@ -266,7 +267,7 @@ internal class TelemetryAccountObserver(
// User signed-in into an existing FxA account.
AuthType.Signin -> {
SyncAuth.signIn.record(NoExtras())
- // context.recordEventInNimbus("sync_auth.sign_in")
+ context.recordEventInNimbus("sync_auth.sign_in")
}
// User created a new FxA account.
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NimbusComponents.kt
=====================================
@@ -5,28 +5,17 @@
package org.mozilla.fenix.components
import android.content.Context
-import android.content.Intent
-import android.net.Uri
import mozilla.components.service.nimbus.NimbusApi
-import mozilla.components.service.nimbus.NimbusDisabled
import mozilla.components.service.nimbus.messaging.FxNimbusMessaging
-import mozilla.components.service.nimbus.messaging.Message
-import mozilla.components.service.nimbus.messaging.Message.Metadata
-import mozilla.components.service.nimbus.messaging.MessageData
-import mozilla.components.service.nimbus.messaging.MessageMetadataStorage
-import mozilla.components.service.nimbus.messaging.MessageSurfaceId
import mozilla.components.service.nimbus.messaging.NimbusMessagingController
import mozilla.components.service.nimbus.messaging.NimbusMessagingControllerInterface
import mozilla.components.service.nimbus.messaging.NimbusMessagingStorage
import mozilla.components.service.nimbus.messaging.OnDiskMessageMetadataStorage
-import mozilla.components.service.nimbus.messaging.StyleData
import org.mozilla.experiments.nimbus.NimbusEventStore
import org.mozilla.experiments.nimbus.NimbusMessagingHelperInterface
-import org.mozilla.experiments.nimbus.NullNimbus
import org.mozilla.fenix.BuildConfig
import org.mozilla.fenix.experiments.createNimbus
import org.mozilla.fenix.messaging.CustomAttributeProvider
-import org.mozilla.fenix.nimbus.FxNimbus
import org.mozilla.fenix.perf.lazyMonitored
/**
@@ -39,14 +28,7 @@ class NimbusComponents(private val context: Context) {
* should be mediated through a FML generated class, e.g. [FxNimbus].
*/
val sdk: NimbusApi by lazyMonitored {
- if (BuildConfig.DATA_COLLECTION_DISABLED) {
- NimbusDisabled(context)
- } else {
- createNimbus(context, BuildConfig.NIMBUS_ENDPOINT).also { api ->
- FxNimbus.api = api
- }
- }
-
+ createNimbus(context, BuildConfig.NIMBUS_ENDPOINT)
}
/**
@@ -62,8 +44,7 @@ class NimbusComponents(private val context: Context) {
* the JEXL helper available from [createJexlHelper].
*/
val events: NimbusEventStore by lazyMonitored {
- NullNimbus(context)
- //sdk.events
+ sdk.events
}
/**
@@ -97,7 +78,7 @@ class NimbusComponents(private val context: Context) {
* from the Nimbus Messaging component.
*/
val messaging: NimbusMessagingControllerInterface by lazyMonitored {
- NullNimbusMessagingController(
+ NimbusMessagingController(
messagingStorage = messagingStorage,
deepLinkScheme = BuildConfig.DEEP_LINK_SCHEME,
)
@@ -111,132 +92,10 @@ class NimbusComponents(private val context: Context) {
private val messagingStorage by lazyMonitored {
NimbusMessagingStorage(
context = context,
- metadataStorage = NullMessageMetadataStorage(), //OnDiskMessageMetadataStorage(context),
+ metadataStorage = OnDiskMessageMetadataStorage(context),
nimbus = sdk,
messagingFeature = FxNimbusMessaging.features.messaging,
attributeProvider = CustomAttributeProvider,
)
}
}
-// Noop impl of MessageMetadataStorage to replace OnDiskMessageMetadataStorage
-class NullMessageMetadataStorage(): MessageMetadataStorage {
- override suspend fun getMetadata(): Map<String, Message.Metadata> {
- var metadataMap: MutableMap<String, Message.Metadata> = hashMapOf()
- return metadataMap
- }
-
- override suspend fun addMetadata(metadata: Message.Metadata): Message.Metadata {
- return metadata
- }
-
- override suspend fun updateMetadata(metadata: Message.Metadata) {
- // noop
- }
-}
-
-class NullNimbusMessagingController(
- messagingStorage: NimbusMessagingStorage,
- deepLinkScheme: String,
-) : NimbusMessagingController(messagingStorage, deepLinkScheme) {
-
- private val nullMessage: Message = Message(
- id = "",
- data = MessageData(),
- action = "",
- style = StyleData(),
- triggerIfAll = listOf(),
- excludeIfAny = listOf(),
- metadata = Metadata(""),
- )
-
- override suspend fun onMessageDisplayed(displayedMessage: Message, bootIdentifier: String?): Message {
- return nullMessage
- }
-
- /**
- * Called when a message has been dismissed by the user.
- *
- * Records a messageDismissed event, and records that the message
- * has been dismissed.
- */
- override suspend fun onMessageDismissed(message: Message) {
- return
- }
-
- /**
- * Called when a microsurvey attached to a message has been completed by the user.
- *
- * @param message The message containing the microsurvey that was completed.
- * @param answer The user's response to the microsurvey question.
- */
- override suspend fun onMicrosurveyCompleted(message: Message, answer: String) {
- return
- }
-
- /**
- * Called once the user has clicked on a message.
- *
- * This records that the message has been clicked on, but does not record a
- * glean event. That should be done via [processMessageActionToUri].
- */
- override suspend fun onMessageClicked(message: Message) {
- return
- }
-
- /**
- * Create and return the relevant [Intent] for the given [Message].
- *
- * @param message the [Message] to create the [Intent] for.
- * @return an [Intent] using the processed [Message].
- */
- override fun getIntentForMessage(message: Message) = Intent()
-
- /**
- * Will attempt to get the [Message] for the given [id].
- *
- * @param id the [Message.id] of the [Message] to try to match.
- * @return the [Message] with a matching [id], or null if no [Message] has a matching [id].
- */
- override suspend fun getMessage(id: String): Message? {
- return nullMessage
- }
-
- /**
- * The [message] action needs to be examined for string substitutions
- * and any `uuid` needs to be recorded in the Glean event.
- *
- * We call this `process` as it has a side effect of logging a Glean event while it
- * creates a URI string for the message action.
- */
- override fun processMessageActionToUri(message: Message): Uri {
- return Uri.EMPTY
- }
-
- override fun sendDismissedMessageTelemetry(messageId: String) {
- return
- }
-
- override fun sendShownMessageTelemetry(messageId: String) {
- return
- }
-
- override fun sendExpiredMessageTelemetry(messageId: String) {
- return
- }
-
- override fun sendClickedMessageTelemetry(messageId: String, uuid: String?) {
- return
- }
-
- override fun sendMicrosurveyCompletedTelemetry(messageId: String, answer: String) {
- return
- }
-
- override fun convertActionIntoDeepLinkSchemeUri(action: String): Uri = Uri.EMPTY
-
- override suspend fun getMessages(): List<Message> = listOf()
-
- override suspend fun getNextMessage(surfaceId: MessageSurfaceId) = nullMessage
-
- override fun getNextMessage(surfaceId: MessageSurfaceId, messages: List<Message>) = nullMessage
-}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
=====================================
@@ -581,7 +581,7 @@ class HomeFragment : Fragment(), UserInteractionHandler {
disableAppBarDragging()
- // FxNimbus.features.homescreen.recordExposure()
+ FxNimbus.features.homescreen.recordExposure()
// DO NOT MOVE ANYTHING BELOW THIS addMarker CALL!
requireComponents.core.engine.profiler?.addMarker(
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/FenixOnboarding.kt
=====================================
@@ -33,7 +33,7 @@ class FenixOnboarding(context: Context) : PreferencesHolder {
// - We would like to evaluate the configuration only once (and thus it's kept in memory
// and not re-evaluated)
val config by lazy {
- // FxNimbus.features.onboarding.recordExposure()
+ FxNimbus.features.onboarding.recordExposure()
FxNimbus.features.onboarding.value()
}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/ReEngagementNotificationWorker.kt
=====================================
@@ -45,7 +45,7 @@ class ReEngagementNotificationWorker(
// Recording the exposure event here to capture all users who met all criteria to receive
// the re-engagement notification
- // FxNimbus.features.reEngagementNotification.recordExposure()
+ FxNimbus.features.reEngagementNotification.recordExposure()
if (!settings.reEngagementNotificationEnabled) {
return Result.success()
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
=====================================
@@ -216,14 +216,11 @@ class SettingsFragment : PreferenceFragmentCompat(), UserInteractionHandler {
override fun onResume() {
super.onResume()
- // IN TOR BROWSER: We don't talk about Nimbus!
- // ~Use nimbus to set the title, and a trivial addition~
- // val nimbusValidation = FxNimbus.features.nimbusValidation.value()
+ // Use nimbus to set the title, and a trivial addition
+ val nimbusValidation = FxNimbus.features.nimbusValidation.value()
- // val title = nimbusValidation.settingsTitle
- // val suffix = nimbusValidation.settingsPunctuation
- val title = getString(R.string.settings_title)
- val suffix = ""
+ val title = nimbusValidation.settingsTitle
+ val suffix = nimbusValidation.settingsPunctuation
showToolbar("$title$suffix")
@@ -819,7 +816,7 @@ class SettingsFragment : PreferenceFragmentCompat(), UserInteractionHandler {
@VisibleForTesting
internal fun setupCookieBannerPreference() {
- // FxNimbus.features.cookieBanners.recordExposure()
+ FxNimbus.features.cookieBanners.recordExposure()
if (context?.settings()?.shouldShowCookieBannerUI == false) return
with(requirePreference<SwitchPreference>(R.string.pref_key_cookie_banner_private_mode)) {
isVisible = context.settings().shouldShowCookieBannerUI
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/DefaultLocaleSettingsController.kt
=====================================
@@ -40,7 +40,7 @@ class DefaultLocaleSettingsController(
LocaleManager.updateBaseConfiguration(activity, locale)
// Invalidate cached values to use the new locale
- // FxNimbus.features.nimbusValidation.withCachedValue(null)
+ FxNimbus.features.nimbusValidation.withCachedValue(null)
activity.recreate()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
activity.overrideActivityTransition(Activity.OVERRIDE_TRANSITION_OPEN, 0, 0)
@@ -60,7 +60,7 @@ class DefaultLocaleSettingsController(
LocaleManager.updateBaseConfiguration(activity, localeSettingsStore.state.localeList[0])
// Invalidate cached values to use the default locale
- // FxNimbus.features.nimbusValidation.withCachedValue(null)
+ FxNimbus.features.nimbusValidation.withCachedValue(null)
activity.recreate()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
activity.overrideActivityTransition(Activity.OVERRIDE_TRANSITION_OPEN, 0, 0)
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/SaveToPDFMiddleware.kt
=====================================
@@ -22,6 +22,7 @@ import org.mozilla.fenix.R
import org.mozilla.fenix.browser.StandardSnackbarError
import org.mozilla.fenix.components.appstate.AppAction
import org.mozilla.fenix.ext.components
+import org.mozilla.fenix.ext.recordEventInNimbus
import org.mozilla.geckoview.GeckoSession
import org.mozilla.geckoview.GeckoSession.GeckoPrintException.ERROR_NO_ACTIVITY_CONTEXT
import org.mozilla.geckoview.GeckoSession.GeckoPrintException.ERROR_NO_ACTIVITY_CONTEXT_DELEGATE
@@ -152,7 +153,7 @@ class SaveToPDFMiddleware(
source = telemetrySource(isPdf),
),
)
- // context.recordEventInNimbus("print_tapped")
+ context.recordEventInNimbus("print_tapped")
} else {
Events.saveToPdfTapped.record(
Events.SaveToPdfTappedExtra(
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
=====================================
@@ -320,7 +320,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
var showWallpaperOnboarding by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_wallpapers_onboarding),
featureFlag = true,
- default = { true /* mr2022Sections[Mr2022Section.WALLPAPERS_SELECTION_TOOL] == true */ },
+ default = { true },
)
var openLinksInAPrivateTab by booleanPreference(
@@ -820,25 +820,25 @@ class Settings(private val appContext: Context) : PreferencesHolder {
get() = false // cookieBannersSection[CookieBannersSection.FEATURE_UI] == 1
val shouldEnableCookieBannerDetectOnly: Boolean
- get() = false // cookieBannersSection[CookieBannersSection.FEATURE_SETTING_DETECT_ONLY] == 1
+ get() = false
val shouldEnableCookieBannerGlobalRules: Boolean
- get() = false // cookieBannersSection[CookieBannersSection.FEATURE_SETTING_GLOBAL_RULES] == 1
+ get() = false
val shouldEnableCookieBannerGlobalRulesSubFrame: Boolean
- get() = false // cookieBannersSection[CookieBannersSection.FEATURE_SETTING_GLOBAL_RULES_SUB_FRAMES] == 1
+ get() = false
val shouldEnableQueryParameterStripping: Boolean
- get() = true // queryParameterStrippingSection[QUERY_PARAMETER_STRIPPING] == "1"
+ get() = true
val shouldEnableQueryParameterStrippingPrivateBrowsing: Boolean
- get() = true // queryParameterStrippingSection[QUERY_PARAMETER_STRIPPING_PMB] == "1"
+ get() = true
val queryParameterStrippingAllowList: String
- get() = "" // queryParameterStrippingSection[QUERY_PARAMETER_STRIPPING_ALLOW_LIST].orEmpty()
+ get() = ""
val queryParameterStrippingStripList: String
- get() = "" // queryParameterStrippingSection[QUERY_PARAMETER_STRIPPING_STRIP_LIST].orEmpty()
+ get() = ""
/**
* Declared as a function for performance purposes. This could be declared as a variable using
@@ -896,8 +896,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
* Indicates if the re-engagement notification feature is enabled
*/
val reEngagementNotificationType: Int
- get() = 0 // Neither Type A or B
- // FxNimbus.features.reEngagementNotification.value().type
+ get() = 0
val shouldUseAutoBatteryTheme by booleanPreference(
appContext.getPreferenceKey(R.string.pref_key_auto_battery_theme),
@@ -1709,24 +1708,22 @@ class Settings(private val appContext: Context) : PreferencesHolder {
return currentlyEnabledLanguages.contains(userLangTag)
}
-// private val mr2022Sections: Map<Mr2022Section, Boolean>
-// get() =
-// FxNimbus.features.mr2022.value().sectionsEnabled
+ private val mr2022Sections: Map<Mr2022Section, Boolean>
+ get() =
+ FxNimbus.features.mr2022.value().sectionsEnabled
-// private val cookieBannersSection: Map<CookieBannersSection, Int>
-// get() =
-// FxNimbus.features.cookieBanners.value().sectionsEnabled
+ private val cookieBannersSection: Map<CookieBannersSection, Int>
+ get() =
+ FxNimbus.features.cookieBanners.value().sectionsEnabled
-// private val queryParameterStrippingSection: Map<QueryParameterStrippingSection, String>
-// get() =
-// FxNimbus.features.queryParameterStripping.value().sectionsEnabled
+ private val queryParameterStrippingSection: Map<QueryParameterStrippingSection, String>
+ get() =
+ FxNimbus.features.queryParameterStripping.value().sectionsEnabled
-// private val homescreenSections: Map<HomeScreenSection, Boolean>
-// get() =
-// FxNimbus.features.homescreen.value().sectionsEnabled
+ private val homescreenSections: Map<HomeScreenSection, Boolean>
+ get() =
+ FxNimbus.features.homescreen.value().sectionsEnabled
- // IN TOR BROWSER: we want to avoid ever calling Nimbus, so we hard-code defaults
- // for everything that would have accessed this property.
var historyMetadataUIFeature by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_history_metadata_feature),
default = { true },
@@ -1739,7 +1736,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
var showSyncCFR by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_should_show_sync_cfr),
featureFlag = true,
- default = { false /* mr2022Sections[Mr2022Section.SYNC_CFR] == true */ },
+ default = { false },
)
/**
@@ -1748,7 +1745,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
var showHomeOnboardingDialog by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_should_show_home_onboarding_dialog),
featureFlag = true,
- default = { true /* mr2022Sections[Mr2022Section.HOME_ONBOARDING_DIALOG_EXISTING_USERS] == true */ },
+ default = { true },
)
/**
@@ -1917,7 +1914,6 @@ class Settings(private val appContext: Context) : PreferencesHolder {
isLauncherIntent: Boolean,
): Boolean {
return if (featureEnabled && !hasUserBeenOnboarded && isLauncherIntent) {
- // FxNimbus.features.junoOnboarding.recordExposure()
false
} else {
false
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/37eb9b…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/37eb9b…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch tor-browser-128.12.0esr-14.5-1
by ma1 (@ma1) 17 Jun '25
by ma1 (@ma1) 17 Jun '25
17 Jun '25
ma1 pushed new branch tor-browser-128.12.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag FIREFOX_128_12_0esr_BUILD1
by ma1 (@ma1) 17 Jun '25
by ma1 (@ma1) 17 Jun '25
17 Jun '25
ma1 pushed new tag FIREFOX_128_12_0esr_BUILD1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/FIREFOX_1…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch base-browser-128.12.0esr-14.5-1
by ma1 (@ma1) 17 Jun '25
by ma1 (@ma1) 17 Jun '25
17 Jun '25
ma1 pushed new branch base-browser-128.12.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] fixup! TB 40597: Implement TorSettings module
by morgan (@morgan) 16 Jun '25
by morgan (@morgan) 16 Jun '25
16 Jun '25
morgan pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
37eb9b82 by Henry Wilkes at 2025-06-16T17:45:53+00:00
fixup! TB 40597: Implement TorSettings module
TB 43853: Use setByteStringData instead of setData.
- - - - -
1 changed file:
- toolkit/modules/DomainFrontedRequests.sys.mjs
Changes:
=====================================
toolkit/modules/DomainFrontedRequests.sys.mjs
=====================================
@@ -580,7 +580,7 @@ export class DomainFrontRequestBuilder {
const inStream = Cc[
"@mozilla.org/io/string-input-stream;1"
].createInstance(Ci.nsIStringInputStream);
- inStream.setData(body, body.length);
+ inStream.setByteStringData(body);
const upChannel = ch.QueryInterface(Ci.nsIUploadChannel);
upChannel.setUploadStream(inStream, contentType, body.length);
ch.requestMethod = method;
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/37eb9b8…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/37eb9b8…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js
by morgan (@morgan) 16 Jun '25
by morgan (@morgan) 16 Jun '25
16 Jun '25
morgan pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
4c65306a by Morgan at 2025-06-16T16:30:06+00:00
fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js
use netlify for moat's domain fronting
- - - - -
1 changed file:
- browser/app/profile/000-tor-browser.js
Changes:
=====================================
browser/app/profile/000-tor-browser.js
=====================================
@@ -123,8 +123,8 @@ pref("extensions.torlauncher.torrc_path", "");
pref("extensions.torlauncher.tordatadir_path", "");
// BridgeDB-related preferences (used for Moat).
-pref("extensions.torlauncher.bridgedb_front", "www.phpmyadmin.net");
-pref("extensions.torlauncher.bridgedb_reflector", "https://1723079976.rsc.cdn77.org");
+pref("extensions.torlauncher.bridgedb_front", "vuejs.org");
+pref("extensions.torlauncher.bridgedb_reflector", "https://bespoke-strudel-c243cc.netlify.app");
pref("extensions.torlauncher.moat_service", "https://bridges.torproject.org/moat");
// Log levels
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4c65306…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4c65306…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-1] fixup! BB 43615: Add Gitlab Issue and Merge Request templates
by morgan (@morgan) 16 Jun '25
by morgan (@morgan) 16 Jun '25
16 Jun '25
morgan pushed to branch mullvad-browser-140.0a1-15.0-1 at The Tor Project / Applications / Mullvad Browser
Commits:
0749a03c by Morgan at 2025-06-16T16:08:38+00:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
update target channels with esr140-15.0 and esr128-14.5
- - - - -
1 changed file:
- .gitlab/merge_request_templates/Default.md
Changes:
=====================================
.gitlab/merge_request_templates/Default.md
=====================================
@@ -27,8 +27,8 @@
#### Target Channels
-- [ ] **Alpha**: esr128-14.5
-- [ ] **Stable**: esr128-14.0
+- [ ] **Alpha**: esr140-15.0
+- [ ] **Stable**: esr128-14.5
### Backporting
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/074…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/074…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-1] fixup! BB 43615: Add Gitlab Issue and Merge Request templates
by morgan (@morgan) 16 Jun '25
by morgan (@morgan) 16 Jun '25
16 Jun '25
morgan pushed to branch base-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
b496bae2 by Morgan at 2025-06-16T15:59:27+00:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
update target channels with esr140-15.0 and esr128-14.5
- - - - -
1 changed file:
- .gitlab/merge_request_templates/Default.md
Changes:
=====================================
.gitlab/merge_request_templates/Default.md
=====================================
@@ -27,8 +27,8 @@
#### Target Channels
-- [ ] **Alpha**: esr128-14.5
-- [ ] **Stable**: esr128-14.0
+- [ ] **Alpha**: esr140-15.0
+- [ ] **Stable**: esr128-14.5
- [ ] **Legacy**: esr115-13.5
### Backporting
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b496bae…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b496bae…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] fixup! BB 43615: Add Gitlab Issue and Merge Request templates
by morgan (@morgan) 16 Jun '25
by morgan (@morgan) 16 Jun '25
16 Jun '25
morgan pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
33e257fa by Morgan at 2025-06-16T15:57:51+00:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
update target channels with esr140-15.0 and esr128-14.5
- - - - -
1 changed file:
- .gitlab/merge_request_templates/Default.md
Changes:
=====================================
.gitlab/merge_request_templates/Default.md
=====================================
@@ -27,8 +27,8 @@
#### Target Channels
-- [ ] **Alpha**: esr128-14.5
-- [ ] **Stable**: esr128-14.0
+- [ ] **Alpha**: esr140-15.0
+- [ ] **Stable**: esr128-14.5
- [ ] **Legacy**: esr115-13.5
### Backporting
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/33e257f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/33e257f…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41491: Update firefox artifacts extension
by Pier Angelo Vendrame (@pierov) 16 Jun '25
by Pier Angelo Vendrame (@pierov) 16 Jun '25
16 Jun '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
9c261825 by Beatriz Rizental at 2025-06-16T16:12:19+02:00
Bug 41491: Update firefox artifacts extension
- - - - -
1 changed file:
- projects/firefox/build
Changes:
=====================================
projects/firefox/build
=====================================
@@ -136,7 +136,7 @@ echo "Starting ./mach build $(date)"
mkdir $artifactsdir
# Copy the artifacts to the target directory
# Naming convention is the same as Mozilla uses for their artifacts
- cp -a obj-*/dist/*.tar.bz2 $artifactsdir/target.tar.bz2
+ cp -a obj-*/dist/*.tar.xz $artifactsdir/target.tar.xz
cp -a obj-*/dist/*.zip $artifactsdir/target.xpt_artifacts.zip
./mach python -m mozbuild.action.test_archive common $artifactsdir/target.common.tests.tar.gz
[% END %]
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] fixup! BB 43615: Add Gitlab Issue and Merge Request templates
by morgan (@morgan) 16 Jun '25
by morgan (@morgan) 16 Jun '25
16 Jun '25
morgan pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
a8f4f126 by Morgan at 2025-06-12T19:09:19+00:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add ~Emergency label and explicit optional Mullvad communication step
- - - - -
1 changed file:
- .gitlab/issue_templates/090 Emergency Security Issue.md
Changes:
=====================================
.gitlab/issue_templates/090 Emergency Security Issue.md
=====================================
@@ -82,6 +82,8 @@ Sometimes fixes have side-effects: users lose their data, roadmaps need to be ad
- if there are considerations or asks outside the Applications Team
- [ ] **(Optional)** **gazebook**
- if there are consequences to the organisation or partners beyond a browser update, then a communication plan may be needed
+ - [ ] **(Optional)** **ruihildt**
+ - if there are consequences to Mullvad and/or Mullvad Browser
Godspeed! :pray:
@@ -100,3 +102,4 @@ Godspeed! :pray:
/label ~"Apps::Product::MullvadBrowser"
/label ~"Apps::Type::Bug"
/label ~"Apps::Priority::Blocker"
+/label ~"Emergency"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a8f4f12…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a8f4f12…
You're receiving this email because of your account on gitlab.torproject.org.
1
0