Pier Angelo Vendrame pushed to branch tor-browser-128.7.0esr-14.0-1 at The Tor Project / Applications / Tor Browser
Commits:
-
4cd3b8b0
by Henry Wilkes at 2025-01-28T16:26:31+01:00
-
3db9163f
by Pier Angelo Vendrame at 2025-01-28T16:27:09+01:00
-
b683ecb0
by Pier Angelo Vendrame at 2025-01-28T16:30:30+01:00
-
4744d84d
by Pier Angelo Vendrame at 2025-01-28T16:31:13+01:00
-
55cbbdde
by Pier Angelo Vendrame at 2025-01-28T16:31:42+01:00
-
24417b5a
by Henry Wilkes at 2025-01-28T16:32:43+01:00
7 changed files:
- browser/app/profile/001-base-profile.js
- browser/components/downloads/content/downloads.css
- browser/components/downloads/content/downloadsPanel.inc.xhtml
- netwerk/dns/effective_tld_names.dat
- netwerk/protocol/http/nsHttpHandler.cpp
- toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
- toolkit/components/tor-launcher/TorProcess.sys.mjs
Changes:
... | ... | @@ -87,6 +87,15 @@ pref("browser.sessionstore.privacy_level", 2); |
87 | 87 | // Use the in-memory media cache and increase its maximum size (#29120)
|
88 | 88 | pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
89 | 89 | pref("media.memory_cache_max_size", 65536);
|
90 | +// tor-browser#41065: lie about the available quota.
|
|
91 | +// This value is in KiB, and will be divided by 5. Currently: 50GiB, to be
|
|
92 | +// coherent with Firefox's usual value. However, this might be too much for live
|
|
93 | +// systems.
|
|
94 | +// This will be the limit also after granting the persistent storage permission,
|
|
95 | +// but we are not interested in it, since we support only PBM.
|
|
96 | +// We can come back to it, and hardcode the two spaced differently, if we ever
|
|
97 | +// think we need it.
|
|
98 | +pref("dom.quotaManager.temporaryStorage.fixedLimit", 52428800);
|
|
90 | 99 | // Disable restore in case of crash (tor-browser#41503)
|
91 | 100 | // This should not be needed in PBM, but we added it anyway like other options.
|
92 | 101 | pref("browser.sessionstore.resume_from_crash", false);
|
... | ... | @@ -466,6 +475,8 @@ pref("pdfjs.disabled", false, locked); |
466 | 475 | #endif
|
467 | 476 | // Bug 40057: Ensure system colors are not used for CSS4 colors
|
468 | 477 | pref("browser.display.use_system_colors", false);
|
478 | +// tor-browser#43236: Disable vsync on Wayland to prevent refresh rate leaks.
|
|
479 | +pref("widget.wayland.vsync.enabled", false);
|
|
469 | 480 | |
470 | 481 | // tor-browser#41943: defense-in-depth, but do not lock anymore (enabled in Firefox 119, http://bugzil.la/1851162)
|
471 | 482 | pref("javascript.options.spectre.disable_for_isolated_content", false);
|
... | ... | @@ -92,15 +92,19 @@ |
92 | 92 | #downloadsPanel-mainView {
|
93 | 93 | min-width: 37em;
|
94 | 94 | padding: 0.62em;
|
95 | - /* If we don't set a width, #downloadsPanelTorWarning will request
|
|
96 | - * its max-content width. */
|
|
97 | - width: 37em;
|
|
98 | 95 | }
|
99 | 96 | |
100 | 97 | #downloadsPanelTorWarning {
|
101 | 98 | margin-block-end: var(--arrowpanel-menuitem-padding-block);
|
102 | 99 | }
|
103 | 100 | |
101 | +#downloadsPanelTorWarningWrapper {
|
|
102 | + /* The wrapper element has its `width` attribute set by mozilla localisers.
|
|
103 | + * We want to ensure the element occupies the available width when the
|
|
104 | + * localiser width is smaller. See tor-browser#43312. */
|
|
105 | + min-width: 100%;
|
|
106 | +}
|
|
107 | + |
|
104 | 108 | #downloadsHistory,
|
105 | 109 | #downloadsFooterButtons {
|
106 | 110 | margin: 0;
|
... | ... | @@ -104,8 +104,25 @@ |
104 | 104 | disablekeynav="true">
|
105 | 105 | |
106 | 106 | <panelview id="downloadsPanel-mainView">
|
107 | - <html:moz-message-bar id="downloadsPanelTorWarning">
|
|
108 | - </html:moz-message-bar>
|
|
107 | + <!-- We add a wrapper around the #downloadsPanelTorWarning and give it the
|
|
108 | + - same Fluent ID as #downloadsListBox. This Fluent message allows
|
|
109 | + - Firefox localisers to set the width of the #downloadsListBox using
|
|
110 | + - the style attribute. We want the same width set for our downloads
|
|
111 | + - warning. Otherwise the warning will occupy its max-content width.
|
|
112 | + - NOTE: We require a wrapper element since #downloadsPanelTorWarning
|
|
113 | + - needs its own Fluent attributes.
|
|
114 | + - NOTE: This only works if #downloadsPanelTorWarningWrapper and
|
|
115 | + - #downloadsListBox share the same padding relative to their common
|
|
116 | + - ancestor.
|
|
117 | + - See tor-browser#43312. -->
|
|
118 | + <html:div
|
|
119 | + id="downloadsPanelTorWarningWrapper"
|
|
120 | + data-l10n-id="downloads-panel-items"
|
|
121 | + data-l10n-attrs="style"
|
|
122 | + >
|
|
123 | + <html:moz-message-bar id="downloadsPanelTorWarning">
|
|
124 | + </html:moz-message-bar>
|
|
125 | + </html:div>
|
|
109 | 126 | <vbox class="panel-view-body-unscrollable">
|
110 | 127 | <richlistbox id="downloadsListBox"
|
111 | 128 | data-l10n-id="downloads-panel-items"
|
... | ... | @@ -5065,6 +5065,10 @@ pro.om |
5065 | 5065 | onion
|
5066 | 5066 | tor.onion
|
5067 | 5067 | securedrop.tor.onion
|
5068 | +// An additional TLD for abc.au.securedrop.tor.onion only.
|
|
5069 | +// See tor-browser#41831.
|
|
5070 | +// TODO: Remove once abc.au has migrated. See tor-browser#43443.
|
|
5071 | +au.securedrop.tor.onion
|
|
5068 | 5072 | |
5069 | 5073 | // org : https://www.iana.org/domains/root/db/org.html
|
5070 | 5074 | org
|
... | ... | @@ -867,7 +867,7 @@ void nsHttpHandler::BuildUserAgent() { |
867 | 867 | mUserAgent += '/';
|
868 | 868 | mUserAgent += mProductSub;
|
869 | 869 | |
870 | - bool isFirefox = mAppName.EqualsLiteral("Firefox");
|
|
870 | + bool isFirefox = true;
|
|
871 | 871 | if (isFirefox || mCompatFirefoxEnabled) {
|
872 | 872 | // "Firefox/x.y" (compatibility) app token
|
873 | 873 | mUserAgent += ' ';
|
... | ... | @@ -5,6 +5,8 @@ |
5 | 5 | * Tor Launcher Util JS Module
|
6 | 6 | *************************************************************************/
|
7 | 7 | |
8 | +import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
|
|
9 | + |
|
8 | 10 | const lazy = {};
|
9 | 11 | |
10 | 12 | ChromeUtils.defineESModuleGetters(lazy, {
|
... | ... | @@ -335,6 +337,13 @@ export const TorLauncherUtil = Object.freeze({ |
335 | 337 | return Services.appinfo.OS === "Android";
|
336 | 338 | },
|
337 | 339 | |
340 | + get isLinux() {
|
|
341 | + // Use AppConstants for Linux rather then appinfo because we are sure it
|
|
342 | + // will catch also various Unix flavors for which unofficial ports might
|
|
343 | + // exist (which should work as Linux, as far as we know).
|
|
344 | + return AppConstants.platform === "linux";
|
|
345 | + },
|
|
346 | + |
|
338 | 347 | get isMac() {
|
339 | 348 | return Services.appinfo.OS === "Darwin";
|
340 | 349 | },
|
... | ... | @@ -122,6 +122,16 @@ export class TorProcess { |
122 | 122 | stderr: "stdout",
|
123 | 123 | workdir: lazy.TorLauncherUtil.getTorFile("pt-startup-dir", false).path,
|
124 | 124 | };
|
125 | + if (lazy.TorLauncherUtil.isLinux) {
|
|
126 | + let ldLibPath = Services.env.get("LD_LIBRARY_PATH") ?? "";
|
|
127 | + if (ldLibPath) {
|
|
128 | + ldLibPath = ":" + ldLibPath;
|
|
129 | + }
|
|
130 | + options.environment = {
|
|
131 | + LD_LIBRARY_PATH: this.#exeFile.parent.path + ldLibPath,
|
|
132 | + };
|
|
133 | + options.environmentAppend = true;
|
|
134 | + }
|
|
125 | 135 | this.#subprocess = await Subprocess.call(options);
|
126 | 136 | this.#status = TorProcessStatus.Running;
|
127 | 137 | } catch (e) {
|