Closed Bug 1619350 Opened 4 years ago Closed 4 years ago

Distinguish OS-provided from user-installed fonts in the system font list

Categories

(Core :: Layout: Text and Fonts, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox76 --- fixed

People

(Reporter: jfkthame, Assigned: jfkthame)

References

Details

(Whiteboard: [layout:backlog:76])

Attachments

(3 files)

This will be needed for anti-fingerprinting measures, and for related telemetry even before we attempt any changes in behavior. We want to be able to tell which fonts are part of the default OS installation, and so can be expected to be common to all users (on a given OS), and which are individually-installed by the user and therefore provide a fingerprinting vector.

This replaces and extends the "hidden" flag we currently use on macOS to mark internal system fonts
like .LastResort and .Keyboard that should not be exposed; rather than just a boolean "hidden" flag
we'll have several levels of visibility, some of which the user may opt in to exposing (at the cost
of potentially becoming more fingerprintable).

The current patch assumes three levels besides always-hidden:

Base - fonts that are part of the base OS install and always available
LangPack - fonts that are provided by the OS subject to user's chosen language options
User - user-installed fonts that were not provided by the OS

(This categorization may be subject to revision as we learn more about real-world needs and
configurations.)

These two platforms are the easiest to get started with - as well as accounting for the great majority
of desktop Firefox users.

This patch is based on the OS vendors' lists of fonts shipped with the current version of each OS.

Depends on D66124

Whiteboard: [layout:backlog:2020:76]
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Attachment #9132085 - Attachment description: Bug 1619350 - patch 1 - Add a FontVisibility enumeration to determine whether fonts should be visible by name to CSS, and provide a visibility field in font family records. → Bug 1619350 - patch 1 - Add a FontVisibility enumeration to determine whether fonts should be visible by name to CSS, and provide a visibility field in font family records. r=jwatt
Attachment #9132086 - Attachment description: Bug 1619350 - patch 2 - Add lists of standard Mac and Windows fonts, and set font-family visibility attributes accordingly in those platform font lists. → Bug 1619350 - patch 2 - Add lists of standard Mac and Windows fonts, and set font-family visibility attributes accordingly in those platform font lists. r=jwatt
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/67ee13868a44
patch 1 - Add a FontVisibility enumeration to determine whether fonts should be visible by name to CSS, and provide a visibility field in font family records. r=jwatt
https://hg.mozilla.org/integration/autoland/rev/01a2a527aa1a
patch 2 - Add lists of standard Mac and Windows fonts, and set font-family visibility attributes accordingly in those platform font lists. r=jwatt

Marking leave-open for patch 3 (Ubuntu/Fedora lists) which is not yet reviewed+pushed.

Keywords: leave-open
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6c7f9f950504
patch 1 - Add a FontVisibility enumeration to determine whether fonts should be visible by name to CSS, and provide a visibility field in font family records. r=jwatt
https://hg.mozilla.org/integration/autoland/rev/bcbee7191130
patch 2 - Add lists of standard Mac and Windows fonts, and set font-family visibility attributes accordingly in those platform font lists. r=jwatt
Flags: needinfo?(jfkthame)
Keywords: leave-open
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3a4a821cd663
patch 3 - Add lists of base system fonts for latest Ubuntu and Fedora versions. r=jwatt
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla76
Regressions: 1627397
No longer regressions: 1627397
Whiteboard: [layout:backlog:2020:76] → [layout:backlog:76]
Depends on: 1634670
Blocks: 1634677
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: