Bug 264737

Summary: Adding last resort font to System Font fallback set
Product: WebKit Reporter: Vitor Roriz <vitor.roriz>
Component: TextAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: mmaxfield, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   

Description Vitor Roriz 2023-11-13 05:59:42 PST
Until now, when we are purging inactive font data, we would just clear
the glyph page cache if we had to purge system fallback font.
This means that we consilder glyph page cache would only point to
fonts from system fonts fallback.

When we are handling unicode's in the Private-User-Area (PUA) block,
we shouldn't fallback to system fonts searching for a font that can render it, per spec: https://www.w3.org/TR/css-fonts-4/#char-handling-issues
Instead, we render the glyph 0 with the last resort font. However, this font is just
added to the custom font cache, and its font pointer in the Glyph Page cache is not cleared during memory pressure.

We should add this font to the system font fallback set, to make sure that the associated
font pointer is removed from the glyph page cache during memory pressure.
Comment 1 Vitor Roriz 2023-11-13 06:07:02 PST
<rdar://problem/117805319>
Comment 2 Vitor Roriz 2023-11-13 06:07:44 PST
Pull request: https://github.com/apple/WebKit/pull/921
Comment 3 EWS 2023-11-14 08:37:50 PST
Committed 267815.567@safari-7617-branch (a595ddd8348d): <https://commits.webkit.org/267815.567@safari-7617-branch>

Reviewed commits have been landed. Closing PR #921 and removing active labels.
Comment 4 EWS 2023-12-18 11:35:28 PST
Committed 272231@main (53683ca2146f): <https://commits.webkit.org/272231@main>

Reviewed commits have been landed. Closing PR #21900 and removing active labels.