morgan pushed to branch mullvad-browser-153.1.0esr-16.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 89ede259 by Henry Wilkes at 2026-08-18T12:44:48+00:00 BB 45211: Settings UI for protections from third party applications. - - - - - 3fe797bc by Henry Wilkes at 2026-08-18T12:44:55+00:00 fixup! Base Browser strings BB 45211: Add strings for protections from third party applications. - - - - - 5 changed files: - browser/components/preferences/config/privacy.mjs - + browser/components/preferences/config/protections-from-apps.mjs - browser/components/preferences/jar.mn - browser/components/preferences/preferences.js - toolkit/locales/en-US/toolkit/global/base-browser.ftl Changes: ===================================== browser/components/preferences/config/privacy.mjs ===================================== @@ -7,6 +7,11 @@ import { SettingGroupManager } from "chrome://browser/content/preferences/config/SettingGroupManager.mjs"; import { Preferences } from "chrome://global/content/preferences/Preferences.mjs"; +ChromeUtils.importESModule( + "chrome://browser/content/preferences/config/protections-from-apps.mjs", + { global: "current" } +); + const XPCOMUtils = ChromeUtils.importESModule( "resource://gre/modules/XPCOMUtils.sys.mjs" ).XPCOMUtils; ===================================== browser/components/preferences/config/protections-from-apps.mjs ===================================== @@ -0,0 +1,65 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +import { SettingGroupManager } from "chrome://browser/content/preferences/config/SettingGroupManager.mjs"; +import { Preferences } from "chrome://global/content/preferences/Preferences.mjs"; + +Preferences.addAll([ + { id: "privacy.exposeContentTitleInWindow", type: "bool" }, + { id: "privacy.exposeContentTitleInWindow.pbm", type: "bool" }, +]); + +Preferences.addSetting({ + id: "exposeContentWindowTitle", + pref: "privacy.exposeContentTitleInWindow", +}); + +Preferences.addSetting({ + id: "exposePrivateContentWindowTitle", + pref: "privacy.exposeContentTitleInWindow.pbm", +}); + +Preferences.addSetting({ + id: "genericWindowTitles", + deps: ["exposeContentWindowTitle", "exposePrivateContentWindowTitle"], + get: (_pref, { exposeContentWindowTitle }) => { + // NOTE: The behaviour of `privacy.exposeContentTitleInWindow` (all) and + // `privacy.exposeContentTitleInWindow.pbm` (pbm) is: + // + // || all=true | all=false | + // ==========++========================+=================| + // pbm=true || All windows include | All windows use | + // || content. | generic. | + // ----------++------------------------+-----------------| + // pbm=false || Private windows use | All windows use | + // || generic. Other windows | generic. | + // || include content. | | + // ------------------------------------------------------+ + // + // For the settings UI, we treat the "all=true, pbm=false" case as + // "genericWindowTitles" being *unset*. + return !exposeContentWindowTitle.value; + }, + set: ( + value, + { exposeContentWindowTitle, exposePrivateContentWindowTitle } + ) => { + exposeContentWindowTitle.value = !value; + exposePrivateContentWindowTitle.value = !value; + }, +}); + +SettingGroupManager.registerGroups({ + protectionsFromThirdParty: { + l10nId: "protections-from-applications-group", + heaidngLevel: 2, + // TODO: supportPage: "tor-manual:", + items: [ + { + id: "genericWindowTitles", + l10nId: "generic-window-titles-checkbox", + }, + ], + }, +}); ===================================== browser/components/preferences/jar.mn ===================================== @@ -71,6 +71,7 @@ browser.jar: content/browser/preferences/widgets/update-state.mjs (widgets/update-state/update-state.mjs) content/browser/preferences/widgets/update-state.css (widgets/update-state/update-state.css) + content/browser/preferences/config/protections-from-apps.mjs (config/protections-from-apps.mjs) content/browser/preferences/config/letterboxing.mjs (config/letterboxing.mjs) content/browser/preferences/letterboxing.css (letterboxing.css) content/browser/preferences/letterboxing-middle.svg (letterboxing-middle.svg) ===================================== browser/components/preferences/preferences.js ===================================== @@ -274,6 +274,7 @@ const CONFIG_PANES = Object.freeze({ "networkProxy", "privacyPanel", "browsingProtection", + "protectionsFromThirdParty", "certificates", ], replaces: "privacy", ===================================== toolkit/locales/en-US/toolkit/global/base-browser.ftl ===================================== @@ -114,6 +114,17 @@ browser-layout-show-sidebar-limited = search-suggestions-warning-banner = .message = Turning this on reduces your privacy by sharing your queries with the search engine as you type. +## Preferences - Protections from third-party applications. + +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". +protections-from-applications-group = + .label = Protections from third-party applications + .description = Third-party applications may record your browsing activity. { -brand-short-name } attempts to reduce this risk. +# Here "title" refers to the displayed name of the browser's windows in the operating system. As in "title bar". For example, the name shown in some taskbars, or desktop window overviews. +generic-window-titles-checkbox = + .label = Use generic window titles + .description = Do not include the name of your current tab in the application window title. + ## Preferences - Passwords. # "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser". View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/1bb... -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/1bb... You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
participants (1)
-
morgan (@morgan)