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

Keyboard Shortcuts

Thread View

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

tbb-commits

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

  • 1 participants
  • 18612 discussions
[Git][tpo/applications/tor-browser][base-browser-115.9.0esr-13.5-1] fixup! Base Browser's .mozconfigs.
by Pier Angelo Vendrame (@pierov) 08 Apr '24

08 Apr '24
Pier Angelo Vendrame pushed to branch base-browser-115.9.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 2c131c74 by NoisyCoil at 2024-04-08T16:34:40+02:00 fixup! Base Browser's .mozconfigs. Bug 42501: Move `--disable-eme` to OS- and architecture-specific mozconfigs. - - - - - 9 changed files: - browser/config/mozconfigs/base-browser - mozconfig-linux-i686 - mozconfig-linux-x86_64 - mozconfig-linux-x86_64-asan - mozconfig-linux-x86_64-dev - mozconfig-macos - mozconfig-macos-dev - mozconfig-windows-i686 - mozconfig-windows-x86_64 Changes: ===================================== browser/config/mozconfigs/base-browser ===================================== @@ -29,8 +29,6 @@ ac_add_options --disable-crashreporter # Before removing, please notice that WebRTC does not work on mingw (Bug 1393901) ac_add_options --disable-webrtc ac_add_options --disable-parental-controls -# Let's make sure no preference is enabling either Adobe's or Google's CDM. -ac_add_options --disable-eme ac_add_options --enable-proxy-bypass-protection # See bugs #30575 and #32418: system policies are harmful either because they # could allow proxy bypass, and override a number of other preferences we set ===================================== mozconfig-linux-i686 ===================================== @@ -10,3 +10,7 @@ ac_add_options --disable-strip ac_add_options --disable-install-strip ac_add_options --enable-default-toolkit=cairo-gtk3 + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-linux-x86_64 ===================================== @@ -7,3 +7,7 @@ ac_add_options --disable-strip ac_add_options --disable-install-strip ac_add_options --enable-default-toolkit=cairo-gtk3 + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-linux-x86_64-asan ===================================== @@ -20,3 +20,7 @@ ac_add_options --enable-default-toolkit=cairo-gtk3 ac_add_options --disable-strip ac_add_options --disable-install-strip + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-linux-x86_64-dev ===================================== @@ -16,3 +16,7 @@ ac_add_options --disable-install-strip ac_add_options --with-base-browser-version=dev-build ac_add_options --disable-base-browser-update + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-macos ===================================== @@ -10,3 +10,7 @@ ac_add_options --disable-update-agent # For base-browser we do not enable portable mode on macOS. ac_add_options --without-relative-data-dir + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-macos-dev ===================================== @@ -17,3 +17,6 @@ ac_add_options --enable-nss-mar # See bug #41131 ac_add_options --disable-update-agent +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-windows-i686 ===================================== @@ -19,3 +19,7 @@ ac_add_options --disable-update-agent # Bug 1782837: Not supported because Mozilla (and therefore also us) build # libc++ with LIBCXX_ENABLE_FILESYSTEM disabled. ac_add_options --disable-notification-server + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-windows-x86_64 ===================================== @@ -19,3 +19,7 @@ ac_add_options --disable-update-agent # Bug 1782837: Not supported because Mozilla (and therefore also us) build # libc++ with LIBCXX_ENABLE_FILESYSTEM disabled. ac_add_options --disable-notification-server + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2c131c7… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2c131c7… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.9.0esr-13.5-1] fixup! Base Browser's .mozconfigs.
by Pier Angelo Vendrame (@pierov) 08 Apr '24

08 Apr '24
Pier Angelo Vendrame pushed to branch base-browser-115.9.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 91bc2eb9 by NoisyCoil at 2024-04-08T16:28:56+02:00 fixup! Base Browser's .mozconfigs. Bug 42491: Add mozconfig-linux-aarch64. - - - - - 1 changed file: - + mozconfig-linux-aarch64 Changes: ===================================== mozconfig-linux-aarch64 ===================================== @@ -0,0 +1,12 @@ +. $topsrcdir/browser/config/mozconfigs/base-browser + +ac_add_options --target=aarch64-unknown-linux-gnu + +# Moz switched to lld for all Linux targets in Bug 1839739. +ac_add_options --enable-linker=lld + +ac_add_options --disable-strip +ac_add_options --disable-install-strip + +ac_add_options --enable-default-toolkit=cairo-gtk3 + View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/91bc2eb… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/91bc2eb… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.9.0esr-13.5-1] 2 commits: fixup! Base Browser's .mozconfigs.
by Pier Angelo Vendrame (@pierov) 08 Apr '24

08 Apr '24
Pier Angelo Vendrame pushed to branch tor-browser-115.9.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 55a8e45b by NoisyCoil at 2024-04-08T14:22:45+00:00 fixup! Base Browser's .mozconfigs. Bug 42491: Add mozconfig-linux-aarch64. - - - - - 27fee80a by NoisyCoil at 2024-04-08T14:22:45+00:00 fixup! TB3: Tor Browser's official .mozconfigs. - - - - - 1 changed file: - + mozconfig-linux-aarch64 Changes: ===================================== mozconfig-linux-aarch64 ===================================== @@ -0,0 +1,12 @@ +. $topsrcdir/browser/config/mozconfigs/tor-browser + +ac_add_options --target=aarch64-unknown-linux-gnu + +# Moz switched to lld for all Linux targets in Bug 1839739. +ac_add_options --enable-linker=lld + +ac_add_options --disable-strip +ac_add_options --disable-install-strip + +ac_add_options --enable-default-toolkit=cairo-gtk3 + View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/9ed772… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/9ed772… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.9.0esr-13.5-1] fixup! Base Browser's .mozconfigs.
by Pier Angelo Vendrame (@pierov) 08 Apr '24

