Closed Bug 1968112 Opened 1 year ago Closed 1 month ago

Convert settings related to Privacy & Security page to config-based settings

Categories

(Firefox :: Settings UI, task)

task

Tracking

()

RESOLVED FIXED
151 Branch
Tracking Status
firefox151 --- fixed

People

(Reporter: mstriemer, Assigned: bvandersloot)

References

(Depends on 6 open bugs, Blocks 2 open bugs)

Details

(Whiteboard: [recomp])

Attachments

(3 files, 2 obsolete files)

The Privacy & Security page will need to be converted to the config-based settings structure. If settings share a similar pattern to the current design then it may make sense to convert them to the SRD 2025's new design. If they differ significantly, it may be necessary to create a custom component for the old version, and a new version; ideally this can still share most of the business logic to avoid regressions later.

This page will have the following sections which may be good candidates for individual bugs to work on:

  • Firefox is on guard
  • Cookies, History, and Site Data
  • ETP
  • DNT
  • DoH
  • Advanced
    • HTTPS-Only Mode
    • Deceptive Content
    • Proxy
    • Certificates
Depends on: 1971207
Depends on: 1971212
Depends on: 1971213
Depends on: 1971428
Depends on: 1971430
Depends on: 1971431
Depends on: 1971433
Depends on: 1971434
Depends on: 1971438
Depends on: 1971439
Depends on: 1971441
Depends on: 1971442
Depends on: 1971444
Depends on: 1971445
Depends on: 1980407
Depends on: 1980487
Blocks: 1985876
Depends on: 1990552
Depends on: 2001194
Depends on: 2001195
Depends on: 2001196
Depends on: 2001979
Depends on: 2003471

Once all the blocking conversions are complete this bug will cover the work involved in reorganizing the relevant sections to create the finalized Privacy and security page as specified in Figma here: https://www.figma.com/design/2b02v18AppIpsTceWac2T3/Settings-Desktop?node-id=6397-33355&m=dev

As part of this work we should also make sure all the strings and illustrations match the design.

Depends on: 2004729
Depends on: 1798086
Depends on: 2006956
No longer depends on: 1798086
Depends on: 2014132
Depends on: 2015150
Depends on: 2015152

A note from bvandersloot in bug 1989082 comment 2: One important gap, that I think we are already aware of is the lack of subpage for Connection and software security. Those were converted a while before we had subpages. Another is the VPN callout. Confirmed on Slack that that is fine to ignore.

We should review all of these updated pages against the spec but worth noting this expected not-quite-to-spec behaviour

Depends on: 2026647
Depends on: 2026654
Depends on: 2026671

To complete the work on this ticket we need to start generating the new Privacy and secrity settings pane via config. There's an example of us doing this work for the Account and Sync pane here. Basically the steps are as follows:

  • create a new browser/components/preferences/config/privacy-security.mjs file for all of the new/config-based code
  • migrate any code needed for config-based privacy and security settings to that file from privacy.js and main.js (e.g. config like this and all of these addSetting calls, plus any other relevant code from privacy.js). You can then import the new privacy-security.mjs file back into privacy.js to allow the old code to keep working as expected.
    • this will allow us to easily remove the old code down the line by just deleting the privacy.js file
  • add a new entry for the search pane to CONFIG_PANES here
    • more info on the various config options can be found here
  • do a final string and illustration check to make sure all of the copy is up to date

There is some work happening in D288024 that may help with test failures/dealing with the case where we need to move a setting from one pane to another based on the status of the SRD pref, so it may make sense to wait until that work lands before starting on this.

Alright, I'll take a look at this and come back if I have questions. I think I have an idea of what to do. Aside from the steps you outline in the last comment, there are a few known gaps that I want to write down here so we don't miss them:

  • New card for the subpage for network security
  • new subpage for network security (as mentioned by mark) :)
  • icons on all of the card headings that have them in figma.

I plan to tag these onto the end of the stack doing the migration so they don't get ignored in the big diff.

Other than that, strings should be great since we did a big once-over while migrating to l10n-able strings already.

Assignee: nobody → bvandersloot

It actually works without this change. However, shadowing the imports
from preferences.js is probably a little nicer than just adding a
mountain of globals on import, and gives a chance to not import those
things to preferences.js later.

Notable here: We are not migrating the cookie banner handling UI, so I
have removed it earlier in the stack. I'm removing the test in its
entirety.

Attachment #9567611 - Attachment description: Bug 1968112, part 3 - Implement the privacy and security SRD as a pane - r=hjones! → Bug 1968112, part 2 - Implement the privacy and security SRD as a pane - r=hjones!
Attachment #9567613 - Attachment description: Bug 1968112, part 5 - Test cleanups for Privacy and security SRD migration to a pane - r=emz! → Bug 1968112, part 3 - Test cleanups for Privacy and security SRD migration to a pane - r=emz!
Attachment #9567610 - Attachment is obsolete: true
Attachment #9567612 - Attachment is obsolete: true
Attachment #9567609 - Attachment description: Bug 1968112, part 1 - Migrate security and privacy config-based code to a new module - r=hjones! → Bug 1968112, part 1 - Migrate security and privacy config-based code to a new module - r=mstriemer!
Attachment #9567611 - Attachment description: Bug 1968112, part 2 - Implement the privacy and security SRD as a pane - r=hjones! → Bug 1968112, part 2 - Implement the privacy and security SRD as a pane - r=mstriemer!
Attachment #9567609 - Attachment description: Bug 1968112, part 1 - Migrate security and privacy config-based code to a new module - r=mstriemer! → Bug 1968112, part 1 - Migrate security and privacy config-based code to a new module - r=hjones!
Attachment #9567611 - Attachment description: Bug 1968112, part 2 - Implement the privacy and security SRD as a pane - r=mstriemer! → Bug 1968112, part 2 - Implement the privacy and security SRD as a pane - r=hjones!
Depends on: 2032574
Pushed by bvandersloot@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/d5a6dcc84704 https://hg.mozilla.org/integration/autoland/rev/7a5e5341fd8c part 1 - Migrate security and privacy config-based code to a new module - r=mstriemer https://github.com/mozilla-firefox/firefox/commit/6cc1a28c49cb https://hg.mozilla.org/integration/autoland/rev/fbea6d603526 part 2 - Implement the privacy and security SRD as a pane - r=fluent-reviewers,bolsson,flod,mstriemer https://github.com/mozilla-firefox/firefox/commit/e67af53d3e09 https://hg.mozilla.org/integration/autoland/rev/6eea385153f7 part 3 - Test cleanups for Privacy and security SRD migration to a pane - r=emz,mstriemer,credential-management-reviewers,groovecoder
Regressions: 2033843
QA Whiteboard: [qa-triage-done-c152/b151]
Duplicate of this bug: 1971442
Regressions: 2034243
See Also: → 2034250
Depends on: 2038144
Depends on: 2038152
Depends on: 2038154
Depends on: 2038190
Depends on: 2038206
Depends on: 2038222
Depends on: 2038235
Depends on: 2038566
Depends on: 2038570
Depends on: 2038572
Depends on: 2038593
Depends on: 2038602
Depends on: 2038619
Depends on: 2038647
Depends on: 2038656
No longer regressions: 2040678
Depends on: 2042825
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: