LibWeb: Begin implementing FontFaceSet.prototype.load

This implementation is incomplete in that we do not fully implement the
steps to match the given font against the fonts in the set.

This is used by fonts.google.com to load the fonts used for sample text.
This commit is contained in:
Timothy Flynn
2024-10-23 19:15:25 -04:00
committed by Andreas Kling
parent 78ecde9923
commit 9bdf2e928c
Notes: github-actions[bot] 2024-10-24 15:51:17 +00:00
4 changed files with 154 additions and 5 deletions

View File

@@ -0,0 +1,33 @@
<script src="../include.js"></script>
<script type="text/javascript">
asyncTest(async done => {
const fontFaceSet = document.fonts;
const fontFace = new FontFace("Hash Sans", "url(../../../../Ref/assets/HashSans.woff)");
fontFaceSet.add(fontFace);
try {
await fontFaceSet.load("invalid");
println("Load invalid font: FAIL");
} catch (e) {
println("Load invalid font: PASS");
}
try {
await fontFaceSet.load("revert");
println("Load CSS keyword as font: FAIL");
} catch (e) {
println("Load CSS keyword as font: PASS");
}
try {
await fontFaceSet.load("1em Hash Sans");
println("Load valid font: PASS");
} catch (e) {
println("Load valid font: FAIL");
println(e);
}
done();
});
</script>