08 Apr '24
Pier Angelo Vendrame pushed to branch mullvad-browser-115.9.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser Commits: c3b548a0 by NoisyCoil at 2024-04-08T13:17:33+00:00 fixup! Base Browser's .mozconfigs. Bug 279: Add mozconfig-linux-aarch64. - - - - - 1 changed file: - + mozconfig-linux-aarch64 Changes: ===================================== mozconfig-linux-aarch64 ===================================== @@ -0,0 +1,12 @@ +. $topsrcdir/browser/config/mozconfigs/mullvad-browser + +ac_add_options --target=aarch64-unknown-linux-gnu + +# Moz switched to lld for all Linux targets in Bug 1839739. +ac_add_options --enable-linker=lld + +ac_add_options --disable-strip +ac_add_options --disable-install-strip + +ac_add_options --enable-default-toolkit=cairo-gtk3 + View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/c3b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/c3b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.9.0esr-13.5-1] fixup! Base Browser's .mozconfigs.
by Pier Angelo Vendrame (@pierov) 08 Apr '24

08 Apr '24
Pier Angelo Vendrame pushed to branch tor-browser-115.9.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: 9ed772d1 by NoisyCoil at 2024-04-08T13:14:13+00:00 fixup! Base Browser's .mozconfigs. Bug 42501: Move `--disable-eme` to OS- and architecture-specific mozconfigs. - - - - - 9 changed files: - browser/config/mozconfigs/base-browser - mozconfig-linux-i686 - mozconfig-linux-x86_64 - mozconfig-linux-x86_64-asan - mozconfig-linux-x86_64-dev - mozconfig-macos - mozconfig-macos-dev - mozconfig-windows-i686 - mozconfig-windows-x86_64 Changes: ===================================== browser/config/mozconfigs/base-browser ===================================== @@ -26,8 +26,6 @@ ac_add_options --disable-crashreporter # Before removing, please notice that WebRTC does not work on mingw (Bug 1393901) ac_add_options --disable-webrtc ac_add_options --disable-parental-controls -# Let's make sure no preference is enabling either Adobe's or Google's CDM. -ac_add_options --disable-eme ac_add_options --enable-proxy-bypass-protection # See bugs #30575 and #32418: system policies are harmful either because they # could allow proxy bypass, and override a number of other preferences we set ===================================== mozconfig-linux-i686 ===================================== @@ -10,3 +10,7 @@ ac_add_options --disable-strip ac_add_options --disable-install-strip ac_add_options --enable-default-toolkit=cairo-gtk3 + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-linux-x86_64 ===================================== @@ -7,3 +7,7 @@ ac_add_options --disable-strip ac_add_options --disable-install-strip ac_add_options --enable-default-toolkit=cairo-gtk3 + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-linux-x86_64-asan ===================================== @@ -20,3 +20,7 @@ ac_add_options --enable-default-toolkit=cairo-gtk3 ac_add_options --disable-strip ac_add_options --disable-install-strip + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-linux-x86_64-dev ===================================== @@ -18,3 +18,7 @@ ac_add_options --disable-install-strip ac_add_options --with-base-browser-version=dev-build ac_add_options --disable-base-browser-update + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-macos ===================================== @@ -9,3 +9,7 @@ ac_add_options --enable-nss-mar ac_add_options --disable-update-agent ac_add_options --with-relative-data-dir=../TorBrowser-Data/Browser + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-macos-dev ===================================== @@ -22,3 +22,7 @@ export MOZ_APP_REMOTINGNAME="Tor Browser Dev" ac_add_options --with-branding=browser/branding/tb-nightly ac_add_options --with-base-browser-version=dev-build ac_add_options --disable-base-browser-update + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-windows-i686 ===================================== @@ -19,3 +19,7 @@ ac_add_options --disable-update-agent # Bug 1782837: Not supported because Mozilla (and therefore also us) build # libc++ with LIBCXX_ENABLE_FILESYSTEM disabled. ac_add_options --disable-notification-server + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + ===================================== mozconfig-windows-x86_64 ===================================== @@ -19,3 +19,7 @@ ac_add_options --disable-update-agent # Bug 1782837: Not supported because Mozilla (and therefore also us) build # libc++ with LIBCXX_ENABLE_FILESYSTEM disabled. ac_add_options --disable-notification-server + +# Let's make sure no preference is enabling either Adobe's or Google's CDM. +ac_add_options --disable-eme + View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9ed772d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9ed772d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.9.1esr-13.0-1] 2 commits: fixup! Bug 40926: Implemented the New Identity feature
by ma1 (@ma1) 08 Apr '24

