FontFaceSet.ready resolve-time
Nobody has claimed this yet.
- Dominant language
- Bikeshed
- Stars
- 4.9k
- Forks
- 816
- PR merge metrics
- PR metrics pending
Description
https://drafts.csswg.org/css-font-loading/#font-face-set-ready
This appears to be pretty vague as to when it resolves:
The ready attribute contains a Promise which is resolved when the document is done loading fonts, which provides a way for authors to avoid having to keep track of which fonts have or haven’t been loaded before examining content which may be affected by loading fonts.
At what point is the document "done loading fonts"? It would be good to add some cross-reference to something for this. Which document? Or is this meant to be informative and the normative definition that in "switch the FontFaceSet to loaded"?
Per https://github.com/web-platform-tests/wpt/pull/17219#issuecomment-521909714, it seems Blink and Gecko wait until after the first layout, whereas WebKit resolves once it has loaded but before layout is done (should add tests for fallback!). The IDL block has a comment // async notification that font loading and layout operations are done but the "layout operations" part doesn't seem to be backed up by any normative text?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the CSS Font Loading specification's FontFaceSet.ready section and the “switch the FontFaceSet to loaded” definition, then review the linked WPT pull request and its discussion of Blink, Gecko, and WebKit timing. Done means the spec clearly defines when ready resolves and the unresolved fallback or layout behavior is covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100