[wpt-sync] Sync PR 64323 - Add test for FontFaceSet.check() with a failed font face
Categories
(Core :: Layout: Text and Fonts, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox162 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 64323 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/64323
Details from upstream follow.
Michael Zaporozhets <michael.zaporozhets@shopify.com> wrote:
Add test for FontFaceSet.check() with a failed font face
FontFaceSet.check()should returnfalseonce the only matching font face has permanently failed to load (status === "error"), per https://drafts.csswg.org/css-font-loading/#font-face-set-check:check()may only reporttruewhen every matching face has a status of"loaded".Verified with Playwright: Chromium 147 and current Firefox already return
falsein this case. WebKit (26.4, and currentmainbefore the linked fix) returnstrue.This is the test attached to a WebKit bug and PR for the same issue:
- Bug: https://bugs.webkit.org/show_bug.cgi?id=329279
- Fix: https://github.com/WebKit/WebKit/pull/78670
Uses
local("nonexistentfont-...")to force a deterministic load failure, same approach as the existingfont-face-reject.htmltest in this directory, rather than a malformeddata:URL.Forces layout both before and after the face settles to
"error", since the underlying WebKit bug only reproduced when the family's matching font face got looked up (and cached) while the face was still pending, before its status became"error".
| Assignee | ||
Updated•3 days ago
|
| Assignee | ||
Comment 1•3 days ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/jobs?repo=try&landoInstance=lando-prod-2025&landoCommitID=118812
| Assignee | ||
Comment 2•2 days ago
|
||
CI Results
Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 35 tests and 1 subtests
Status Summary
Firefox
OK : 1[GitHub] 25[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
PASS: 1[GitHub] 3[Gecko-linux2204-64-wayland-debug, Gecko-linux2204-64-wayland-opt] 191[Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt] 197[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
FAIL: 54[Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt] 55[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
Chrome
OK : 1
PASS: 1
Safari
OK : 1
FAIL: 1
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /css/css-font-loading/fontface-override-descriptors.html [wpt.fyi]:
FAIL - /css/css-font-loading/fontface-descriptor-updates-2.html [wpt.fyi]
- Font matching uses updated style and family name:
FAIL
- Font matching uses updated style and family name:
- /css/css-font-loading/fontface-invalid-family.tentative.html [wpt.fyi]
- family: a b:
FAIL - family: a b:
FAIL - family: a b :
FAIL
- family: a b:
- /css/css-font-loading/fontfaceset-has.html [wpt.fyi]
- fontfaceset-has:
FAIL
- fontfaceset-has:
- /css/css-font-loading/idlharness.https.html [wpt.fyi]
- FontFace interface: attribute features:
FAIL - FontFace interface: attribute variations:
FAIL - FontFace interface: attribute palettes:
FAIL - FontFace interface: fontFace must inherit property "features" with the proper type:
FAIL - FontFace interface: fontFace must inherit property "variations" with the proper type:
FAIL - FontFace interface: fontFace must inherit property "palettes" with the proper type:
FAIL - FontFaceFeatures interface: existence and properties of interface object:
FAIL - FontFaceFeatures interface object length:
FAIL - FontFaceFeatures interface object name:
FAIL - FontFaceFeatures interface: existence and properties of interface prototype object:
FAIL - FontFaceFeatures interface: existence and properties of interface prototype object's "constructor" property:
FAIL - FontFaceFeatures interface: existence and properties of interface prototype object's @@unscopables property:
FAIL - FontFaceVariationAxis interface: existence and properties of interface object:
FAIL - FontFaceVariationAxis interface object length:
FAIL - FontFaceVariationAxis interface object name:
FAIL - FontFaceVariationAxis interface: existence and properties of interface prototype object:
FAIL - FontFaceVariationAxis interface: existence and properties of interface prototype object's "constructor" property:
FAIL - FontFaceVariationAxis interface: existence and properties of interface prototype object's @@unscopables property:
FAIL - FontFaceVariationAxis interface: attribute name:
FAIL - FontFaceVariationAxis interface: attribute axisTag:
FAIL - FontFaceVariationAxis interface: attribute minimumValue:
FAIL - FontFaceVariationAxis interface: attribute maximumValue:
FAIL - FontFaceVariationAxis interface: attribute defaultValue:
FAIL - FontFaceVariations interface: existence and properties of interface object:
FAIL - FontFaceVariations interface object length:
FAIL - FontFaceVariations interface object name:
FAIL - FontFaceVariations interface: existence and properties of interface prototype object:
FAIL - FontFaceVariations interface: existence and properties of interface prototype object's "constructor" property:
FAIL - FontFaceVariations interface: existence and properties of interface prototype object's @@unscopables property:
FAIL - FontFaceVariations interface: setlike<FontFaceVariationAxis>:
FAIL - FontFacePalette interface: existence and properties of interface object:
FAIL - FontFacePalette interface object length:
FAIL - FontFacePalette interface object name:
FAIL - FontFacePalette interface: existence and properties of interface prototype object:
FAIL - FontFacePalette interface: existence and properties of interface prototype object's "constructor" property:
FAIL - FontFacePalette interface: existence and properties of interface prototype object's @@unscopables property:
FAIL - FontFacePalette interface: iterable<DOMString>:
FAIL - FontFacePalette interface: attribute length:
FAIL - FontFacePalette interface: attribute usableWithLightBackground:
FAIL - FontFacePalette interface: attribute usableWithDarkBackground:
FAIL - FontFacePalettes interface: existence and properties of interface object:
FAIL - FontFacePalettes interface object length:
FAIL - FontFacePalettes interface object name:
FAIL - FontFacePalettes interface: existence and properties of interface prototype object:
FAIL - FontFacePalettes interface: existence and properties of interface prototype object's "constructor" property:
FAIL - FontFacePalettes interface: existence and properties of interface prototype object's @@unscopables property:
FAIL - FontFacePalettes interface: iterable<FontFacePalette>:
FAIL - FontFacePalettes interface: attribute length:
FAIL - FontFaceSet interface: setlike<FontFace>:
FAIL
- FontFace interface: attribute features:
Comment 4•12 hours ago
|
||
| bugherder | ||
Description
•