08 Apr '24
ma1 pushed to branch mullvad-browser-115.9.1esr-13.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 1d90ed3d by hackademix at 2024-04-08T13:31:55+02:00 fixup! Bug 40926: Implemented the New Identity feature Bug 42236: Let users decide whether to load their home page on new identity. - - - - - 8e7cdd60 by hackademix at 2024-04-08T13:31:56+02:00 fixup! Bug 40926: Implemented the New Identity feature MB 283: Make new identity homepage check brand-agnostic. - - - - - 2 changed files: - browser/components/newidentity/content/newidentity.js - browser/locales/en-US/chrome/browser/newIdentity.properties Changes: ===================================== browser/components/newidentity/content/newidentity.js ===================================== @@ -10,37 +10,28 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityStrings", () => { ); const brandShortName = brandBundle.GetStringFromName("brandShortName"); - let strings = { - new_identity: "New Identity", - new_identity_sentence_case: "New identity", - new_identity_prompt_title: "Reset your identity?", - new_identity_prompt: `${brandShortName} will close all windows and tabs. All website sessions will be lost. \nRestart ${brandShortName} now to reset your identity?`, - new_identity_restart: `Restart ${brandShortName}`, - new_identity_ask_again: "Never ask me again", - new_identity_menu_accesskey: "I", - }; - let bundle = null; + const fallbackBundle = Services.strings.createBundle( + "resource:///chrome/en-US/locale/browser/newIdentity.properties" + ); + const strings = {}; + const brandedStrings = ["new_identity_prompt", "new_identity_restart"]; + for (let { key } of fallbackBundle.getSimpleEnumeration()) { + strings[key] = fallbackBundle.GetStringFromName(key); + } try { - bundle = Services.strings.createBundle( + const bundle = Services.strings.createBundle( "chrome://browser/locale/newIdentity.properties" ); - } catch (e) { - console.warn("Could not load the New Identity strings"); - } - if (bundle) { for (const key of Object.keys(strings)) { try { strings[key] = bundle.GetStringFromName(key); } catch (e) {} } - strings.new_identity_prompt = strings.new_identity_prompt.replaceAll( - "%S", - brandShortName - ); - strings.new_identity_restart = strings.new_identity_restart.replaceAll( - "%S", - brandShortName - ); + } catch (e) { + console.warn("Could not load localized New Identity strings"); + } + for (let key of brandedStrings) { + strings[key] = strings[key].replaceAll("%S", brandShortName); } return strings; }); @@ -437,10 +428,79 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityButton", () => { logger.info("Opening a new window"); return new Promise(resolve => { // Open a new window forcing the about:privatebrowsing page (tor-browser#41765) - const win = OpenBrowserWindow({private: "no-home"}); + // unless user explicitly overrides this policy (tor-browser #42236) + const homePref = "browser.startup.homepage"; + const trustedHomePref = "browser.startup.homepage.new_identity"; + const homeURL = Services.prefs.getStringPref(homePref, ""); + const defaultHomeURL = Services.prefs + .getDefaultBranch("") + .getStringPref(homePref, ""); + const isTrustedHome = + homeURL === defaultHomeURL || + homeURL.startsWith("chrome://") || // about:blank and other built-ins + homeURL === Services.prefs.getStringPref(trustedHomePref, ""); + const isCustomHome = + Services.prefs.getIntPref("browser.startup.page") === 1; + const win = OpenBrowserWindow({ + private: isCustomHome && isTrustedHome ? "private" : "no-home", + }); // This mechanism to know when the new window is ready is used by // OpenBrowserWindow itself (see its definition in browser.js). - win.addEventListener("MozAfterPaint", () => resolve(), { once: true }); + win.addEventListener( + "MozAfterPaint", + () => { + resolve(); + if (isTrustedHome || !isCustomHome) { + return; + } + const tbl = win.TabsProgressListener; + const { onLocationChange } = tbl; + tbl.onLocationChange = (...args) => { + tbl.onLocationChange = onLocationChange; + tbl.onLocationChange(...args); + let displayAddress; + try { + const url = new URL(homeURL); + displayAddress = url.hostname; + if (!displayAddress) { + // no host, use full address and truncate if too long + const MAX_LEN = 32; + displayAddress = url.href; + if (displayAddress.length > MAX_LEN) { + displayAddress = `${displayAddress.substring(0, MAX_LEN)}…`; + } + } + } catch (e) { + // malformed URL, bail out + return; + } + const label = + NewIdentityStrings.new_identity_home_notification.replace( + "%S", + displayAddress + ); + const callback = () => { + Services.prefs.setStringPref(trustedHomePref, homeURL); + win.BrowserHome(); + }; + const notificationBox = win.gBrowser.getNotificationBox(); + notificationBox.appendNotification( + "new-identity-safe-home", + { + label, + priority: notificationBox.PRIORITY_INFO_MEDIUM, + }, + [ + { + label: NewIdentityStrings.new_identity_home_load_button, + callback, + }, + ] + ); + }; + }, + { once: true } + ); }); } ===================================== browser/locales/en-US/chrome/browser/newIdentity.properties ===================================== @@ -8,3 +8,6 @@ new_identity_restart = Restart %S new_identity_ask_again = Never ask me again # Shown in the File menu (use Alt to show File, if you do not see) new_identity_menu_accesskey = I +new_identity_home_notification = Tor Browser blocked your homepage (%S) from loading because it might recognize your previous session. +# %S is replaced with the custom homepage URL's domain if applicable, or some short-hand of it otherwise +new_identity_home_load_button = Load it anyway View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/1e… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/1e… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.9.1esr-13.0-1] 2 commits: fixup! Bug 40926: Implemented the New Identity feature
by ma1 (@ma1) 08 Apr '24

08 Apr '24
ma1 pushed to branch base-browser-115.9.1esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: af4fa50b by hackademix at 2024-04-08T13:30:21+02:00 fixup! Bug 40926: Implemented the New Identity feature Bug 42236: Let users decide whether to load their home page on new identity. - - - - - 772b3eef by hackademix at 2024-04-08T13:30:23+02:00 fixup! Bug 40926: Implemented the New Identity feature MB 283: Make new identity homepage check brand-agnostic. - - - - - 2 changed files: - browser/components/newidentity/content/newidentity.js - browser/locales/en-US/chrome/browser/newIdentity.properties Changes: ===================================== browser/components/newidentity/content/newidentity.js ===================================== @@ -10,37 +10,28 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityStrings", () => { ); const brandShortName = brandBundle.GetStringFromName("brandShortName"); - let strings = { - new_identity: "New Identity", - new_identity_sentence_case: "New identity", - new_identity_prompt_title: "Reset your identity?", - new_identity_prompt: `${brandShortName} will close all windows and tabs. All website sessions will be lost. \nRestart ${brandShortName} now to reset your identity?`, - new_identity_restart: `Restart ${brandShortName}`, - new_identity_ask_again: "Never ask me again", - new_identity_menu_accesskey: "I", - }; - let bundle = null; + const fallbackBundle = Services.strings.createBundle( + "resource:///chrome/en-US/locale/browser/newIdentity.properties" + ); + const strings = {}; + const brandedStrings = ["new_identity_prompt", "new_identity_restart"]; + for (let { key } of fallbackBundle.getSimpleEnumeration()) { + strings[key] = fallbackBundle.GetStringFromName(key); + } try { - bundle = Services.strings.createBundle( + const bundle = Services.strings.createBundle( "chrome://browser/locale/newIdentity.properties" ); - } catch (e) { - console.warn("Could not load the New Identity strings"); - } - if (bundle) { for (const key of Object.keys(strings)) { try { strings[key] = bundle.GetStringFromName(key); } catch (e) {} } - strings.new_identity_prompt = strings.new_identity_prompt.replaceAll( - "%S", - brandShortName - ); - strings.new_identity_restart = strings.new_identity_restart.replaceAll( - "%S", - brandShortName - ); + } catch (e) { + console.warn("Could not load localized New Identity strings"); + } + for (let key of brandedStrings) { + strings[key] = strings[key].replaceAll("%S", brandShortName); } return strings; }); @@ -437,10 +428,79 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityButton", () => { logger.info("Opening a new window"); return new Promise(resolve => { // Open a new window forcing the about:privatebrowsing page (tor-browser#41765) - const win = OpenBrowserWindow({private: "no-home"}); + // unless user explicitly overrides this policy (tor-browser #42236) + const homePref = "browser.startup.homepage"; + const trustedHomePref = "browser.startup.homepage.new_identity"; + const homeURL = Services.prefs.getStringPref(homePref, ""); + const defaultHomeURL = Services.prefs + .getDefaultBranch("") + .getStringPref(homePref, ""); + const isTrustedHome = + homeURL === defaultHomeURL || + homeURL.startsWith("chrome://") || // about:blank and other built-ins + homeURL === Services.prefs.getStringPref(trustedHomePref, ""); + const isCustomHome = + Services.prefs.getIntPref("browser.startup.page") === 1; + const win = OpenBrowserWindow({ + private: isCustomHome && isTrustedHome ? "private" : "no-home", + }); // This mechanism to know when the new window is ready is used by // OpenBrowserWindow itself (see its definition in browser.js). - win.addEventListener("MozAfterPaint", () => resolve(), { once: true }); + win.addEventListener( + "MozAfterPaint", + () => { + resolve(); + if (isTrustedHome || !isCustomHome) { + return; + } + const tbl = win.TabsProgressListener; + const { onLocationChange } = tbl; + tbl.onLocationChange = (...args) => { + tbl.onLocationChange = onLocationChange; + tbl.onLocationChange(...args); + let displayAddress; + try { + const url = new URL(homeURL); + displayAddress = url.hostname; + if (!displayAddress) { + // no host, use full address and truncate if too long + const MAX_LEN = 32; + displayAddress = url.href; + if (displayAddress.length > MAX_LEN) { + displayAddress = `${displayAddress.substring(0, MAX_LEN)}…`; + } + } + } catch (e) { + // malformed URL, bail out + return; + } + const label = + NewIdentityStrings.new_identity_home_notification.replace( + "%S", + displayAddress + ); + const callback = () => { + Services.prefs.setStringPref(trustedHomePref, homeURL); + win.BrowserHome(); + }; + const notificationBox = win.gBrowser.getNotificationBox(); + notificationBox.appendNotification( + "new-identity-safe-home", + { + label, + priority: notificationBox.PRIORITY_INFO_MEDIUM, + }, + [ + { + label: NewIdentityStrings.new_identity_home_load_button, + callback, + }, + ] + ); + }; + }, + { once: true } + ); }); } ===================================== browser/locales/en-US/chrome/browser/newIdentity.properties ===================================== @@ -8,3 +8,6 @@ new_identity_restart = Restart %S new_identity_ask_again = Never ask me again # Shown in the File menu (use Alt to show File, if you do not see) new_identity_menu_accesskey = I +new_identity_home_notification = Tor Browser blocked your homepage (%S) from loading because it might recognize your previous session. +# %S is replaced with the custom homepage URL's domain if applicable, or some short-hand of it otherwise +new_identity_home_load_button = Load it anyway View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/a975b0… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/a975b0… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.9.1esr-13.0-1] 2 commits: fixup! Bug 40926: Implemented the New Identity feature
by ma1 (@ma1) 08 Apr '24

