[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/mullvad-browser][mullvad-browser-153.1.0esr-16.0-1] 2 commits: BB 45211: Settings UI for protections from third party applications.



Title: GitLab

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:

Changes:

  • browser/components/preferences/config/privacy.mjs
    ... ... @@ -7,6 +7,11 @@
    7 7
     import { SettingGroupManager } from "chrome://browser/content/preferences/config/SettingGroupManager.mjs";
    
    8 8
     import { Preferences } from "chrome://global/content/preferences/Preferences.mjs";
    
    9 9
     
    
    10
    +ChromeUtils.importESModule(
    
    11
    +  "chrome://browser/content/preferences/config/protections-from-apps.mjs",
    
    12
    +  { global: "current" }
    
    13
    +);
    
    14
    +
    
    10 15
     const XPCOMUtils = ChromeUtils.importESModule(
    
    11 16
       "resource://gre/modules/XPCOMUtils.sys.mjs"
    
    12 17
     ).XPCOMUtils;
    

  • browser/components/preferences/config/protections-from-apps.mjs
    1
    +/* This Source Code Form is subject to the terms of the Mozilla Public
    
    2
    + * License, v. 2.0. If a copy of the MPL was not distributed with this
    
    3
    + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
    
    4
    +
    
    5
    +import { SettingGroupManager } from "chrome://browser/content/preferences/config/SettingGroupManager.mjs";
    
    6
    +import { Preferences } from "chrome://global/content/preferences/Preferences.mjs";
    
    7
    +
    
    8
    +Preferences.addAll([
    
    9
    +  { id: "privacy.exposeContentTitleInWindow", type: "bool" },
    
    10
    +  { id: "privacy.exposeContentTitleInWindow.pbm", type: "bool" },
    
    11
    +]);
    
    12
    +
    
    13
    +Preferences.addSetting({
    
    14
    +  id: "exposeContentWindowTitle",
    
    15
    +  pref: "privacy.exposeContentTitleInWindow",
    
    16
    +});
    
    17
    +
    
    18
    +Preferences.addSetting({
    
    19
    +  id: "exposePrivateContentWindowTitle",
    
    20
    +  pref: "privacy.exposeContentTitleInWindow.pbm",
    
    21
    +});
    
    22
    +
    
    23
    +Preferences.addSetting({
    
    24
    +  id: "genericWindowTitles",
    
    25
    +  deps: ["exposeContentWindowTitle", "exposePrivateContentWindowTitle"],
    
    26
    +  get: (_pref, { exposeContentWindowTitle }) => {
    
    27
    +    // NOTE: The behaviour of `privacy.exposeContentTitleInWindow` (all) and
    
    28
    +    // `privacy.exposeContentTitleInWindow.pbm` (pbm) is:
    
    29
    +    //
    
    30
    +    //            || all=true               | all=false       |
    
    31
    +    //  ==========++========================+=================|
    
    32
    +    //  pbm=true  || All windows include    | All windows use |
    
    33
    +    //            || content.               | generic.        |
    
    34
    +    //  ----------++------------------------+-----------------|
    
    35
    +    //  pbm=false || Private windows use    | All windows use |
    
    36
    +    //            || generic. Other windows | generic.        |
    
    37
    +    //            || include content.       |                 |
    
    38
    +    //  ------------------------------------------------------+
    
    39
    +    //
    
    40
    +    // For the settings UI, we treat the "all=true, pbm=false" case as
    
    41
    +    // "genericWindowTitles" being *unset*.
    
    42
    +    return !exposeContentWindowTitle.value;
    
    43
    +  },
    
    44
    +  set: (
    
    45
    +    value,
    
    46
    +    { exposeContentWindowTitle, exposePrivateContentWindowTitle }
    
    47
    +  ) => {
    
    48
    +    exposeContentWindowTitle.value = !value;
    
    49
    +    exposePrivateContentWindowTitle.value = !value;
    
    50
    +  },
    
    51
    +});
    
    52
    +
    
    53
    +SettingGroupManager.registerGroups({
    
    54
    +  protectionsFromThirdParty: {
    
    55
    +    l10nId: "protections-from-applications-group",
    
    56
    +    heaidngLevel: 2,
    
    57
    +    // TODO: supportPage: "tor-manual:",
    
    58
    +    items: [
    
    59
    +      {
    
    60
    +        id: "genericWindowTitles",
    
    61
    +        l10nId: "generic-window-titles-checkbox",
    
    62
    +      },
    
    63
    +    ],
    
    64
    +  },
    
    65
    +});

  • browser/components/preferences/jar.mn
    ... ... @@ -71,6 +71,7 @@ browser.jar:
    71 71
        content/browser/preferences/widgets/update-state.mjs          (widgets/update-state/update-state.mjs)
    
    72 72
        content/browser/preferences/widgets/update-state.css          (widgets/update-state/update-state.css)
    
    73 73
     
    
    74
    +   content/browser/preferences/config/protections-from-apps.mjs         (config/protections-from-apps.mjs)
    
    74 75
        content/browser/preferences/config/letterboxing.mjs                  (config/letterboxing.mjs)
    
    75 76
        content/browser/preferences/letterboxing.css                         (letterboxing.css)
    
    76 77
        content/browser/preferences/letterboxing-middle.svg                  (letterboxing-middle.svg)
    

  • browser/components/preferences/preferences.js
    ... ... @@ -274,6 +274,7 @@ const CONFIG_PANES = Object.freeze({
    274 274
           "networkProxy",
    
    275 275
           "privacyPanel",
    
    276 276
           "browsingProtection",
    
    277
    +      "protectionsFromThirdParty",
    
    277 278
           "certificates",
    
    278 279
         ],
    
    279 280
         replaces: "privacy",
    

  • toolkit/locales/en-US/toolkit/global/base-browser.ftl
    ... ... @@ -114,6 +114,17 @@ browser-layout-show-sidebar-limited =
    114 114
     search-suggestions-warning-banner =
    
    115 115
         .message = Turning this on reduces your privacy by sharing your queries with the search engine as you type.
    
    116 116
     
    
    117
    +## Preferences - Protections from third-party applications.
    
    118
    +
    
    119
    +# "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser".
    
    120
    +protections-from-applications-group =
    
    121
    +    .label = Protections from third-party applications
    
    122
    +    .description = Third-party applications may record your browsing activity. { -brand-short-name } attempts to reduce this risk.
    
    123
    +# 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.
    
    124
    +generic-window-titles-checkbox =
    
    125
    +    .label = Use generic window titles
    
    126
    +    .description = Do not include the name of your current tab in the application window title.
    
    127
    +
    
    117 128
     ## Preferences - Passwords.
    
    118 129
     
    
    119 130
     # "{ -brand-short-name }" will be replaced with the localized name of the browser, e.g. "Tor Browser".
    

  • _______________________________________________
    tor-commits mailing list -- tor-commits@xxxxxxxxxxxxxxxxxxxx
    To unsubscribe send an email to tor-commits-leave@xxxxxxxxxxxxxxxxxxxx