Convert settings related to Privacy & Security page to config-based settings
Categories
(Firefox :: Settings UI, task)
Tracking
()
| 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
Updated•1 year ago
|
Comment 1•6 months ago
|
||
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.
| Reporter | ||
Comment 2•3 months ago
|
||
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
Comment 3•2 months ago
|
||
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.mjsfile for all of the new/config-based code - migrate any code needed for config-based privacy and security settings to that file from
privacy.jsandmain.js(e.g. config like this and all of these addSetting calls, plus any other relevant code fromprivacy.js). You can then import the newprivacy-security.mjsfile back intoprivacy.jsto 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.jsfile
- this will allow us to easily remove the old code down the line by just deleting the
- add a new entry for the search pane to
CONFIG_PANEShere- 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.
| Assignee | ||
Comment 4•2 months ago
|
||
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 | ||
Comment 5•1 month ago
|
||
| Assignee | ||
Comment 6•1 month ago
|
||
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.
| Assignee | ||
Comment 7•1 month ago
|
||
| Assignee | ||
Comment 8•1 month ago
|
||
| Assignee | ||
Comment 9•1 month ago
|
||
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.
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Comment 10•1 month ago
|
||
Comment 11•1 month ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/7a5e5341fd8c
https://hg.mozilla.org/mozilla-central/rev/fbea6d603526
https://hg.mozilla.org/mozilla-central/rev/6eea385153f7
Updated•1 month ago
|
Description
•