08 Apr '24
ma1 pushed to branch tor-browser-115.9.1esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: db383978 by hackademix at 2024-04-08T13:29:33+02:00 fixup! Bug 40926: Implemented the New Identity feature Bug 42236: Let users decide whether to load their home page on new identity. - - - - - ed19d5f4 by hackademix at 2024-04-08T13:29:35+02:00 fixup! Bug 40926: Implemented the New Identity feature MB 283: Make new identity homepage check brand-agnostic. - - - - - 2 changed files: - browser/components/newidentity/content/newidentity.js - browser/locales/en-US/chrome/browser/newIdentity.properties Changes: ===================================== browser/components/newidentity/content/newidentity.js ===================================== @@ -10,37 +10,28 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityStrings", () => { ); const brandShortName = brandBundle.GetStringFromName("brandShortName"); - let strings = { - new_identity: "New Identity", - new_identity_sentence_case: "New identity", - new_identity_prompt_title: "Reset your identity?", - new_identity_prompt: `${brandShortName} will close all windows and tabs. All website sessions will be lost. \nRestart ${brandShortName} now to reset your identity?`, - new_identity_restart: `Restart ${brandShortName}`, - new_identity_ask_again: "Never ask me again", - new_identity_menu_accesskey: "I", - }; - let bundle = null; + const fallbackBundle = Services.strings.createBundle( + "resource:///chrome/en-US/locale/browser/newIdentity.properties" + ); + const strings = {}; + const brandedStrings = ["new_identity_prompt", "new_identity_restart"]; + for (let { key } of fallbackBundle.getSimpleEnumeration()) { + strings[key] = fallbackBundle.GetStringFromName(key); + } try { - bundle = Services.strings.createBundle( + const bundle = Services.strings.createBundle( "chrome://browser/locale/newIdentity.properties" ); - } catch (e) { - console.warn("Could not load the New Identity strings"); - } - if (bundle) { for (const key of Object.keys(strings)) { try { strings[key] = bundle.GetStringFromName(key); } catch (e) {} } - strings.new_identity_prompt = strings.new_identity_prompt.replaceAll( - "%S", - brandShortName - ); - strings.new_identity_restart = strings.new_identity_restart.replaceAll( - "%S", - brandShortName - ); + } catch (e) { + console.warn("Could not load localized New Identity strings"); + } + for (let key of brandedStrings) { + strings[key] = strings[key].replaceAll("%S", brandShortName); } return strings; }); @@ -437,10 +428,79 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityButton", () => { logger.info("Opening a new window"); return new Promise(resolve => { // Open a new window forcing the about:privatebrowsing page (tor-browser#41765) - const win = OpenBrowserWindow({private: "no-home"}); + // unless user explicitly overrides this policy (tor-browser #42236) + const homePref = "browser.startup.homepage"; + const trustedHomePref = "browser.startup.homepage.new_identity"; + const homeURL = Services.prefs.getStringPref(homePref, ""); + const defaultHomeURL = Services.prefs + .getDefaultBranch("") + .getStringPref(homePref, ""); + const isTrustedHome = + homeURL === defaultHomeURL || + homeURL.startsWith("chrome://") || // about:blank and other built-ins + homeURL === Services.prefs.getStringPref(trustedHomePref, ""); + const isCustomHome = + Services.prefs.getIntPref("browser.startup.page") === 1; + const win = OpenBrowserWindow({ + private: isCustomHome && isTrustedHome ? "private" : "no-home", + }); // This mechanism to know when the new window is ready is used by // OpenBrowserWindow itself (see its definition in browser.js). - win.addEventListener("MozAfterPaint", () => resolve(), { once: true }); + win.addEventListener( + "MozAfterPaint", + () => { + resolve(); + if (isTrustedHome || !isCustomHome) { + return; + } + const tbl = win.TabsProgressListener; + const { onLocationChange } = tbl; + tbl.onLocationChange = (...args) => { + tbl.onLocationChange = onLocationChange; + tbl.onLocationChange(...args); + let displayAddress; + try { + const url = new URL(homeURL); + displayAddress = url.hostname; + if (!displayAddress) { + // no host, use full address and truncate if too long + const MAX_LEN = 32; + displayAddress = url.href; + if (displayAddress.length > MAX_LEN) { + displayAddress = `${displayAddress.substring(0, MAX_LEN)}…`; + } + } + } catch (e) { + // malformed URL, bail out + return; + } + const label = + NewIdentityStrings.new_identity_home_notification.replace( + "%S", + displayAddress + ); + const callback = () => { + Services.prefs.setStringPref(trustedHomePref, homeURL); + win.BrowserHome(); + }; + const notificationBox = win.gBrowser.getNotificationBox(); + notificationBox.appendNotification( + "new-identity-safe-home", + { + label, + priority: notificationBox.PRIORITY_INFO_MEDIUM, + }, + [ + { + label: NewIdentityStrings.new_identity_home_load_button, + callback, + }, + ] + ); + }; + }, + { once: true } + ); }); } ===================================== browser/locales/en-US/chrome/browser/newIdentity.properties ===================================== @@ -8,3 +8,6 @@ new_identity_restart = Restart %S new_identity_ask_again = Never ask me again # Shown in the File menu (use Alt to show File, if you do not see) new_identity_menu_accesskey = I +new_identity_home_notification = Tor Browser blocked your homepage (%S) from loading because it might recognize your previous session. +# %S is replaced with the custom homepage URL's domain if applicable, or some short-hand of it otherwise +new_identity_home_load_button = Load it anyway View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/4b70c6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/4b70c6… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.9.1esr-13.0-1] 2 commits: fixup! MB 39: Add home page about:mullvad-browser
by Pier Angelo Vendrame (@pierov) 08 Apr '24

