tor-commits
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 215413 discussions
[Git][tpo/applications/tor-browser-build] Pushed new tag mb-12.5.2-build1
by richard (@richard) 01 Aug '23
by richard (@richard) 01 Aug '23
01 Aug '23
richard pushed new tag mb-12.5.2-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][maint-12.5] Bugs 40896, 40897: Tor Browser and Mullvad Browser 12.5.2
by richard (@richard) 01 Aug '23
by richard (@richard) 01 Aug '23
01 Aug '23
richard pushed to branch maint-12.5 at The Tor Project / Applications / tor-browser-build
Commits:
25465ba5 by Richard Pospesel at 2023-08-01T15:08:38+00:00
Bugs 40896, 40897: Tor Browser and Mullvad Browser 12.5.2
- - - - -
11 changed files:
- projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
- projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
- projects/browser/allowed_addons.json
- projects/browser/config
- projects/firefox/config
- projects/geckoview/config
- projects/go/config
- projects/manual/config
- projects/tor/config
- projects/translation/config
- rbm.conf
Changes:
=====================================
projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
=====================================
@@ -1,3 +1,54 @@
+Mullvad Browser 12.5.2 - July 31 2023
+ * All Platforms
+ * Updated NoScript to 11.4.26
+ * Upated uBlock Origin to 1.51.0
+ * Updated Firefox to 102.14.0esr
+ * Bug 217: Rebase Mullvad Browser 12.5 stable on top of 102.14esr [mullvad-browser]
+ * Build System
+ * All Platforms
+ * Bug 40889: Add mullvad sha256sums URL to tools/signing/download-unsigned-sha256sums-gpg-signatures-from-people-tpo [tor-browser-build]
+ * Bug 40894: Fix format of keyring/boklm.gpg [tor-browser-build]
+ * Bug 40909: Add dan_b and ma1 to list of taggers in relevant projects [tor-browser-build]
+ * Windows
+ * Bug 31546: Create and expose PDB files for Tor Browser debugging on Windows [tor-browser-build]
+
+Mullvad Browser 13.0a1 - July 20 2023
+ * All Platforms
+ * Updated NoScript to 11.4.25
+ * Updated uBlock Origin to 1.50.0
+ * Updated mullvad-browser-extension to 0.8.3
+ * Updated Firefox to 115.0.2esr
+ * Bug 166: Enable built-in URL anti-tracking query parameters stripping [mullvad-browser]
+ * Bug 183: Rebase Mullvad Browser to Firefox 115 [mullvad-browser]
+ * Bug 213: Add search engines to the default list [mullvad-browser]
+ * Bug 214: Enable cross-tab identity leak protection in "quiet" mode [mullvad-browser]
+ * Bug 26277: When "Safest" setting is enabled searching using duckduckgo should always use the Non-Javascript site for searches [tor-browser]
+ * Bug 33955: Selecting "Copy image" from menu leaks the source URL to the clipboard. This data is often dereferenced by other applications. [tor-browser]
+ * Bug 41759: Rebase Base Browser to 115 nightly [tor-browser]
+ * Bug 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons [tor-browser]
+ * Bug 41854: Download Spam Protection cannot be overridden to allow legitimate downloads [tor-browser]
+ * Bug 41874: Visual & A11 regressions in add-on badges [tor-browser]
+ * Windows
+ * Bug 41806: Prevent Private Browsing start menu item to be added automatically [tor-browser]
+ * Build System
+ * All Platforms
+ * Bug 40089: Clean up usage of get-moz-build-date script [tor-browser-build]
+ * Bug 40410: Get rid of python2 [tor-browser-build]
+ * Bug 40487: Bump Python version [tor-browser-build]
+ * Bug 40802: Drop the patch for making WASI reproducible [tor-browser-build]
+ * Bug 40836: Update do-all-signing script to also deploy mullvad-browser installer bins to dist.torproject.org [tor-browser-build]
+ * Bug 40868: Bump Rust to 1.69.0 [tor-browser-build]
+ * Bug 40881: do-all-signing is asking for nssdb7 password when signing mullvadbrowser [tor-browser-build]
+ * Bug 40882: Fix static-update-component command in issue_templates [tor-browser-build]
+ * Bug 40886: Update README with instructions for Arch linux [tor-browser-build]
+ * Bug 40889: Add mullvad sha256sums URL to tools/signing/download-unsigned-sha256sums-gpg-signatures-from-people-tpo [tor-browser-build]
+ * Bug 40894: Fix format of keyring/boklm.gpg [tor-browser-build]
+ * Bug 40898: Add doc from tor-browser-spec/processes/ReleaseProcess to gitlab issue templates [tor-browser-build]
+ * Windows
+ * Bug 40832: Unify mingw-w64-clang 32+64 bits [tor-browser-build]
+ * Linux
+ * Bug 40102: Move from Debian Jessie to Debian Stretch for our Linux builds [tor-browser-build]
+
Mullvad Browser 12.5.1 - July 5 2023
* All Platforms
* Updated Firefox to 102.13.0esr
=====================================
projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
=====================================
@@ -1,3 +1,66 @@
+Tor Browser 12.5.2 - July 31 2023
+ * All Platforms
+ * Updated Translations
+ * Updated NoScript to 11.4.26
+ * Bug 41908: Rebase stable 12.5 to 102.14esr [tor-browser]
+ * Windows + macOS + Linux
+ * Updated Firefox to 102.14.0esr
+ * Windows
+ * Bug 41761: xul.dll win crash tor-browser 12.5.1 (based on Mozilla Firefox 102.13.0esr) (64-Bit) [tor-browser]
+ * Android
+ * Updated GeckoView to 102.14.0esr
+ * Bug 41928: Backport Android-specific security fixes from Firefox 116 to ESR 102.14 / 115.1 - based Tor Browser [tor-browser]
+ * Build System
+ * All Platforms
+ * Updated Go to 1.20.6
+ * Bug 40889: Add mullvad sha256sums URL to tools/signing/download-unsigned-sha256sums-gpg-signatures-from-people-tpo [tor-browser-build]
+ * Bug 40894: Fix format of keyring/boklm.gpg [tor-browser-build]
+ * Bug 40909: Add dan_b and ma1 to list of taggers in relevant projects [tor-browser-build]
+ * Windows
+ * Bug 31546: Create and expose PDB files for Tor Browser debugging on Windows [tor-browser-build]
+
+Tor Browser 13.0a1 - July 20 2023
+ * All Platforms
+ * Updated Translations
+ * Updated NoScript to 11.4.25
+ * Updated OpenSSL to 3.0.9
+s * Updated tor to 0.4.8.2-alpha
+ * Bug 40577: Add "suggest url" in DDG onion's manifest [tor-browser]
+ * Bug 40885: Bump version of snowflake to v2.6.0 [tor-browser-build]
+ * Bug 40887: Update Webtunnel version to 38eb5505 [tor-browser-build]
+ * Bug 41092: Enable tracking query parameters stripping [tor-browser]
+ * Bug 41399: Update Mozilla's patch for Bug 1675054 to enable brotli encoding for HTTP onions as well [tor-browser]
+ * Bug 41759: Rebase Base Browser to 115 nightly [tor-browser]
+ * Bug 41796: Rebase Tor Browser to Firefox 115 [tor-browser]
+ * Windows + macOS + Linux
+ * Updated Firefox to 115.0.2esr
+ * Bug 26277: When "Safest" setting is enabled searching using duckduckgo should always use the Non-Javascript site for searches [tor-browser]
+ * Bug 33955: Selecting "Copy image" from menu leaks the source URL to the clipboard. This data is often dereferenced by other applications. [tor-browser]
+ * Bug 41741: Refactor the domain isolator and new circuit [tor-browser]
+ * Bug 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons [tor-browser]
+ * Bug 41842: Remove the old removal logics from Torbutton [tor-browser]
+ * Bug 41845: Stop forcing (bad) pref values for non-PBM users [tor-browser]
+ * Bug 41854: Download Spam Protection cannot be overridden to allow legitimate downloads [tor-browser]
+ * Bug 41874: Visual & A11 regressions in add-on badges [tor-browser]
+ * Build System
+ * All Platforms
+ * Updated Go to 1.20.6
+ * Bug 40089: Clean up usage of get-moz-build-date script [tor-browser-build]
+ * Bug 40410: Get rid of python2 [tor-browser-build]
+ * Bug 40487: Bump Python version [tor-browser-build]
+ * Bug 40802: Drop the patch for making WASI reproducible [tor-browser-build]
+ * Bug 40854: Update to OpenSSL 3.0 [tor-browser-build]
+ * Bug 40855: Update toolchains for Mozilla 115 [tor-browser-build]
+ * Bug 40868: Bump Rust to 1.69.0 [tor-browser-build]
+ * Bug 40886: Update README with instructions for Arch linux [tor-browser-build]
+ * Bug 40889: Add mullvad sha256sums URL to tools/signing/download-unsigned-sha256sums-gpg-signatures-from-people-tpo [tor-browser-build]
+ * Bug 40894: Fix format of keyring/boklm.gpg [tor-browser-build]
+ * Bug 40898: Add doc from tor-browser-spec/processes/ReleaseProcess to gitlab issue templates [tor-browser-build]
+ * Windows
+ * Bug 40832: Unify mingw-w64-clang 32+64 bits [tor-browser-build]
+ * Linux
+ * Bug 40102: Move from Debian Jessie to Debian Stretch for our Linux builds [tor-browser-build]
+
Tor Browser 12.5.1 - July 5 2023
* All Platforms
* Updated Translations
=====================================
projects/browser/allowed_addons.json
=====================================
@@ -17,7 +17,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/34/9734/13299734/13299734.pn…"
}
],
- "average_daily_users": 976479,
+ "average_daily_users": 962930,
"categories": {
"android": [
"experimental",
@@ -221,10 +221,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.56,
- "bayesian_average": 4.5588356415270255,
- "count": 5048,
- "text_count": 1588
+ "average": 4.559,
+ "bayesian_average": 4.557842722028656,
+ "count": 5084,
+ "text_count": 1599
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/reviews/",
"requires_payment": false,
@@ -321,7 +321,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/versions/",
- "weekly_downloads": 22317
+ "weekly_downloads": 23323
},
"notes": null
},
@@ -337,7 +337,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/56/7656/6937656/6937656.png?…"
}
],
- "average_daily_users": 254700,
+ "average_daily_users": 249584,
"categories": {
"android": [
"security-privacy"
@@ -553,10 +553,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.8141,
- "bayesian_average": 4.809441565441486,
- "count": 1345,
- "text_count": 239
+ "average": 4.8164,
+ "bayesian_average": 4.811755496156948,
+ "count": 1351,
+ "text_count": 238
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/reviews/",
"requires_payment": false,
@@ -641,7 +641,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/versions/",
- "weekly_downloads": 3367
+ "weekly_downloads": 3565
},
"notes": null
},
@@ -657,7 +657,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/73/4073/5474073/5474073.png?…"
}
],
- "average_daily_users": 1106740,
+ "average_daily_users": 1076689,
"categories": {
"android": [
"security-privacy"
@@ -1180,10 +1180,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.8001,
- "bayesian_average": 4.797318686786584,
- "count": 2246,
- "text_count": 430
+ "average": 4.8004,
+ "bayesian_average": 4.797633259374899,
+ "count": 2260,
+ "text_count": 431
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/reviews/",
"requires_payment": false,
@@ -1207,7 +1207,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/versions/",
- "weekly_downloads": 16212
+ "weekly_downloads": 17062
},
"notes": null
},
@@ -1223,7 +1223,7 @@
"picture_url": null
}
],
- "average_daily_users": 6343757,
+ "average_daily_users": 6222480,
"categories": {
"android": [
"security-privacy"
@@ -1235,7 +1235,7 @@
"contributions_url": "",
"created": "2015-04-25T07:26:22Z",
"current_version": {
- "id": 5577564,
+ "id": 5596914,
"compatibility": {
"firefox": {
"min": "78.0",
@@ -1246,7 +1246,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/55…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/55…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 6,
@@ -1257,22 +1257,22 @@
"url": "http://www.gnu.org/licenses/gpl-3.0.html"
},
"release_notes": {
- "en-US": "See complete release notes for <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/7fcd41188a6953809f0fad…" rel=\"nofollow\">1.50.0</a>.\n\n<b>Fixes / changes</b>\n\n<ul><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/977347fbc293beb1b00cf4…" rel=\"nofollow\">Add support to remove attributes in <code>xml-prune</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/c9e976bb7ba563f559cb84…" rel=\"nofollow\">Fix/improve <code>href-sanitizer</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/947fbffc69bbc18f1b4f8b…" rel=\"nofollow\">Add <code>evaldata-prune</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/6fabbf1578224a96f4235c…" rel=\"nofollow\">Add support for <code>xhr</code> in <code>xml-prune</code></a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/b9b7ca5319d3556ce0d3ed…" rel=\"nofollow\">Add <code>remove-node-text.js</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/da793e19009995cada9b48…" rel=\"nofollow\">Add <code>trusted-set-constant</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/66f1f4b1da03a7a8715f78…" rel=\"nofollow\">Support injecting scriptlet in MAIN or ISOLATED world</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/3fd6afc187b7b8c1500645…" rel=\"nofollow\">Add trusted-source support for privileged scriptlets (and add <code>replace-node-text</code> scriptlet)</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/6e4b972fd0290469b171e1…" rel=\"nofollow\">Add <code>spoof-css</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/4b36cc246f707b4874b088…" rel=\"nofollow\">Add back AdGuard Tracking Protection</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/8b57c0f1ab563a91cacf8b…" rel=\"nofollow\">Expand/harden some scriptlets</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/b09d7802d09b73339452c8…" rel=\"nofollow\">Return string when storage.sync.get() promise fails</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/2790102e66a40a639271d7…" rel=\"nofollow\">Do not bail out when <code>content-disposition</code> is <code>inline</code></a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/a84de6a39a7b337bb548e9…" rel=\"nofollow\">Fix improperly unselecting imported lists</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/a38daad10b996d4d90b5a8…" rel=\"nofollow\">Report injected scriptlets in troubleshooting information</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/38b66ee4efd37b2af4acfc…" rel=\"nofollow\">Fix rendering issue of row-filter icon in popup panel</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/554f8ab9f03ac96103840e…" rel=\"nofollow\">Add \"scriptlet\" filter expression to logger</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/ca5c705729c8d4abd4daa7…" rel=\"nofollow\">Fix hostname-detecting regex</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/73dff2c4f0d68678b7155e…" rel=\"nofollow\">Add support for sublists in \"Filter lists\" pane</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/bb5992c336ad2779412f27…" rel=\"nofollow\">Properly handle converted procedural filters in logger</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/ba761870d0433aa47eda9b…" rel=\"nofollow\">Mind small screen size in asset viewer</a></li><li>...</li></ul>\n<a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/5564d601607fa4079ea0e6…" rel=\"nofollow\">Commits history since last version</a>."
+ "en-US": "See complete release notes for <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/57eadd553bcb629be4f757…" rel=\"nofollow\">1.51.0</a>.\n\n<b>Fixes / changes</b>\n\n<ul><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/a578674b791ed67b926b31…" rel=\"nofollow\">Remove obsolete web<em>accessible</em>resources</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/7071379ad6c88fec4e40b3…" rel=\"nofollow\">Add missing (deprecated) method to google ima</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/bf46690e10ed8a086d9d50…" rel=\"nofollow\">Fix regression in handling of experimental <code>header=</code> filter option</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/f2328063ec5c7512d5899f…" rel=\"nofollow\">Only already normalized CSS selectors can be fast path-compiled</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/e271cd306c9578e0ed17c7…" rel=\"nofollow\">Improve compatibility with AdGuard's scriptlets</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/f42373a2522c9739807b48…" rel=\"nofollow\">Add static network filter option: <code>permissions</code></a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/f502abdb178413a344a43d…" rel=\"nofollow\">Add <code>set-attr</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/46449872121aa9a39f8fe5…" rel=\"nofollow\">Do not bail too early when trapping properties in <code>acs</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/76b28688717445a36e5ee4…" rel=\"nofollow\">Fix regression in cloud storage import of \"Filter lists\" pane</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/eb0f0fdfbd50904d7cd8e2…" rel=\"nofollow\">Add <code>set-session-storage-item</code> scriptlet</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/f125a8290e220a02336532…" rel=\"nofollow\">Prevent negative position when widget size is greater than viewport size</a><ul><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/e49ec519e35ce90b1ce424…" rel=\"nofollow\">Ensure no negative value for <code>top</code> property of floating widget in logger</a></li></ul></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/2398a39690c82a85f3fb23…" rel=\"nofollow\">Add visual hint when not all sublists are enabled</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/f549cc526fa10665161c86…" rel=\"nofollow\">Add support for AdGuard's noop (<code>_</code>) network filter option</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/c649c1ddb8b1d7f280a068…" rel=\"nofollow\">Add \"tabless\" filter expression for logger output</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/3f7e7d0a06e918e4c8b3f8…" rel=\"nofollow\">Add support for logical expressions to <code>!#if</code> directive</a><ul><li>Also added support for <code>!#else</code></li></ul></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/f1e827e5c4e256a0c832f9…" rel=\"nofollow\">Add resource aliases for increased compatibility with AdGuard lists</a></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/6f42d070e087002ada8f37…" rel=\"nofollow\">Add compatibility with AdGuard's <code>#%#//scriptlet(...)</code> syntax</a><ul><li>Also added support for quoted parameters in <code>##+js(...)</code> syntax</li></ul></li><li><a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/50632bd7b34e7e7185c764…" rel=\"nofollow\">Fix syntax highlighter throwing with invalid patterns</a></li><li>...</li></ul>\n<a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/7c755863346ab5ff9e77ae…" rel=\"nofollow\">Commits history since last version</a>."
},
- "reviewed": "2023-06-12T17:49:10Z",
- "version": "1.50.0",
+ "reviewed": "2023-07-25T09:58:22Z",
+ "version": "1.51.0",
"files": [
{
- "id": 4121906,
- "created": "2023-06-07T14:50:07Z",
- "hash": "sha256:10618003e70b528c3f17996e373146d39e6b15f777ac4ca1f214da2ffdb7a5b3",
+ "id": 4141256,
+ "created": "2023-07-19T23:09:25Z",
+ "hash": "sha256:8b73468bc233a11dd2895219466381783d19123857dd0b6fd16a01820fca4834",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 3504841,
+ "size": 3538418,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/4121906/ublock_origin-1.5…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/4141256/ublock_origin-1.5…",
"permissions": [
"dns",
"menus",
@@ -1388,7 +1388,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2023-06-29T19:20:30Z",
+ "last_updated": "2023-07-31T14:35:40Z",
"name": {
"ar": "uBlock Origin",
"bg": "uBlock Origin",
@@ -1533,10 +1533,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7818,
- "bayesian_average": 4.781401064910532,
- "count": 15597,
- "text_count": 4062
+ "average": 4.7821,
+ "bayesian_average": 4.78170472062552,
+ "count": 15763,
+ "text_count": 4095
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/reviews/",
"requires_payment": false,
@@ -1598,7 +1598,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/versions/",
- "weekly_downloads": 124486
+ "weekly_downloads": 131014
},
"notes": null
},
@@ -1614,7 +1614,7 @@
"picture_url": null
}
],
- "average_daily_users": 168312,
+ "average_daily_users": 167538,
"categories": {
"android": [
"photos-media"
@@ -1713,10 +1713,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.492,
- "bayesian_average": 4.486860720506839,
- "count": 1122,
- "text_count": 420
+ "average": 4.4916,
+ "bayesian_average": 4.486471885365025,
+ "count": 1129,
+ "text_count": 422
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/re…",
"requires_payment": false,
@@ -1738,7 +1738,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/ve…",
- "weekly_downloads": 341
+ "weekly_downloads": 312
},
"notes": null
},
@@ -1754,7 +1754,7 @@
"picture_url": null
}
],
- "average_daily_users": 87436,
+ "average_daily_users": 85413,
"categories": {
"android": [
"experimental",
@@ -1867,9 +1867,9 @@
],
"promoted": null,
"ratings": {
- "average": 4.37,
- "bayesian_average": 4.356186612333998,
- "count": 400,
+ "average": 4.3766,
+ "bayesian_average": 4.362648333186986,
+ "count": 401,
"text_count": 112
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/reviews/",
@@ -1892,7 +1892,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/versions/",
- "weekly_downloads": 1599
+ "weekly_downloads": 1759
},
"notes": null
},
@@ -1908,7 +1908,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/64/9064/12929064/12929064.pn…"
}
],
- "average_daily_users": 259583,
+ "average_daily_users": 257591,
"categories": {
"android": [
"photos-media",
@@ -1922,7 +1922,7 @@
"contributions_url": "https://www.paypal.com/donate?hosted_button_id=GLL4UNSNU6SQN&utm_content=pr…",
"created": "2017-06-17T15:23:33Z",
"current_version": {
- "id": 5574786,
+ "id": 5588477,
"compatibility": {
"firefox": {
"min": "91.0",
@@ -1933,7 +1933,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 6,
@@ -1946,20 +1946,20 @@
"release_notes": {
"en-US": "Learn more about this release from the <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/d50855f24f77fa6f2614b9…" rel=\"nofollow\">changelog</a>."
},
- "reviewed": "2023-06-13T17:09:40Z",
- "version": "5.6.0",
+ "reviewed": "2023-07-06T11:07:12Z",
+ "version": "5.7.0",
"files": [
{
- "id": 4119128,
- "created": "2023-06-01T20:36:45Z",
- "hash": "sha256:fb347a4756e87858fb7ad1e8cb44d3cc4374440d1abdb0fcb3d048c6d5b9c522",
+ "id": 4132819,
+ "created": "2023-07-02T12:35:20Z",
+ "hash": "sha256:9149335f16762c6d4f33ce39f036db763b8c4a3250f5e04e915b827da22a0eb1",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 1183625,
+ "size": 1198456,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/4119128/search_by_image-5…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/4132819/search_by_image-5…",
"permissions": [
"alarms",
"clipboardRead",
@@ -2001,7 +2001,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2023-06-13T17:09:40Z",
+ "last_updated": "2023-07-06T11:07:12Z",
"name": {
"en-US": "Search by Image"
},
@@ -2127,10 +2127,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.6496,
- "bayesian_average": 4.6449294901011795,
- "count": 1287,
- "text_count": 248
+ "average": 4.6525,
+ "bayesian_average": 4.647859623714072,
+ "count": 1298,
+ "text_count": 250
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/reviews/",
"requires_payment": false,
@@ -2151,7 +2151,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/versions/",
- "weekly_downloads": 3731
+ "weekly_downloads": 3948
},
"notes": null
},
@@ -2174,7 +2174,7 @@
"picture_url": null
}
],
- "average_daily_users": 111659,
+ "average_daily_users": 111141,
"categories": {
"android": [
"other"
@@ -2457,10 +2457,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4396,
- "bayesian_average": 4.43492961003513,
- "count": 1217,
- "text_count": 323
+ "average": 4.4207,
+ "bayesian_average": 4.416093483315006,
+ "count": 1229,
+ "text_count": 332
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/reviews/",
"requires_payment": false,
@@ -2480,7 +2480,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/versions/",
- "weekly_downloads": 17
+ "weekly_downloads": 52
},
"notes": null
},
@@ -2496,7 +2496,7 @@
"picture_url": "https://addons.mozilla.org/user-media/userpics/43/0143/143/143.png?modified…"
}
],
- "average_daily_users": 307856,
+ "average_daily_users": 301882,
"categories": {
"android": [
"performance",
@@ -2510,7 +2510,7 @@
"contributions_url": "https://www.paypal.com/donate/?hosted_button_id=9ERKTU5MBH4EW&utm_content=p…",
"created": "2005-05-13T10:51:32Z",
"current_version": {
- "id": 5587303,
+ "id": 5597003,
"compatibility": {
"firefox": {
"min": "59.0",
@@ -2521,7 +2521,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/noscript/versions/5587303",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/noscript/versions/5597003",
"is_strict_compatibility_enabled": false,
"license": {
"id": 13,
@@ -2532,22 +2532,22 @@
"url": "http://www.gnu.org/licenses/gpl-2.0.html"
},
"release_notes": {
- "en-US": "v 11.4.24\n============================================================\nx [XSS] Fix Base64 hash checks interfering with query string\n checks (thanks barbaz for reporting)\nx [TabGuard] Stop exempting domains bidirectionally by\n default\nx [TabGuard] Fix destination domain being reported as the\n trigger of a warning prompt when all the other tab-tied\n domains have been exempted (thanks barbaz for report)"
+ "en-US": "v 11.4.26\n============================================================\nx [Android] Fixed regression preventing NoScript prompts\n from being shown\nx [XSS] Fallback to execute most demanding regular\n expressions asynchronously\nx [XSS] Removed obsolete Flash-related checks\nx [XSS] Make InjectionChecker's regular expressions easier\n to debug\nx [XSS] Updated OpenID regexp"
},
- "reviewed": "2023-06-29T16:56:20Z",
- "version": "11.4.24",
+ "reviewed": "2023-07-25T09:58:54Z",
+ "version": "11.4.26",
"files": [
{
- "id": 4131645,
- "created": "2023-06-29T15:56:08Z",
- "hash": "sha256:e4b69777d7b9e06e93fcba93d065a246a53c2fa5e113605207836374e48a4fb5",
+ "id": 4141345,
+ "created": "2023-07-20T07:16:01Z",
+ "hash": "sha256:283db0eaebbd2888c1a852f5acabaa8e0225ff1eb1a97a25bceaedfd14d9f44c",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 950051,
+ "size": 952442,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/4131645/noscript-11.4.24.…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/4141345/noscript-11.4.26.…",
"permissions": [
"contextMenus",
"storage",
@@ -2614,7 +2614,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2023-06-29T16:56:20Z",
+ "last_updated": "2023-07-25T09:58:54Z",
"name": {
"de": "NoScript",
"el": "NoScript",
@@ -2686,10 +2686,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4062,
- "bayesian_average": 4.403489797240767,
- "count": 2080,
- "text_count": 807
+ "average": 4.4024,
+ "bayesian_average": 4.399703348010946,
+ "count": 2090,
+ "text_count": 811
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/reviews/",
"requires_payment": false,
@@ -2733,7 +2733,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/versions/",
- "weekly_downloads": 6997
+ "weekly_downloads": 7947
},
"notes": null
},
@@ -2749,7 +2749,7 @@
"picture_url": null
}
],
- "average_daily_users": 150711,
+ "average_daily_users": 149808,
"categories": {
"android": [
"performance",
@@ -2864,10 +2864,10 @@
"category": "recommended"
},
"ratings": {
- "average": 3.901,
- "bayesian_average": 3.8967503054386836,
- "count": 1141,
- "text_count": 403
+ "average": 3.9005,
+ "bayesian_average": 3.89624887816371,
+ "count": 1146,
+ "text_count": 406
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/revi…",
"requires_payment": false,
@@ -2886,7 +2886,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/vers…",
- "weekly_downloads": 1697
+ "weekly_downloads": 1645
},
"notes": null
}
=====================================
projects/browser/config
=====================================
@@ -103,12 +103,12 @@ input_files:
enable: '[% ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.mozilla.org/firefox/downloads/file/4131645/noscript-11.4.24.…
+ - URL: https://addons.mozilla.org/firefox/downloads/file/4141345/noscript-11.4.26.…
name: noscript
- sha256sum: e4b69777d7b9e06e93fcba93d065a246a53c2fa5e113605207836374e48a4fb5
- - URL: https://addons.mozilla.org/firefox/downloads/file/4121906/ublock_origin-1.5…
+ sha256sum: 283db0eaebbd2888c1a852f5acabaa8e0225ff1eb1a97a25bceaedfd14d9f44c
+ - URL: https://addons.mozilla.org/firefox/downloads/file/4141256/ublock_origin-1.5…
name: ublock-origin
- sha256sum: 10618003e70b528c3f17996e373146d39e6b15f777ac4ca1f214da2ffdb7a5b3
+ sha256sum: 8b73468bc233a11dd2895219466381783d19123857dd0b6fd16a01820fca4834
enable: '[% c("var/mullvad-browser") %]'
- URL: https://github.com/mullvad/browser-extension/releases/download/v0.8.3-firef…
name: mullvad-extension
=====================================
projects/firefox/config
=====================================
@@ -13,7 +13,7 @@ container:
use_container: 1
var:
- firefox_platform_version: 102.13.0
+ firefox_platform_version: 102.14.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '12.5'
browser_branch: '[% c("var/browser_series") %]-1'
=====================================
projects/geckoview/config
=====================================
@@ -13,7 +13,7 @@ container:
use_container: 1
var:
- geckoview_version: 102.13.0esr
+ geckoview_version: 102.14.0esr
browser_branch: 12.5-1
browser_build: 2
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
=====================================
projects/go/config
=====================================
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 1.20.5
+version: 1.20.6
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
container:
use_container: 1
@@ -119,7 +119,7 @@ input_files:
enable: '[% ! c("var/linux") %]'
- URL: 'https://golang.org/dl/go[% c("version") %].src.tar.gz'
name: go
- sha256sum: 9a15c133ba2cfafe79652f4815b62e7cfc267f68df1b9454c6ab2a3ca8b96a88
+ sha256sum: 62ee5bc6fb55b8bae8f705e0cb8df86d6453626b4ecf93279e2867092e0b7f70
- project: go-bootstrap
name: go-bootstrap
target_replace:
=====================================
projects/manual/config
=====================================
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
# To update, see doc/how-to-update-the-manual.txt
# Remember to update also the package's hash, with the version!
-version: 86602
+version: 88998
filename: 'manual-[% c("version") %]-[% c("var/build_id") %].tar.gz'
container:
use_container: 1
@@ -17,8 +17,8 @@ var:
input_files:
- project: container-image
- - URL: 'https://people.torproject.org/~pierov/tbb_files/manual_[% c("version") %].zip'
+ - URL: 'https://people.torproject.org/~richard/tbb_files/manual_[% c("version") %].zip'
name: manual
- sha256sum: ee3c5b7fbe9aa3dfaca546e2f6a57f2f740fb3d6332e8c827e5ba6cbf99299b3
+ sha256sum: 1be6cf35a3c9f243998b7611e9531d4a99591cc257cb55f3924f504b9ead71a7
- filename: packagemanual.py
name: package_script
=====================================
projects/tor/config
=====================================
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-version: 0.4.7.13
+version: 0.4.7.14
git_hash: 'tor-[% c("version") %]'
git_url: https://gitlab.torproject.org/tpo/core/tor.git
git_submodule: 1
=====================================
projects/translation/config
=====================================
@@ -6,19 +6,19 @@ version: '[% c("abbrev") %]'
steps:
base-browser:
base-browser: '[% INCLUDE build %]'
- git_hash: f43ccce2bc26ec711d94ef3e0246000f16d012df
+ git_hash: 3fd9777d984fb3f3c31f92c1a6be957413c3c4c7
targets:
nightly:
git_hash: 'base-browser'
base-browser-fluent:
base-browser-fluent: '[% INCLUDE build %]'
- git_hash: 1d597e0a5b6f1402c1170e2f65642810bdd586e3
+ git_hash: 6f64004400616a5956d1823a0e8176b60d212090
targets:
nightly:
git_hash: 'basebrowser-newidentityftl'
tor-browser:
tor-browser: '[% INCLUDE build %]'
- git_hash: ac9790fa9367c36fc0e2771409b1f0f3661d168d
+ git_hash: 70f7283dc31e6bd7b7ab954296ac960301d474f4
targets:
nightly:
git_hash: 'tor-browser'
@@ -26,7 +26,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: 399d0fcee55eacdc7e2d68cd84c824c4d924357f
+ git_hash: e037147c72348192ddd38c2a21712c65031b912c
targets:
nightly:
git_hash: 'fenix-torbrowserstringsxml'
=====================================
rbm.conf
=====================================
@@ -94,12 +94,11 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '12.5.1'
+ torbrowser_version: '12.5.2'
torbrowser_build: 'build1'
torbrowser_incremental_from:
+ - 12.5.1
- 12.5
- - 12.0.7
- - 12.0.6
updater_enabled: 1
build_mar: 1
mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]'
@@ -277,7 +276,6 @@ targets:
exe_name: mullvadbrowser
mar_channel_id: '[% c("var/projectname") %]-mullvad-[% c("var/channel") %]'
locales: []
- torbrowser_build: 'build1'
torbrowser-testbuild:
- testbuild
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] Pushed new tag base-browser-115.1.0esr-13.0-1-build2
by ma1 (@ma1) 01 Aug '23
by ma1 (@ma1) 01 Aug '23
01 Aug '23
ma1 pushed new tag base-browser-115.1.0esr-13.0-1-build2 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-115.1.0esr-13.0-1-build2
by ma1 (@ma1) 01 Aug '23
by ma1 (@ma1) 01 Aug '23
01 Aug '23
ma1 pushed new tag tor-browser-115.1.0esr-13.0-1-build2 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][base-browser-115.1.0esr-13.0-1] 4 commits: Bug 1821884 - Ensure consistent state for fullscreen/pointerlock warnings; r=Gijs
by ma1 (@ma1) 01 Aug '23
by ma1 (@ma1) 01 Aug '23
01 Aug '23
ma1 pushed to branch base-browser-115.1.0esr-13.0-1 at The Tor Project / Applications / Tor Browser
Commits:
45b89a93 by Edgar Chen at 2023-08-01T17:39:54+02:00
Bug 1821884 - Ensure consistent state for fullscreen/pointerlock warnings; r=Gijs
Fullscreen/PointerLock warnings are initialized with hidden="true", but
change to hidden="" after being shown and hidden again. I think this
started happening when we began using HTML elements instead of XUL as
they handle hidden attribute differently.
Differential Revision: https://phabricator.services.mozilla.com/D177790
- - - - -
1b031e60 by Edgar Chen at 2023-08-01T17:39:54+02:00
Bug 1821884 - Reshow initial fullscreen notification; r=Gijs
Depends on D177790
Differential Revision: https://phabricator.services.mozilla.com/D178339
- - - - -
33af6b34 by Eitan Isaacson at 2023-08-01T17:39:55+02:00
Bug 1819160 - Map Android ids to doc/accessible id pairs. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D179737
- - - - -
65183e25 by Jon Coppeard at 2023-08-01T17:39:55+02:00
Bug 1828024 - Require the helper thread lock in the GC helper thread count getter r=sfink
This makes us take a lock to read this state (we already lock when writing it).
Also it adds a release assert in case something goes wrong with the thread
count calculations, as a crash is preferable to the potential deadlock.
Differential Revision: https://phabricator.services.mozilla.com/D181257
- - - - -
12 changed files:
- accessible/android/SessionAccessibility.cpp
- accessible/android/SessionAccessibility.h
- accessible/ipc/DocAccessibleParent.cpp
- accessible/ipc/DocAccessibleParent.h
- accessible/ipc/moz.build
- browser/base/content/browser-fullScreenAndPointerLock.js
- browser/base/content/fullscreen-and-pointerlock.inc.xhtml
- browser/base/content/test/fullscreen/browser_fullscreen_warning.js
- dom/tests/browser/browser_pointerlock_warning.js
- js/src/gc/GC.cpp
- js/src/gc/ParallelMarking.cpp
- js/src/vm/HelperThreadState.h
Changes:
=====================================
accessible/android/SessionAccessibility.cpp
=====================================
@@ -269,12 +269,9 @@ RefPtr<SessionAccessibility> SessionAccessibility::GetInstanceFor(
return GetInstanceFor(doc->GetPresShell());
}
} else {
- DocAccessibleParent* remoteDoc = aAccessible->AsRemote()->Document();
- if (remoteDoc->mSessionAccessibility) {
- return remoteDoc->mSessionAccessibility;
- }
dom::CanonicalBrowsingContext* cbc =
- static_cast<dom::BrowserParent*>(remoteDoc->Manager())
+ static_cast<dom::BrowserParent*>(
+ aAccessible->AsRemote()->Document()->Manager())
->GetBrowsingContext()
->Top();
dom::BrowserParent* bp = cbc->GetBrowserParent();
@@ -285,10 +282,7 @@ RefPtr<SessionAccessibility> SessionAccessibility::GetInstanceFor(
if (auto element = bp->GetOwnerElement()) {
if (auto doc = element->OwnerDoc()) {
if (nsPresContext* presContext = doc->GetPresContext()) {
- RefPtr<SessionAccessibility> sessionAcc =
- GetInstanceFor(presContext->PresShell());
- remoteDoc->mSessionAccessibility = sessionAcc;
- return sessionAcc;
+ return GetInstanceFor(presContext->PresShell());
}
} else {
MOZ_ASSERT_UNREACHABLE(
@@ -684,14 +678,7 @@ void SessionAccessibility::PopulateNodeInfo(
}
Accessible* SessionAccessibility::GetAccessibleByID(int32_t aID) const {
- Accessible* accessible = mIDToAccessibleMap.Get(aID);
- if (accessible && accessible->IsLocal() &&
- accessible->AsLocal()->IsDefunct()) {
- MOZ_ASSERT_UNREACHABLE("Registered accessible is defunct!");
- return nullptr;
- }
-
- return accessible;
+ return mIDToAccessibleMap.Get(aID);
}
#ifdef DEBUG
@@ -705,6 +692,58 @@ static bool IsDetachedDoc(Accessible* aAccessible) {
}
#endif
+SessionAccessibility::IDMappingEntry::IDMappingEntry(Accessible* aAccessible)
+ : mInternalID(0) {
+ *this = aAccessible;
+}
+
+SessionAccessibility::IDMappingEntry&
+SessionAccessibility::IDMappingEntry::operator=(Accessible* aAccessible) {
+ mInternalID = aAccessible->ID();
+ MOZ_ASSERT(!(mInternalID & IS_REMOTE), "First bit is used in accessible ID!");
+ if (aAccessible->IsRemote()) {
+ mInternalID |= IS_REMOTE;
+ }
+
+ Accessible* docAcc = nsAccUtils::DocumentFor(aAccessible);
+ MOZ_ASSERT(docAcc);
+ if (docAcc) {
+ MOZ_ASSERT(docAcc->IsRemote() == aAccessible->IsRemote());
+ if (docAcc->IsRemote()) {
+ mDoc = docAcc->AsRemote()->AsDoc();
+ } else {
+ mDoc = docAcc->AsLocal();
+ }
+ }
+
+ return *this;
+}
+
+SessionAccessibility::IDMappingEntry::operator Accessible*() const {
+ if (mInternalID == 0) {
+ return static_cast<LocalAccessible*>(mDoc.get());
+ }
+
+ if (mInternalID == IS_REMOTE) {
+ return static_cast<DocAccessibleParent*>(mDoc.get());
+ }
+
+ if (mInternalID & IS_REMOTE) {
+ return static_cast<DocAccessibleParent*>(mDoc.get())
+ ->GetAccessible(mInternalID & ~IS_REMOTE);
+ }
+
+ Accessible* accessible =
+ static_cast<LocalAccessible*>(mDoc.get())
+ ->AsDoc()
+ ->GetAccessibleByUniqueID(reinterpret_cast<void*>(mInternalID));
+ // If the accessible is retrievable from the DocAccessible, it can't be
+ // defunct.
+ MOZ_ASSERT(!accessible->AsLocal()->IsDefunct());
+
+ return accessible;
+}
+
void SessionAccessibility::RegisterAccessible(Accessible* aAccessible) {
if (IPCAccessibilityActive()) {
// Don't register accessible in content process.
@@ -766,7 +805,6 @@ void SessionAccessibility::UnregisterAccessible(Accessible* aAccessible) {
}
RefPtr<SessionAccessibility> sessionAcc = GetInstanceFor(aAccessible);
- MOZ_ASSERT(sessionAcc, "Need SessionAccessibility to unregister Accessible!");
if (sessionAcc) {
Accessible* registeredAcc =
sessionAcc->mIDToAccessibleMap.Get(virtualViewID);
=====================================
accessible/android/SessionAccessibility.h
=====================================
@@ -110,10 +110,34 @@ class SessionAccessibility final
jni::NativeWeakPtr<widget::GeckoViewSupport> mWindow; // Parent only
java::SessionAccessibility::NativeProvider::GlobalRef mSessionAccessibility;
+ class IDMappingEntry {
+ public:
+ explicit IDMappingEntry(Accessible* aAccessible);
+
+ IDMappingEntry& operator=(Accessible* aAccessible);
+
+ operator Accessible*() const;
+
+ private:
+ // A strong reference to a DocAccessible or DocAccessibleParent. They don't
+ // share any useful base class except nsISupports, so we use that.
+ // When we retrieve the document from this reference we cast it to
+ // LocalAccessible in the DocAccessible case because DocAccessible has
+ // multiple inheritance paths for nsISupports.
+ RefPtr<nsISupports> mDoc;
+ // The ID of the accessible as used in the internal doc mapping.
+ // We rely on this ID being pointer derived and therefore divisible by two
+ // so we can use the first bit to mark if it is remote or not.
+ uint64_t mInternalID;
+
+ static const uintptr_t IS_REMOTE = 0x1;
+ };
+
/*
* This provides a mapping from 32 bit id to accessible objects.
*/
- nsTHashMap<nsUint32HashKey, Accessible*> mIDToAccessibleMap;
+ nsBaseHashtable<nsUint32HashKey, IDMappingEntry, Accessible*>
+ mIDToAccessibleMap;
};
} // namespace a11y
=====================================
accessible/ipc/DocAccessibleParent.cpp
=====================================
@@ -29,7 +29,6 @@
#endif
#if defined(ANDROID)
-# include "mozilla/a11y/SessionAccessibility.h"
# define ACQUIRE_ANDROID_LOCK \
MonitorAutoLock mal(nsAccessibilityService::GetAndroidMonitor());
#else
=====================================
accessible/ipc/DocAccessibleParent.h
=====================================
@@ -29,10 +29,6 @@ class xpcAccessibleGeneric;
class DocAccessiblePlatformExtParent;
#endif
-#ifdef ANDROID
-class SessionAccessibility;
-#endif
-
/*
* These objects live in the main process and comunicate with and represent
* an accessible document in a content process.
@@ -348,10 +344,6 @@ class DocAccessibleParent : public RemoteAccessible,
size_t SizeOfExcludingThis(MallocSizeOf aMallocSizeOf) override;
-#ifdef ANDROID
- RefPtr<SessionAccessibility> mSessionAccessibility;
-#endif
-
private:
~DocAccessibleParent();
=====================================
accessible/ipc/moz.build
=====================================
@@ -24,11 +24,6 @@ else:
LOCAL_INCLUDES += [
"/accessible/mac",
]
- elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
- LOCAL_INCLUDES += [
- "/accessible/android",
- "/widget/android",
- ]
else:
LOCAL_INCLUDES += [
"/accessible/other",
=====================================
browser/base/content/browser-fullScreenAndPointerLock.js
=====================================
@@ -62,9 +62,14 @@ var PointerlockFsWarning = {
this._element = document.getElementById(elementId);
// Setup event listeners
this._element.addEventListener("transitionend", this);
+ this._element.addEventListener("transitioncancel", this);
window.addEventListener("mousemove", this, true);
+ window.addEventListener("activate", this);
+ window.addEventListener("deactivate", this);
// The timeout to hide the warning box after a while.
this._timeoutHide = new this.Timeout(() => {
+ window.removeEventListener("activate", this);
+ window.removeEventListener("deactivate", this);
this._state = "hidden";
}, timeout);
// The timeout to show the warning box when the pointer is at the top
@@ -116,11 +121,10 @@ var PointerlockFsWarning = {
return;
}
- // Explicitly set the last state to hidden to avoid the warning
- // box being hidden immediately because of mousemove.
- this._state = "onscreen";
- this._lastState = "hidden";
- this._timeoutHide.start();
+ if (Services.focus.activeWindow == window) {
+ this._state = "onscreen";
+ this._timeoutHide.start();
+ }
},
/**
@@ -148,7 +152,10 @@ var PointerlockFsWarning = {
this._element.hidden = true;
// Remove all event listeners
this._element.removeEventListener("transitionend", this);
+ this._element.removeEventListener("transitioncancel", this);
window.removeEventListener("mousemove", this, true);
+ window.removeEventListener("activate", this);
+ window.removeEventListener("deactivate", this);
// Clear fields
this._element = null;
this._timeoutHide = null;
@@ -186,7 +193,7 @@ var PointerlockFsWarning = {
}
if (newState != "hidden") {
if (currentState != "hidden") {
- this._element.setAttribute(newState, true);
+ this._element.setAttribute(newState, "");
} else {
// When the previous state is hidden, the display was none,
// thus no box was constructed. We need to wait for the new
@@ -197,7 +204,7 @@ var PointerlockFsWarning = {
requestAnimationFrame(() => {
requestAnimationFrame(() => {
if (this._element) {
- this._element.setAttribute(newState, true);
+ this._element.setAttribute(newState, "");
}
});
});
@@ -217,7 +224,7 @@ var PointerlockFsWarning = {
} else if (this._timeoutShow.delay >= 0) {
this._timeoutShow.start();
}
- } else {
+ } else if (state != "onscreen") {
let elemRect = this._element.getBoundingClientRect();
if (state == "hiding" && this._lastState != "hidden") {
// If we are on the hiding transition, and the pointer
@@ -239,12 +246,23 @@ var PointerlockFsWarning = {
}
break;
}
- case "transitionend": {
+ case "transitionend":
+ case "transitioncancel": {
if (this._state == "hiding") {
this._element.hidden = true;
}
break;
}
+ case "activate": {
+ this._state = "onscreen";
+ this._timeoutHide.start();
+ break;
+ }
+ case "deactivate": {
+ this._state = "hidden";
+ this._timeoutHide.cancel();
+ break;
+ }
}
},
};
=====================================
browser/base/content/fullscreen-and-pointerlock.inc.xhtml
=====================================
@@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<html:div id="fullscreen-and-pointerlock-wrapper">
- <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="true">
+ <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="">
<html:div class="pointerlockfswarning-domain-text">
<html:span class="pointerlockfswarning-domain" data-l10n-name="domain"/>
</html:div>
@@ -20,7 +20,7 @@
</html:button>
</html:div>
- <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="true">
+ <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="">
<html:div class="pointerlockfswarning-domain-text">
<html:span class="pointerlockfswarning-domain" data-l10n-name="domain"/>
</html:div>
=====================================
browser/base/content/test/fullscreen/browser_fullscreen_warning.js
=====================================
@@ -3,14 +3,35 @@
"use strict";
-add_task(async function test_fullscreen_display_none() {
+function checkWarningState(aWarningElement, aExpectedState, aMsg) {
+ ["hidden", "ontop", "onscreen"].forEach(state => {
+ is(
+ aWarningElement.hasAttribute(state),
+ state == aExpectedState,
+ `${aMsg} - check ${state} attribute.`
+ );
+ });
+}
+
+async function waitForWarningState(aWarningElement, aExpectedState) {
+ await BrowserTestUtils.waitForAttribute(aExpectedState, aWarningElement, "");
+ checkWarningState(
+ aWarningElement,
+ aExpectedState,
+ `Wait for ${aExpectedState} state`
+ );
+}
+
+add_setup(async function init() {
await SpecialPowers.pushPrefEnv({
set: [
["full-screen-api.enabled", true],
["full-screen-api.allow-trusted-requests-only", false],
],
});
+});
+add_task(async function test_fullscreen_display_none() {
await BrowserTestUtils.withNewTab(
{
gBrowser,
@@ -30,11 +51,13 @@ add_task(async function test_fullscreen_display_none() {
},
async function (browser) {
let warning = document.getElementById("fullscreen-warning");
- let warningShownPromise = BrowserTestUtils.waitForAttribute(
- "onscreen",
+ checkWarningState(
warning,
- "true"
+ "hidden",
+ "Should not show full screen warning initially"
);
+
+ let warningShownPromise = waitForWarningState(warning, "onscreen");
// Enter fullscreen
await SpecialPowers.spawn(browser, [], async () => {
let frame = content.document.querySelector("iframe");
@@ -54,39 +77,33 @@ add_task(async function test_fullscreen_display_none() {
);
document.getElementById("fullscreen-exit-button").click();
await exitFullscreenPromise;
+
+ checkWarningState(
+ warning,
+ "hidden",
+ "Should hide fullscreen warning after exiting fullscreen"
+ );
}
);
});
add_task(async function test_fullscreen_pointerlock_conflict() {
- await SpecialPowers.pushPrefEnv({
- set: [
- ["full-screen-api.enabled", true],
- ["full-screen-api.allow-trusted-requests-only", false],
- ],
- });
-
await BrowserTestUtils.withNewTab("https://example.com", async browser => {
let fsWarning = document.getElementById("fullscreen-warning");
let plWarning = document.getElementById("pointerlock-warning");
- is(
- fsWarning.getAttribute("onscreen"),
- null,
- "Should not show full screen warning initially."
- );
- is(
- plWarning.getAttribute("onscreen"),
- null,
- "Should not show pointer lock warning initially."
- );
-
- let fsWarningShownPromise = BrowserTestUtils.waitForAttribute(
- "onscreen",
+ checkWarningState(
fsWarning,
- "true"
+ "hidden",
+ "Should not show full screen warning initially"
+ );
+ checkWarningState(
+ plWarning,
+ "hidden",
+ "Should not show pointer lock warning initially"
);
+ let fsWarningShownPromise = waitForWarningState(fsWarning, "onscreen");
info("Entering full screen and pointer lock.");
await SpecialPowers.spawn(browser, [], async () => {
await content.document.body.requestFullscreen();
@@ -94,15 +111,10 @@ add_task(async function test_fullscreen_pointerlock_conflict() {
});
await fsWarningShownPromise;
- is(
- fsWarning.getAttribute("onscreen"),
- "true",
- "Should show full screen warning."
- );
- is(
- plWarning.getAttribute("onscreen"),
- null,
- "Should not show pointer lock warning."
+ checkWarningState(
+ plWarning,
+ "hidden",
+ "Should not show pointer lock warning"
);
info("Exiting pointerlock");
@@ -110,18 +122,19 @@ add_task(async function test_fullscreen_pointerlock_conflict() {
await content.document.exitPointerLock();
});
- is(
- fsWarning.getAttribute("onscreen"),
- "true",
- "Should still show full screen warning."
+ checkWarningState(
+ fsWarning,
+ "onscreen",
+ "Should still show full screen warning"
);
- is(
- plWarning.getAttribute("onscreen"),
- null,
- "Should not show pointer lock warning."
+ checkWarningState(
+ plWarning,
+ "hidden",
+ "Should not show pointer lock warning"
);
// Cleanup
+ info("Exiting fullscreen");
await document.exitFullscreen();
});
});
=====================================
dom/tests/browser/browser_pointerlock_warning.js
=====================================
@@ -15,6 +15,25 @@ const FRAME_TEST_URL =
encodeURI(BODY_URL) +
'"></iframe></body>';
+function checkWarningState(aWarningElement, aExpectedState, aMsg) {
+ ["hidden", "ontop", "onscreen"].forEach(state => {
+ is(
+ aWarningElement.hasAttribute(state),
+ state == aExpectedState,
+ `${aMsg} - check ${state} attribute.`
+ );
+ });
+}
+
+async function waitForWarningState(aWarningElement, aExpectedState) {
+ await BrowserTestUtils.waitForAttribute(aExpectedState, aWarningElement, "");
+ checkWarningState(
+ aWarningElement,
+ aExpectedState,
+ `Wait for ${aExpectedState} state`
+ );
+}
+
// Make sure the pointerlock warning is shown and exited with the escape key
add_task(async function show_pointerlock_warning_escape() {
let urls = [TEST_URL, FRAME_TEST_URL];
@@ -24,11 +43,7 @@ add_task(async function show_pointerlock_warning_escape() {
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, url);
let warning = document.getElementById("pointerlock-warning");
- let warningShownPromise = BrowserTestUtils.waitForAttribute(
- "onscreen",
- warning,
- "true"
- );
+ let warningShownPromise = waitForWarningState(warning, "onscreen");
let expectedWarningText;
@@ -49,11 +64,7 @@ add_task(async function show_pointerlock_warning_escape() {
ok(true, "Pointerlock warning shown");
- let warningHiddenPromise = BrowserTestUtils.waitForAttribute(
- "hidden",
- warning,
- ""
- );
+ let warningHiddenPromise = waitForWarningState(warning, "hidden");
await BrowserTestUtils.waitForCondition(
() => warning.innerText == expectedWarningText,
=====================================
js/src/gc/GC.cpp
=====================================
@@ -1331,6 +1331,11 @@ void GCRuntime::assertNoMarkingWork() const {
}
#endif
+static size_t GetGCParallelThreadCount() {
+ AutoLockHelperThreadState lock;
+ return HelperThreadState().getGCParallelThreadCount(lock);
+}
+
bool GCRuntime::updateMarkersVector() {
MOZ_ASSERT(helperThreadCount >= 1,
"There must always be at least one mark task");
@@ -1339,8 +1344,8 @@ bool GCRuntime::updateMarkersVector() {
// Limit worker count to number of GC parallel tasks that can run
// concurrently, otherwise one thread can deadlock waiting on another.
- size_t targetCount = std::min(markingWorkerCount(),
- HelperThreadState().getGCParallelThreadCount());
+ size_t targetCount =
+ std::min(markingWorkerCount(), GetGCParallelThreadCount());
if (markers.length() > targetCount) {
return markers.resize(targetCount);
=====================================
js/src/gc/ParallelMarking.cpp
=====================================
@@ -103,6 +103,10 @@ bool ParallelMarker::markOneColor(MarkColor color, SliceBudget& sliceBudget) {
{
AutoLockHelperThreadState lock;
+ // There should always be enough parallel tasks to run our marking work.
+ MOZ_RELEASE_ASSERT(HelperThreadState().getGCParallelThreadCount(lock) >=
+ workerCount());
+
for (size_t i = 0; i < workerCount(); i++) {
gc->startTask(*tasks[i], lock);
}
=====================================
js/src/vm/HelperThreadState.h
=====================================
@@ -333,9 +333,11 @@ class GlobalHelperThreadState {
GCParallelTaskList& gcParallelWorklist() { return gcParallelWorklist_; }
- size_t getGCParallelThreadCount() const { return gcParallelThreadCount; }
+ size_t getGCParallelThreadCount(const AutoLockHelperThreadState& lock) const {
+ return gcParallelThreadCount;
+ }
void setGCParallelThreadCount(size_t count,
- const AutoLockHelperThreadState&) {
+ const AutoLockHelperThreadState& lock) {
MOZ_ASSERT(count >= 1);
MOZ_ASSERT(count <= threadCount);
gcParallelThreadCount = count;
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/c847c7…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/c847c7…
You're receiving this email because of your account on gitlab.torproject.org.
1
0
[Git][tpo/applications/tor-browser-build][maint-12.5] Bug 31546 (fix): Remove the -linux64 suffix from geckodriver
by richard (@richard) 01 Aug '23
by richard (@richard) 01 Aug '23
01 Aug '23
richard pushed to branch maint-12.5 at The Tor Project / Applications / tor-browser-build
Commits:
ed3f291b by Pier Angelo Vendrame at 2023-08-01T16:59:15+02:00
Bug 31546 (fix): Remove the -linux64 suffix from geckodriver
We removed the -linux64 suffix from GeckoDriver, because we intend
enabling it also for other platforms than Linux-x86_64 and for more
consistency with the other artifacts.
However, I forgot to update the filename in projects/firefox/build on
my previous commit.
- - - - -
1 changed file:
- projects/firefox/build
Changes:
=====================================
projects/firefox/build
=====================================
@@ -351,7 +351,7 @@ END;
[% IF c("var/linux-x86_64") && !c("var/asan") -%]
[% c('tar', {
tar_src => [ 'geckodriver' ],
- tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/geckodriver-linux64.tar.xz',
+ tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/geckodriver.tar.xz',
}) %]
[% END %]
[% ELSIF c("var/windows") -%]
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e…
You're receiving this email because of your account on gitlab.torproject.org.
1
0
[Git][tpo/applications/tor-browser][tor-browser-115.1.0esr-13.0-1] 4 commits: Bug 1821884 - Ensure consistent state for fullscreen/pointerlock warnings; r=Gijs
by ma1 (@ma1) 01 Aug '23
by ma1 (@ma1) 01 Aug '23
01 Aug '23
ma1 pushed to branch tor-browser-115.1.0esr-13.0-1 at The Tor Project / Applications / Tor Browser
Commits:
a9279174 by Edgar Chen at 2023-07-31T23:49:06+02:00
Bug 1821884 - Ensure consistent state for fullscreen/pointerlock warnings; r=Gijs
Fullscreen/PointerLock warnings are initialized with hidden="true", but
change to hidden="" after being shown and hidden again. I think this
started happening when we began using HTML elements instead of XUL as
they handle hidden attribute differently.
Differential Revision: https://phabricator.services.mozilla.com/D177790
- - - - -
9f2eaedb by Edgar Chen at 2023-07-31T23:49:06+02:00
Bug 1821884 - Reshow initial fullscreen notification; r=Gijs
Depends on D177790
Differential Revision: https://phabricator.services.mozilla.com/D178339
- - - - -
30d19aa0 by Eitan Isaacson at 2023-07-31T23:49:07+02:00
Bug 1819160 - Map Android ids to doc/accessible id pairs. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D179737
- - - - -
efee8978 by Jon Coppeard at 2023-07-31T23:49:07+02:00
Bug 1828024 - Require the helper thread lock in the GC helper thread count getter r=sfink
This makes us take a lock to read this state (we already lock when writing it).
Also it adds a release assert in case something goes wrong with the thread
count calculations, as a crash is preferable to the potential deadlock.
Differential Revision: https://phabricator.services.mozilla.com/D181257
- - - - -
12 changed files:
- accessible/android/SessionAccessibility.cpp
- accessible/android/SessionAccessibility.h
- accessible/ipc/DocAccessibleParent.cpp
- accessible/ipc/DocAccessibleParent.h
- accessible/ipc/moz.build
- browser/base/content/browser-fullScreenAndPointerLock.js
- browser/base/content/fullscreen-and-pointerlock.inc.xhtml
- browser/base/content/test/fullscreen/browser_fullscreen_warning.js
- dom/tests/browser/browser_pointerlock_warning.js
- js/src/gc/GC.cpp
- js/src/gc/ParallelMarking.cpp
- js/src/vm/HelperThreadState.h
Changes:
=====================================
accessible/android/SessionAccessibility.cpp
=====================================
@@ -269,12 +269,9 @@ RefPtr<SessionAccessibility> SessionAccessibility::GetInstanceFor(
return GetInstanceFor(doc->GetPresShell());
}
} else {
- DocAccessibleParent* remoteDoc = aAccessible->AsRemote()->Document();
- if (remoteDoc->mSessionAccessibility) {
- return remoteDoc->mSessionAccessibility;
- }
dom::CanonicalBrowsingContext* cbc =
- static_cast<dom::BrowserParent*>(remoteDoc->Manager())
+ static_cast<dom::BrowserParent*>(
+ aAccessible->AsRemote()->Document()->Manager())
->GetBrowsingContext()
->Top();
dom::BrowserParent* bp = cbc->GetBrowserParent();
@@ -285,10 +282,7 @@ RefPtr<SessionAccessibility> SessionAccessibility::GetInstanceFor(
if (auto element = bp->GetOwnerElement()) {
if (auto doc = element->OwnerDoc()) {
if (nsPresContext* presContext = doc->GetPresContext()) {
- RefPtr<SessionAccessibility> sessionAcc =
- GetInstanceFor(presContext->PresShell());
- remoteDoc->mSessionAccessibility = sessionAcc;
- return sessionAcc;
+ return GetInstanceFor(presContext->PresShell());
}
} else {
MOZ_ASSERT_UNREACHABLE(
@@ -684,14 +678,7 @@ void SessionAccessibility::PopulateNodeInfo(
}
Accessible* SessionAccessibility::GetAccessibleByID(int32_t aID) const {
- Accessible* accessible = mIDToAccessibleMap.Get(aID);
- if (accessible && accessible->IsLocal() &&
- accessible->AsLocal()->IsDefunct()) {
- MOZ_ASSERT_UNREACHABLE("Registered accessible is defunct!");
- return nullptr;
- }
-
- return accessible;
+ return mIDToAccessibleMap.Get(aID);
}
#ifdef DEBUG
@@ -705,6 +692,58 @@ static bool IsDetachedDoc(Accessible* aAccessible) {
}
#endif
+SessionAccessibility::IDMappingEntry::IDMappingEntry(Accessible* aAccessible)
+ : mInternalID(0) {
+ *this = aAccessible;
+}
+
+SessionAccessibility::IDMappingEntry&
+SessionAccessibility::IDMappingEntry::operator=(Accessible* aAccessible) {
+ mInternalID = aAccessible->ID();
+ MOZ_ASSERT(!(mInternalID & IS_REMOTE), "First bit is used in accessible ID!");
+ if (aAccessible->IsRemote()) {
+ mInternalID |= IS_REMOTE;
+ }
+
+ Accessible* docAcc = nsAccUtils::DocumentFor(aAccessible);
+ MOZ_ASSERT(docAcc);
+ if (docAcc) {
+ MOZ_ASSERT(docAcc->IsRemote() == aAccessible->IsRemote());
+ if (docAcc->IsRemote()) {
+ mDoc = docAcc->AsRemote()->AsDoc();
+ } else {
+ mDoc = docAcc->AsLocal();
+ }
+ }
+
+ return *this;
+}
+
+SessionAccessibility::IDMappingEntry::operator Accessible*() const {
+ if (mInternalID == 0) {
+ return static_cast<LocalAccessible*>(mDoc.get());
+ }
+
+ if (mInternalID == IS_REMOTE) {
+ return static_cast<DocAccessibleParent*>(mDoc.get());
+ }
+
+ if (mInternalID & IS_REMOTE) {
+ return static_cast<DocAccessibleParent*>(mDoc.get())
+ ->GetAccessible(mInternalID & ~IS_REMOTE);
+ }
+
+ Accessible* accessible =
+ static_cast<LocalAccessible*>(mDoc.get())
+ ->AsDoc()
+ ->GetAccessibleByUniqueID(reinterpret_cast<void*>(mInternalID));
+ // If the accessible is retrievable from the DocAccessible, it can't be
+ // defunct.
+ MOZ_ASSERT(!accessible->AsLocal()->IsDefunct());
+
+ return accessible;
+}
+
void SessionAccessibility::RegisterAccessible(Accessible* aAccessible) {
if (IPCAccessibilityActive()) {
// Don't register accessible in content process.
@@ -766,7 +805,6 @@ void SessionAccessibility::UnregisterAccessible(Accessible* aAccessible) {
}
RefPtr<SessionAccessibility> sessionAcc = GetInstanceFor(aAccessible);
- MOZ_ASSERT(sessionAcc, "Need SessionAccessibility to unregister Accessible!");
if (sessionAcc) {
Accessible* registeredAcc =
sessionAcc->mIDToAccessibleMap.Get(virtualViewID);
=====================================
accessible/android/SessionAccessibility.h
=====================================
@@ -110,10 +110,34 @@ class SessionAccessibility final
jni::NativeWeakPtr<widget::GeckoViewSupport> mWindow; // Parent only
java::SessionAccessibility::NativeProvider::GlobalRef mSessionAccessibility;
+ class IDMappingEntry {
+ public:
+ explicit IDMappingEntry(Accessible* aAccessible);
+
+ IDMappingEntry& operator=(Accessible* aAccessible);
+
+ operator Accessible*() const;
+
+ private:
+ // A strong reference to a DocAccessible or DocAccessibleParent. They don't
+ // share any useful base class except nsISupports, so we use that.
+ // When we retrieve the document from this reference we cast it to
+ // LocalAccessible in the DocAccessible case because DocAccessible has
+ // multiple inheritance paths for nsISupports.
+ RefPtr<nsISupports> mDoc;
+ // The ID of the accessible as used in the internal doc mapping.
+ // We rely on this ID being pointer derived and therefore divisible by two
+ // so we can use the first bit to mark if it is remote or not.
+ uint64_t mInternalID;
+
+ static const uintptr_t IS_REMOTE = 0x1;
+ };
+
/*
* This provides a mapping from 32 bit id to accessible objects.
*/
- nsTHashMap<nsUint32HashKey, Accessible*> mIDToAccessibleMap;
+ nsBaseHashtable<nsUint32HashKey, IDMappingEntry, Accessible*>
+ mIDToAccessibleMap;
};
} // namespace a11y
=====================================
accessible/ipc/DocAccessibleParent.cpp
=====================================
@@ -29,7 +29,6 @@
#endif
#if defined(ANDROID)
-# include "mozilla/a11y/SessionAccessibility.h"
# define ACQUIRE_ANDROID_LOCK \
MonitorAutoLock mal(nsAccessibilityService::GetAndroidMonitor());
#else
=====================================
accessible/ipc/DocAccessibleParent.h
=====================================
@@ -29,10 +29,6 @@ class xpcAccessibleGeneric;
class DocAccessiblePlatformExtParent;
#endif
-#ifdef ANDROID
-class SessionAccessibility;
-#endif
-
/*
* These objects live in the main process and comunicate with and represent
* an accessible document in a content process.
@@ -348,10 +344,6 @@ class DocAccessibleParent : public RemoteAccessible,
size_t SizeOfExcludingThis(MallocSizeOf aMallocSizeOf) override;
-#ifdef ANDROID
- RefPtr<SessionAccessibility> mSessionAccessibility;
-#endif
-
private:
~DocAccessibleParent();
=====================================
accessible/ipc/moz.build
=====================================
@@ -24,11 +24,6 @@ else:
LOCAL_INCLUDES += [
"/accessible/mac",
]
- elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
- LOCAL_INCLUDES += [
- "/accessible/android",
- "/widget/android",
- ]
else:
LOCAL_INCLUDES += [
"/accessible/other",
=====================================
browser/base/content/browser-fullScreenAndPointerLock.js
=====================================
@@ -62,9 +62,14 @@ var PointerlockFsWarning = {
this._element = document.getElementById(elementId);
// Setup event listeners
this._element.addEventListener("transitionend", this);
+ this._element.addEventListener("transitioncancel", this);
window.addEventListener("mousemove", this, true);
+ window.addEventListener("activate", this);
+ window.addEventListener("deactivate", this);
// The timeout to hide the warning box after a while.
this._timeoutHide = new this.Timeout(() => {
+ window.removeEventListener("activate", this);
+ window.removeEventListener("deactivate", this);
this._state = "hidden";
}, timeout);
// The timeout to show the warning box when the pointer is at the top
@@ -116,11 +121,10 @@ var PointerlockFsWarning = {
return;
}
- // Explicitly set the last state to hidden to avoid the warning
- // box being hidden immediately because of mousemove.
- this._state = "onscreen";
- this._lastState = "hidden";
- this._timeoutHide.start();
+ if (Services.focus.activeWindow == window) {
+ this._state = "onscreen";
+ this._timeoutHide.start();
+ }
},
/**
@@ -148,7 +152,10 @@ var PointerlockFsWarning = {
this._element.hidden = true;
// Remove all event listeners
this._element.removeEventListener("transitionend", this);
+ this._element.removeEventListener("transitioncancel", this);
window.removeEventListener("mousemove", this, true);
+ window.removeEventListener("activate", this);
+ window.removeEventListener("deactivate", this);
// Clear fields
this._element = null;
this._timeoutHide = null;
@@ -186,7 +193,7 @@ var PointerlockFsWarning = {
}
if (newState != "hidden") {
if (currentState != "hidden") {
- this._element.setAttribute(newState, true);
+ this._element.setAttribute(newState, "");
} else {
// When the previous state is hidden, the display was none,
// thus no box was constructed. We need to wait for the new
@@ -197,7 +204,7 @@ var PointerlockFsWarning = {
requestAnimationFrame(() => {
requestAnimationFrame(() => {
if (this._element) {
- this._element.setAttribute(newState, true);
+ this._element.setAttribute(newState, "");
}
});
});
@@ -217,7 +224,7 @@ var PointerlockFsWarning = {
} else if (this._timeoutShow.delay >= 0) {
this._timeoutShow.start();
}
- } else {
+ } else if (state != "onscreen") {
let elemRect = this._element.getBoundingClientRect();
if (state == "hiding" && this._lastState != "hidden") {
// If we are on the hiding transition, and the pointer
@@ -239,12 +246,23 @@ var PointerlockFsWarning = {
}
break;
}
- case "transitionend": {
+ case "transitionend":
+ case "transitioncancel": {
if (this._state == "hiding") {
this._element.hidden = true;
}
break;
}
+ case "activate": {
+ this._state = "onscreen";
+ this._timeoutHide.start();
+ break;
+ }
+ case "deactivate": {
+ this._state = "hidden";
+ this._timeoutHide.cancel();
+ break;
+ }
}
},
};
=====================================
browser/base/content/fullscreen-and-pointerlock.inc.xhtml
=====================================
@@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<html:div id="fullscreen-and-pointerlock-wrapper">
- <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="true">
+ <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="">
<html:div class="pointerlockfswarning-domain-text">
<html:span class="pointerlockfswarning-domain" data-l10n-name="domain"/>
</html:div>
@@ -20,7 +20,7 @@
</html:button>
</html:div>
- <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="true">
+ <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="">
<html:div class="pointerlockfswarning-domain-text">
<html:span class="pointerlockfswarning-domain" data-l10n-name="domain"/>
</html:div>
=====================================
browser/base/content/test/fullscreen/browser_fullscreen_warning.js
=====================================
@@ -3,14 +3,35 @@
"use strict";
-add_task(async function test_fullscreen_display_none() {
+function checkWarningState(aWarningElement, aExpectedState, aMsg) {
+ ["hidden", "ontop", "onscreen"].forEach(state => {
+ is(
+ aWarningElement.hasAttribute(state),
+ state == aExpectedState,
+ `${aMsg} - check ${state} attribute.`
+ );
+ });
+}
+
+async function waitForWarningState(aWarningElement, aExpectedState) {
+ await BrowserTestUtils.waitForAttribute(aExpectedState, aWarningElement, "");
+ checkWarningState(
+ aWarningElement,
+ aExpectedState,
+ `Wait for ${aExpectedState} state`
+ );
+}
+
+add_setup(async function init() {
await SpecialPowers.pushPrefEnv({
set: [
["full-screen-api.enabled", true],
["full-screen-api.allow-trusted-requests-only", false],
],
});
+});
+add_task(async function test_fullscreen_display_none() {
await BrowserTestUtils.withNewTab(
{
gBrowser,
@@ -30,11 +51,13 @@ add_task(async function test_fullscreen_display_none() {
},
async function (browser) {
let warning = document.getElementById("fullscreen-warning");
- let warningShownPromise = BrowserTestUtils.waitForAttribute(
- "onscreen",
+ checkWarningState(
warning,
- "true"
+ "hidden",
+ "Should not show full screen warning initially"
);
+
+ let warningShownPromise = waitForWarningState(warning, "onscreen");
// Enter fullscreen
await SpecialPowers.spawn(browser, [], async () => {
let frame = content.document.querySelector("iframe");
@@ -54,39 +77,33 @@ add_task(async function test_fullscreen_display_none() {
);
document.getElementById("fullscreen-exit-button").click();
await exitFullscreenPromise;
+
+ checkWarningState(
+ warning,
+ "hidden",
+ "Should hide fullscreen warning after exiting fullscreen"
+ );
}
);
});
add_task(async function test_fullscreen_pointerlock_conflict() {
- await SpecialPowers.pushPrefEnv({
- set: [
- ["full-screen-api.enabled", true],
- ["full-screen-api.allow-trusted-requests-only", false],
- ],
- });
-
await BrowserTestUtils.withNewTab("https://example.com", async browser => {
let fsWarning = document.getElementById("fullscreen-warning");
let plWarning = document.getElementById("pointerlock-warning");
- is(
- fsWarning.getAttribute("onscreen"),
- null,
- "Should not show full screen warning initially."
- );
- is(
- plWarning.getAttribute("onscreen"),
- null,
- "Should not show pointer lock warning initially."
- );
-
- let fsWarningShownPromise = BrowserTestUtils.waitForAttribute(
- "onscreen",
+ checkWarningState(
fsWarning,
- "true"
+ "hidden",
+ "Should not show full screen warning initially"
+ );
+ checkWarningState(
+ plWarning,
+ "hidden",
+ "Should not show pointer lock warning initially"
);
+ let fsWarningShownPromise = waitForWarningState(fsWarning, "onscreen");
info("Entering full screen and pointer lock.");
await SpecialPowers.spawn(browser, [], async () => {
await content.document.body.requestFullscreen();
@@ -94,15 +111,10 @@ add_task(async function test_fullscreen_pointerlock_conflict() {
});
await fsWarningShownPromise;
- is(
- fsWarning.getAttribute("onscreen"),
- "true",
- "Should show full screen warning."
- );
- is(
- plWarning.getAttribute("onscreen"),
- null,
- "Should not show pointer lock warning."
+ checkWarningState(
+ plWarning,
+ "hidden",
+ "Should not show pointer lock warning"
);
info("Exiting pointerlock");
@@ -110,18 +122,19 @@ add_task(async function test_fullscreen_pointerlock_conflict() {
await content.document.exitPointerLock();
});
- is(
- fsWarning.getAttribute("onscreen"),
- "true",
- "Should still show full screen warning."
+ checkWarningState(
+ fsWarning,
+ "onscreen",
+ "Should still show full screen warning"
);
- is(
- plWarning.getAttribute("onscreen"),
- null,
- "Should not show pointer lock warning."
+ checkWarningState(
+ plWarning,
+ "hidden",
+ "Should not show pointer lock warning"
);
// Cleanup
+ info("Exiting fullscreen");
await document.exitFullscreen();
});
});
=====================================
dom/tests/browser/browser_pointerlock_warning.js
=====================================
@@ -15,6 +15,25 @@ const FRAME_TEST_URL =
encodeURI(BODY_URL) +
'"></iframe></body>';
+function checkWarningState(aWarningElement, aExpectedState, aMsg) {
+ ["hidden", "ontop", "onscreen"].forEach(state => {
+ is(
+ aWarningElement.hasAttribute(state),
+ state == aExpectedState,
+ `${aMsg} - check ${state} attribute.`
+ );
+ });
+}
+
+async function waitForWarningState(aWarningElement, aExpectedState) {
+ await BrowserTestUtils.waitForAttribute(aExpectedState, aWarningElement, "");
+ checkWarningState(
+ aWarningElement,
+ aExpectedState,
+ `Wait for ${aExpectedState} state`
+ );
+}
+
// Make sure the pointerlock warning is shown and exited with the escape key
add_task(async function show_pointerlock_warning_escape() {
let urls = [TEST_URL, FRAME_TEST_URL];
@@ -24,11 +43,7 @@ add_task(async function show_pointerlock_warning_escape() {
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, url);
let warning = document.getElementById("pointerlock-warning");
- let warningShownPromise = BrowserTestUtils.waitForAttribute(
- "onscreen",
- warning,
- "true"
- );
+ let warningShownPromise = waitForWarningState(warning, "onscreen");
let expectedWarningText;
@@ -49,11 +64,7 @@ add_task(async function show_pointerlock_warning_escape() {
ok(true, "Pointerlock warning shown");
- let warningHiddenPromise = BrowserTestUtils.waitForAttribute(
- "hidden",
- warning,
- ""
- );
+ let warningHiddenPromise = waitForWarningState(warning, "hidden");
await BrowserTestUtils.waitForCondition(
() => warning.innerText == expectedWarningText,
=====================================
js/src/gc/GC.cpp
=====================================
@@ -1331,6 +1331,11 @@ void GCRuntime::assertNoMarkingWork() const {
}
#endif
+static size_t GetGCParallelThreadCount() {
+ AutoLockHelperThreadState lock;
+ return HelperThreadState().getGCParallelThreadCount(lock);
+}
+
bool GCRuntime::updateMarkersVector() {
MOZ_ASSERT(helperThreadCount >= 1,
"There must always be at least one mark task");
@@ -1339,8 +1344,8 @@ bool GCRuntime::updateMarkersVector() {
// Limit worker count to number of GC parallel tasks that can run
// concurrently, otherwise one thread can deadlock waiting on another.
- size_t targetCount = std::min(markingWorkerCount(),
- HelperThreadState().getGCParallelThreadCount());
+ size_t targetCount =
+ std::min(markingWorkerCount(), GetGCParallelThreadCount());
if (markers.length() > targetCount) {
return markers.resize(targetCount);
=====================================
js/src/gc/ParallelMarking.cpp
=====================================
@@ -103,6 +103,10 @@ bool ParallelMarker::markOneColor(MarkColor color, SliceBudget& sliceBudget) {
{
AutoLockHelperThreadState lock;
+ // There should always be enough parallel tasks to run our marking work.
+ MOZ_RELEASE_ASSERT(HelperThreadState().getGCParallelThreadCount(lock) >=
+ workerCount());
+
for (size_t i = 0; i < workerCount(); i++) {
gc->startTask(*tasks[i], lock);
}
=====================================
js/src/vm/HelperThreadState.h
=====================================
@@ -333,9 +333,11 @@ class GlobalHelperThreadState {
GCParallelTaskList& gcParallelWorklist() { return gcParallelWorklist_; }
- size_t getGCParallelThreadCount() const { return gcParallelThreadCount; }
+ size_t getGCParallelThreadCount(const AutoLockHelperThreadState& lock) const {
+ return gcParallelThreadCount;
+ }
void setGCParallelThreadCount(size_t count,
- const AutoLockHelperThreadState&) {
+ const AutoLockHelperThreadState& lock) {
MOZ_ASSERT(count >= 1);
MOZ_ASSERT(count <= threadCount);
gcParallelThreadCount = count;
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/c4e8cd…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/c4e8cd…
You're receiving this email because of your account on gitlab.torproject.org.
1
0
[Git][tpo/applications/tor-browser-build][main] Bug 40905: Avoid replacing .*browser-testbuild targets
by boklm (@boklm) 01 Aug '23
by boklm (@boklm) 01 Aug '23
01 Aug '23
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
d8fe33ad by Nicolas Vigier at 2023-08-01T10:53:55+02:00
Bug 40905: Avoid replacing .*browser-testbuild targets
In some places we use target_replace to replace .*browser-.* targets, in
order to replace the torbrowser-$os-$arch targets. However the regexp we
used would also replace the torbrowser-testbuild target, so we need to
update the regexp to exclude the testbuild target.
- - - - -
7 changed files:
- projects/conjure/config
- projects/go/config
- projects/lyrebird/config
- projects/snowflake/config
- projects/tor-android-service/config
- projects/tor-onion-proxy-library/config
- projects/webtunnel/config
Changes:
=====================================
projects/conjure/config
=====================================
@@ -21,4 +21,4 @@ steps:
norec:
sha256sum: 2b403d6edf075777003bf2194a43fb178a28a4eaa7d23ec8f104563d9bbd7e53
target_replace:
- '^torbrowser-.*': 'torbrowser-linux-x86_64'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-linux-x86_64'
=====================================
projects/go/config
=====================================
@@ -123,6 +123,6 @@ input_files:
- project: go-bootstrap
name: go-bootstrap
target_replace:
- '^.*browser-.*': 'basebrowser-linux-x86_64'
+ '^.*browser-(?!testbuild).*': 'basebrowser-linux-x86_64'
- filename: 0001-Use-fixed-go-build-tmp-directory.patch
enable: '[% c("var/android") %]'
=====================================
projects/lyrebird/config
=====================================
@@ -35,4 +35,4 @@ steps:
norec:
sha256sum: '[% c("var/go_vendor_sha256sum") %]'
target_replace:
- '^torbrowser-.*': 'torbrowser-linux-x86_64'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-linux-x86_64'
=====================================
projects/snowflake/config
=====================================
@@ -22,4 +22,4 @@ steps:
norec:
sha256sum: 62f9065881f5a3cbe5ea5a9802e961e1821d9e468cb2a85ebab1e8afcc0cc953
target_replace:
- '^torbrowser-.*': 'torbrowser-linux-x86_64'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-linux-x86_64'
=====================================
projects/tor-android-service/config
=====================================
@@ -26,19 +26,19 @@ input_files:
- project: tor-expert-bundle
name: tor-expert-bundle-armv7
target_replace:
- '^torbrowser-.*': 'torbrowser-android-armv7'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-android-armv7'
- project: tor-expert-bundle
name: tor-expert-bundle-aarch64
target_replace:
- '^torbrowser-.*': 'torbrowser-android-aarch64'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-android-aarch64'
- project: tor-expert-bundle
name: tor-expert-bundle-x86
target_replace:
- '^torbrowser-.*': 'torbrowser-android-x86'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-android-x86'
- project: tor-expert-bundle
name: tor-expert-bundle-x86_64
target_replace:
- '^torbrowser-.*': 'torbrowser-android-x86_64'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-android-x86_64'
- URL: 'https://dl.google.com/dl/android/studio/jetifier-zips/1.0.0-beta10/jetifier…'
name: jetifier
sha256sum: 38186db9c9d1b745890b3d35c0667da1cac146ceb3c26aae5bf0802119472c1b
=====================================
projects/tor-onion-proxy-library/config
=====================================
@@ -21,19 +21,19 @@ input_files:
- project: tor-expert-bundle
name: tor-expert-bundle-armv7
target_replace:
- '^torbrowser-.*': 'torbrowser-android-armv7'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-android-armv7'
- project: tor-expert-bundle
name: tor-expert-bundle-aarch64
target_replace:
- '^torbrowser-.*': 'torbrowser-android-aarch64'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-android-aarch64'
- project: tor-expert-bundle
name: tor-expert-bundle-x86
target_replace:
- '^torbrowser-.*': 'torbrowser-android-x86'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-android-x86'
- project: tor-expert-bundle
name: tor-expert-bundle-x86_64
target_replace:
- '^torbrowser-.*': 'torbrowser-android-x86_64'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-android-x86_64'
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
=====================================
projects/webtunnel/config
=====================================
@@ -21,4 +21,4 @@ steps:
norec:
sha256sum: e3b5a9b3c3939aafa5389246f3a7a7e78d70fe623bed495f99c39cc37bbbe645
target_replace:
- '^torbrowser-.*': 'torbrowser-linux-x86_64'
+ '^torbrowser-(?!testbuild).*': 'torbrowser-linux-x86_64'
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 40615: Add a README for the bundled font directory.
by Pier Angelo Vendrame (@pierov) 01 Aug '23
by Pier Angelo Vendrame (@pierov) 01 Aug '23
01 Aug '23
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
571d86aa by FlexFoot at 2023-08-01T08:47:20+00:00
Bug 40615: Add a README for the bundled font directory.
Include a README in the final fonts directory to discourage users from
modifying the bundled fonts and to warn them about the consequences
this could have.
- - - - -
3 changed files:
- + projects/fonts/README.txt
- projects/fonts/build
- projects/fonts/config
Changes:
=====================================
projects/fonts/README.txt
=====================================
@@ -0,0 +1,7 @@
+DO NOT MODIFY THE CONTENTS OF THIS DIRECTORY
+
+Any adjustment to bundled fonts will result in an altered fingerprint. Font
+fingerprinting is more than just detecting what fonts you have, it also includes
+font fallbacks and characters (unicode code points) and any change in those can
+be measured.
+
=====================================
projects/fonts/build
=====================================
@@ -32,6 +32,7 @@ mv noto-fonts-* noto-fonts
[% IF c("var/linux") %]
cp {NotoSansJP-Regular.otf,NotoSansKR-Regular.otf,NotoSansSC-Regular.otf,NotoSansTC-Regular.otf} $distdir/
[% END %]
+cp README.txt "$distdir/000_README.txt"
cd /var/tmp/dist
[% c('tar', {
tar_src => [ 'fonts' ],
=====================================
projects/fonts/config
=====================================
@@ -161,6 +161,7 @@ var:
input_files:
- project: container-image
+ - filename: README.txt
- filename: 'noto-fonts-[% c("var/noto_git_hash") %]-[% c("version") %]'
name: noto-fonts
exec: '[% INCLUDE "fetch-noto-fonts" %]'
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5…
You're receiving this email because of your account on gitlab.torproject.org.
1
0
[Git][tpo/applications/tor-browser-build][maint-12.5] Bug 31546: Copy Firefox PDBs for Windows
by richard (@richard) 31 Jul '23
by richard (@richard) 31 Jul '23
31 Jul '23
richard pushed to branch maint-12.5 at The Tor Project / Applications / tor-browser-build
Commits:
3ba21986 by Pier Angelo Vendrame at 2023-07-31T20:37:13+00:00
Bug 31546: Copy Firefox PDBs for Windows
Also copy debug symbols after stripping on Linux 32-bit (we only copied
them in Linux 64-bit) and for all our browsers (previously we copied
them only for Tor Browser).
Include the headers directory with the symbols, because some of them
are generated during the build, but they are needed for debugging.
- - - - -
2 changed files:
- projects/browser/build
- projects/firefox/build
Changes:
=====================================
projects/browser/build
=====================================
@@ -397,13 +397,13 @@ SCRIPT_EOF
[% IF c("var/updater_enabled") -%]
cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
[% END -%]
-[% IF c("var/linux-x86_64") -%]
- [% IF c("var/tor-browser") -%]
- cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug.tar.xz "$OUTDIR"/[% c("var/project-name") %]-[% c("var/mar_osname") %]-debug.tar.xz
- [% END -%]
- [% IF !c("var/asan") -%]
- cp $rootdir/[% c('input_files_by_name/firefox') %]/geckodriver-linux64.tar.xz "$OUTDIR"/
+[% IF c("var/linux") -%]
+ cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug.tar.xz "$OUTDIR/[% c('var/project-name') %]-[% c('var/mar_osname') %]-debug.tar.xz"
+ [% IF c("var/linux-x86_64") && !c("var/asan") -%]
+ cp $rootdir/[% c('input_files_by_name/firefox') %]/geckodriver.tar.xz "$OUTDIR/geckodriver-[% c('var/mar_osname') %].tar.xz"
[% END -%]
+[% ELSIF c("var/windows") -%]
+ cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug.zip "$OUTDIR/[% c('var/project-name') %]-[% c('var/mar_osname') %]-debug.zip"
[% END -%]
[%IF c("var/tor-browser") -%]
tor_expert_bundle_src="[% c("input_files_by_name/tor-expert-bundle") %]"
=====================================
projects/firefox/build
=====================================
@@ -211,6 +211,10 @@ export LANG=C.UTF-8
cp obj-*/testing/geckodriver/x86_64-unknown-linux-gnu/release/geckodriver $distdir
[% END %]
cp -a obj-*/dist/[% c('var/exe_name') %]/* $distdir/Browser/
+ mkdir -p $distdir/Debug
+ # Some include files are symlinks, so use -Lr, or the tarball will fail
+ # silently. Also, on Linux we populate the debug symbols by stripping later.
+ cp -Lr obj-*/dist/include $distdir/Debug/
# Remove firefox-bin (we don't use it, see ticket #10126)
rm -f "$distdir/Browser/[% c('var/exe_name') %]-bin"
# TODO: There goes FIPS-140.. We could upload these somewhere unique and
@@ -232,6 +236,11 @@ RBM_TB_EOF
[% ELSE %]
cp -a /var/tmp/dist/fxc2/bin/d3dcompiler_47.dll $distdir/Browser
[% END %]
+ mkdir -p $distdir/Debug/Browser
+ pushd obj-*
+ cp -Lr dist/include $distdir/Debug/
+ find . \( -path ./dist -o -path ./_tests \) -prune -o -name '*.pdb' -exec cp -l {} $distdir/Debug/Browser/ \;
+ popd
[% END %]
[% IF c("var/updater_enabled") -%]
@@ -279,8 +288,8 @@ RBM_TB_EOF
cd $distdir
-[% IF c("var/linux-x86_64") %]
- [% IF !c("var/asan") %]
+[% IF c("var/linux") -%]
+ [% IF c("var/linux-x86_64") && !c("var/asan") -%]
# No need for an unstripped geckodriver
strip geckodriver
[% END %]
@@ -334,17 +343,22 @@ END;
tar_args => '-czf ' _ dest_dir _ '/' _ c('filename') _ '/browser.tar.gz',
}) %]
-[% IF c("var/linux-x86_64") %]
+[% IF c("var/linux") -%]
[% c('tar', {
tar_src => [ 'Debug' ],
tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/browser-debug.tar.xz',
}) %]
- [% IF !c("var/asan") %]
+ [% IF c("var/linux-x86_64") && !c("var/asan") -%]
[% c('tar', {
tar_src => [ 'geckodriver' ],
tar_args => '-cJf ' _ dest_dir _ '/' _ c('filename') _ '/geckodriver-linux64.tar.xz',
}) %]
[% END %]
+[% ELSIF c("var/windows") -%]
+ [% c('zip', {
+ zip_src => [ 'Debug' ],
+ zip_args => dest_dir _ '/' _ c('filename') _ '/browser-debug.zip',
+ }) %]
[% END %]
[% IF c("var/updater_enabled") -%]
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