08 Apr '24
Pier Angelo Vendrame pushed to branch mullvad-browser-115.9.1esr-13.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 0d3b0974 by Henry Wilkes at 2024-04-08T13:00:37+02:00 fixup! MB 39: Add home page about:mullvad-browser Bug 271: Show update in about:mullvad-browser - - - - - 1e1a2221 by Henry Wilkes at 2024-04-08T13:00:46+02:00 fixup! MB 112: Updater customization for Mullvad Browser Bug 271: Do not open update override page in a new tab, and show in about:mullvad-browser instead. - - - - - 11 changed files: - browser/components/BrowserContentHandler.sys.mjs - browser/components/BrowserGlue.sys.mjs - + browser/components/mullvad-browser/AboutMullvadBrowserChild.sys.mjs - + browser/components/mullvad-browser/AboutMullvadBrowserParent.sys.mjs - + browser/components/mullvad-browser/content/2728-sparkles.svg - browser/components/mullvad-browser/content/aboutMullvadBrowser.css - + browser/components/mullvad-browser/content/aboutMullvadBrowser.js - browser/components/mullvad-browser/content/aboutMullvadBrowser.xhtml - browser/components/mullvad-browser/jar.mn - browser/components/mullvad-browser/moz.build - browser/locales/en-US/browser/mullvad-browser/aboutMullvadBrowser.ftl Changes: ===================================== browser/components/BrowserContentHandler.sys.mjs ===================================== @@ -666,6 +666,23 @@ nsBrowserContentHandler.prototype = { } } + // Retrieve the home page early so we can compare it against + // about:mullvad-browser to decide whether or not we need an override page + // (second tab) after an update was applied. + var startPage = ""; + try { + var choice = prefb.getIntPref("browser.startup.page"); + if (choice == 1 || choice == 3) { + startPage = lazy.HomePage.get(); + } + } catch (e) { + console.error(e); + } + + if (startPage == "about:blank") { + startPage = ""; + } + var override; var overridePage = ""; var additionalPage = ""; @@ -734,6 +751,17 @@ nsBrowserContentHandler.prototype = { "%OLD_BASE_BROWSER_VERSION%", old_forkVersion ); + if (overridePage && AppConstants.BASE_BROWSER_UPDATE) { + // Mullvad Browser, copied from tor-browser: Instead of opening + // the post-update "override page" directly, we include a link in + // about:mullvad-browser. + prefb.setCharPref("mullvadbrowser.post_update.url", overridePage); + prefb.setBoolPref("mullvadbrowser.post_update.shouldNotify", true); + // If the user's homepage is about:tor, we will inform them + // about the update on that page; otherwise, we arrange to + // open about:tor in a secondary tab. + overridePage = startPage === "about:mullvad-browser" ? "" : "about:mullvad-browser"; + } break; case OVERRIDE_NEW_BUILD_ID: if (lazy.UpdateManager.readyUpdate) { @@ -806,20 +834,6 @@ nsBrowserContentHandler.prototype = { } } - var startPage = ""; - try { - var choice = prefb.getIntPref("browser.startup.page"); - if (choice == 1 || choice == 3) { - startPage = lazy.HomePage.get(); - } - } catch (e) { - console.error(e); - } - - if (startPage == "about:blank") { - startPage = ""; - } - let skipStartPage = override == OVERRIDE_NEW_PROFILE && prefb.getBoolPref("browser.startup.firstrunSkipsHomepage"); ===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -370,6 +370,20 @@ let JSWINDOWACTORS = { matches: ["about:messagepreview", "about:messagepreview?*"], }, + AboutMullvadBrowser: { + parent: { + esModuleURI: "resource:///actors/AboutMullvadBrowserParent.sys.mjs", + }, + child: { + esModuleURI: "resource:///actors/AboutMullvadBrowserChild.sys.mjs", + events: { + DOMContentLoaded: {}, + }, + }, + + matches: ["about:mullvad-browser"], + }, + AboutPlugins: { parent: { esModuleURI: "resource:///actors/AboutPluginsParent.sys.mjs", ===================================== browser/components/mullvad-browser/AboutMullvadBrowserChild.sys.mjs ===================================== @@ -0,0 +1,14 @@ +export class AboutMullvadBrowserChild extends JSWindowActorChild { + handleEvent(event) { + switch (event.type) { + case "DOMContentLoaded": + this.sendQuery("AboutMullvadBrowser:GetUpdateData").then(data => { + const updateEvent = new this.contentWindow.CustomEvent("UpdateData", { + detail: Cu.cloneInto(data, this.contentWindow), + }); + this.contentWindow.dispatchEvent(updateEvent); + }); + break; + } + } +} ===================================== browser/components/mullvad-browser/AboutMullvadBrowserParent.sys.mjs ===================================== @@ -0,0 +1,23 @@ +export class AboutMullvadBrowserParent extends JSWindowActorParent { + receiveMessage(message) { + const shouldNotifyPref = "mullvadbrowser.post_update.shouldNotify"; + switch (message.name) { + case "AboutMullvadBrowser:GetUpdateData": + if (!Services.prefs.getBoolPref(shouldNotifyPref, false)) { + return Promise.resolve(null); + } + Services.prefs.clearUserPref(shouldNotifyPref); + return Promise.resolve({ + version: Services.prefs.getCharPref( + "browser.startup.homepage_override.mullvadbrowser.version" + ), + url: + Services.prefs.getCharPref("mullvadbrowser.post_update.url", "") || + Services.urlFormatter.formatURLPref( + "startup.homepage_override_url" + ), + }); + } + return undefined; + } +} ===================================== browser/components/mullvad-browser/content/2728-sparkles.svg ===================================== @@ -0,0 +1,3 @@ +<!-- FROM https://github.com/twitter/twemoji + - licensed under CC-BY 4.0: https://creativecommons.org/licenses/by/4.0/ --> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFAC33" d="M34.347 16.893l-8.899-3.294-3.323-10.891c-.128-.42-.517-.708-.956-.708-.439 0-.828.288-.956.708l-3.322 10.891-8.9 3.294c-.393.146-.653.519-.653.938 0 .418.26.793.653.938l8.895 3.293 3.324 11.223c.126.424.516.715.959.715.442 0 .833-.291.959-.716l3.324-11.223 8.896-3.293c.391-.144.652-.518.652-.937 0-.418-.261-.792-.653-.938z"/><path fill="#FFCC4D" d="M14.347 27.894l-2.314-.856-.9-3.3c-.118-.436-.513-.738-.964-.738-.451 0-.846.302-.965.737l-.9 3.3-2.313.856c-.393.145-.653.52-.653.938 0 .418.26.793.653.938l2.301.853.907 3.622c.112.444.511.756.97.756.459 0 .858-.312.97-.757l.907-3.622 2.301-.853c.393-.144.653-.519.653-.937 0-.418-.26-.793-.653-.937zM10.009 6.231l-2.364-.875-.876-2.365c-.145-.393-.519-.653-.938-.653-.418 0-.792.26-.938.653l-.875 2.365-2.365.875c-.393.146-.653.52-.653.938 0 .418.26.793.653.938l2.365.875.875 2.365c.146.393.52.653.938.653.418 0 .792-.26.938-.653l.875-2.365 2.365-.875c.393-.146.653-.52.653-.938 0-.418-.26-.792-.653-.938z"/></svg> ===================================== browser/components/mullvad-browser/content/aboutMullvadBrowser.css ===================================== @@ -44,14 +44,14 @@ p { #header { display: grid; - grid-template-rows: auto auto; - grid-template-columns: auto; + grid-template: "heading" auto "text" auto / auto; justify-items: center; align-content: center; gap: 1.5em; } #headingContainer { + grid-area: heading; display: inline flex; flex-direction: row; white-space: nowrap; @@ -59,6 +59,32 @@ p { gap: 16px; } +#mullvad-browser-update, +#mullvad-browser-intro { + grid-area: text; +} + +body:not(.has-update) #mullvad-browser-update { + display: none; +} + +body:not(.no-update) #mullvad-browser-intro { + /* Invisible but still reserves space for when the page is initially loaded to + * prevent the Mullvad title from jumping. */ + visibility: hidden; +} + +#mullvad-browser-update-img { + height: 1em; + vertical-align: sub; + margin-inline-end: 0.3em; +} + +#mullvad-browser-update a { + /* Increase gap between the link and the rest of the text. */ + margin-inline: 0.4em; +} + #footer { padding-block: 40px; background: rgba(0, 0, 0, 0.2); ===================================== browser/components/mullvad-browser/content/aboutMullvadBrowser.js ===================================== @@ -0,0 +1,20 @@ +"use strict"; + +window.addEventListener("UpdateData", event => { + const detail = event.detail; + if (detail) { + const { url, version } = detail; + + const text = document.getElementById("mullvad-browser-update"); + document.l10n.setAttributes( + text.querySelector("span"), + "about-mullvad-browser-update-message", + { version } + ); + text.querySelector("a").href = url; + } + // Before the first call, neither the intro nor update text are shown, this + // prevents the intro text from flashing in and out when we have an update. + document.body.classList.toggle("no-update", !detail); + document.body.classList.toggle("has-update", !!detail); +}); ===================================== browser/components/mullvad-browser/content/aboutMullvadBrowser.xhtml ===================================== @@ -21,6 +21,8 @@ rel="localization" href="browser/mullvad-browser/aboutMullvadBrowser.ftl" /> + + <script src="chrome://browser/content/mullvad-browser/aboutMullvadBrowser.js"></script> </head> <body> <div id="header"> @@ -48,11 +50,22 @@ data-l10n-id="about-mullvad-browser-heading" ></h1> </div> - <p data-l10n-id="about-mullvad-browser-developed-by"> + <p + id="mullvad-browser-intro" + data-l10n-id="about-mullvad-browser-developed-by" + > <a data-l10n-name="tor-project-link" href="https://www.torproject.org"> </a> <a data-l10n-name="mullvad-vpn-link" href="https://mullvad.net"> </a> </p> + <p id="mullvad-browser-update"> + <img + id="mullvad-browser-update-img" + alt="" + src="chrome://browser/content/mullvad-browser/2728-sparkles.svg" + /> + <span><a data-l10n-name="update-link"></a></span> + </p> </div> <div id="footer"> <p data-l10n-id="about-mullvad-browser-use-vpn"> ===================================== browser/components/mullvad-browser/jar.mn ===================================== @@ -1,4 +1,6 @@ browser.jar: + content/browser/mullvad-browser/aboutMullvadBrowser.js (content/aboutMullvadBrowser.js) content/browser/mullvad-browser/aboutMullvadBrowser.xhtml (content/aboutMullvadBrowser.xhtml) content/browser/mullvad-browser/aboutMullvadBrowser.css (content/aboutMullvadBrowser.css) content/browser/mullvad-browser/mullvadBrowserFont.css (content/mullvadBrowserFont.css) + content/browser/mullvad-browser/2728-sparkles.svg (content/2728-sparkles.svg) ===================================== browser/components/mullvad-browser/moz.build ===================================== @@ -1 +1,6 @@ JAR_MANIFESTS += ["jar.mn"] + +FINAL_TARGET_FILES.actors += [ + "AboutMullvadBrowserChild.sys.mjs", + "AboutMullvadBrowserParent.sys.mjs", +] ===================================== browser/locales/en-US/browser/mullvad-browser/aboutMullvadBrowser.ftl ===================================== @@ -3,6 +3,11 @@ about-mullvad-browser-developed-by = Developed in collaboration between the <a d about-mullvad-browser-use-vpn = Get more privacy by using the browser <a data-l10n-name="with-vpn-link">with Mullvad VPN</a>. about-mullvad-browser-learn-more = Curious to learn more about the browser? <a data-l10n-name="learn-more-link">Take a dive into the mole hole</a>. +# Update message. +# <a data-l10n-name="update-link"> should contain the link text and close with </a>. +# $version (String) - The new browser version. +about-mullvad-browser-update-message = { -brand-short-name } has been updated to { $version }. <a data-l10n-name="update-link">See what’s new</a> + ## Deprecated. To be removed when 13.5 becomes stable. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/1b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/1b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.9.1esr-13.0-1] 3 commits: fixup! Firefox preference overrides.
by Pier Angelo Vendrame (@pierov) 08 Apr '24

08 Apr '24
Pier Angelo Vendrame pushed to branch mullvad-browser-115.9.1esr-13.0-1 at The Tor Project / Applications / Mullvad Browser Commits: aba1e5a0 by Pier Angelo Vendrame at 2024-04-08T12:52:20+02:00 fixup! Firefox preference overrides. Bug 41676: Set privacy.resistFingerprinting.testing.setTZtoUTC as a defense-in-depth. We will have to revert this during the ESR-transition. - - - - - 81838b89 by Pier Angelo Vendrame at 2024-04-08T12:52:22+02:00 Bug 42428: Make RFP spoof the timezone of document.lastModified. - - - - - 1b1e94cd by Pier Angelo Vendrame at 2024-04-08T12:52:22+02:00 Bug 42472: Spoof timezone in XSLT. - - - - - 3 changed files: - browser/app/profile/001-base-profile.js - dom/base/Document.cpp - dom/xslt/xslt/txEXSLTFunctions.cpp Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -396,6 +396,9 @@ pref("browser.display.use_system_colors", false); // Enforce non-native widget theme (true by default, defense in depth). // Provides a uniform look and feel across platforms. Added with tor-browser#41496. pref("widget.non-native-theme.enabled", true); +// tor-browser#41676: Set the TZ environment variable as a defense-in-depth. +// TODO: Remove this in ESR-128, as it has been removed in 116 with Bug 1837582. +pref("privacy.resistFingerprinting.testing.setTZtoUTC", true); // tor-browser#41943: lock and revisit after it gets flipped to true in stable Firefox pref("javascript.options.spectre.disable_for_isolated_content", false, locked); ===================================== dom/base/Document.cpp ===================================== @@ -4103,10 +4103,11 @@ void Document::SetDocumentURI(nsIURI* aURI) { } } -static void GetFormattedTimeString(PRTime aTime, +static void GetFormattedTimeString(PRTime aTime, bool aUniversal, nsAString& aFormattedTimeString) { PRExplodedTime prtime; - PR_ExplodeTime(aTime, PR_LocalTimeParameters, &prtime); + PR_ExplodeTime(aTime, aUniversal ? PR_GMTParameters : PR_LocalTimeParameters, + &prtime); // "MM/DD/YYYY hh:mm:ss" char formatedTime[24]; if (SprintfLiteral(formatedTime, "%02d/%02d/%04d %02d:%02d:%02d", @@ -4124,7 +4125,9 @@ void Document::GetLastModified(nsAString& aLastModified) const { if (!mLastModified.IsEmpty()) { aLastModified.Assign(mLastModified); } else { - GetFormattedTimeString(PR_Now(), aLastModified); + GetFormattedTimeString(PR_Now(), + ShouldResistFingerprinting(RFPTarget::Unknown), + aLastModified); } } @@ -11053,7 +11056,8 @@ void Document::RetrieveRelevantHeaders(nsIChannel* aChannel) { mLastModified.Truncate(); if (modDate != 0) { - GetFormattedTimeString(modDate, mLastModified); + GetFormattedTimeString( + modDate, ShouldResistFingerprinting(RFPTarget::Unknown), mLastModified); } } ===================================== dom/xslt/xslt/txEXSLTFunctions.cpp ===================================== @@ -591,7 +591,14 @@ nsresult txEXSLTFunctionCall::evaluate(txIEvalContext* aContext, // http://exslt.org/date/functions/date-time/ PRExplodedTime prtime; - PR_ExplodeTime(PR_Now(), PR_LocalTimeParameters, &prtime); + PR_ExplodeTime( + PR_Now(), + // We are not allowed to access the Document when evaluating this, so + // fall back to the general function. + nsContentUtils::ShouldResistFingerprinting(RFPTarget::Unknown) + ? PR_GMTParameters + : PR_LocalTimeParameters, + &prtime); int32_t offset = (prtime.tm_params.tp_gmt_offset + prtime.tm_params.tp_dst_offset) / View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/6c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/6c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • ...
  • 1862
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.