summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-fonts/font-display/font-display-change.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-fonts/font-display/font-display-change.html')
-rw-r--r--testing/web-platform/tests/css/css-fonts/font-display/font-display-change.html84
1 files changed, 84 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-fonts/font-display/font-display-change.html b/testing/web-platform/tests/css/css-fonts/font-display/font-display-change.html
new file mode 100644
index 0000000000..64130ca52a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-fonts/font-display/font-display-change.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<title>Updating font-display value while loading</title>
+<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#font-display-desc">
+<link rel="match" href="font-display-change-ref.html">
+<script>
+
+window.onload = () => {
+ const displayValues = [ 'auto', 'block', 'swap', 'fallback', 'optional' ];
+
+ let updateFuncs = [];
+
+ for (let initialValue of displayValues) {
+ for (let targetValue of displayValues) {
+ let face = new FontFace(initialValue + '-' + targetValue,
+ 'url("/fonts/Ahem.ttf?pipe=trickle(d5)")',
+ {display: initialValue});
+ document.fonts.add(face);
+ face.load();
+ updateFuncs.push(() => {
+ face.display = targetValue;
+ });
+ }
+ }
+
+ setTimeout(() => {
+ for (let update of updateFuncs) {
+ update();
+ }
+ document.documentElement.classList.remove("reftest-wait");
+ }, 200);
+};
+
+</script>
+<table>
+ <tr>
+ <th>auto</th>
+ <th>block</th>
+ <th>swap</th>
+ <th>fallback</th>
+ <th>optional</th>
+ </tr>
+ <tr>
+ <td>from auto</td>
+ <td style="font-family: auto-auto">a</td>
+ <td style="font-family: auto-block">a</td>
+ <td style="font-family: auto-swap">a</td>
+ <td style="font-family: auto-fallback">a</td>
+ <td style="font-family: auto-optional">a</td>
+ </tr>
+ <tr>
+ <td>from block</td>
+ <td style="font-family: block-auto">a</td>
+ <td style="font-family: block-block">a</td>
+ <td style="font-family: block-swap">a</td>
+ <td style="font-family: block-fallback">a</td>
+ <td style="font-family: block-optional">a</td>
+ </tr>
+ <tr>
+ <td>from swap</td>
+ <td style="font-family: swap-auto">a</td>
+ <td style="font-family: swap-block">a</td>
+ <td style="font-family: swap-swap">a</td>
+ <td style="font-family: swap-fallback">a</td>
+ <td style="font-family: swap-optional">a</td>
+ </tr>
+ <tr>
+ <td>from fallback</td>
+ <td style="font-family: fallback-auto">a</td>
+ <td style="font-family: fallback-block">a</td>
+ <td style="font-family: fallback-swap">a</td>
+ <td style="font-family: fallback-fallback">a</td>
+ <td style="font-family: fallback-optional">a</td>
+ </tr>
+ <tr>
+ <td>from optional</td>
+ <td style="font-family: optional-auto">a</td>
+ <td style="font-family: optional-block">a</td>
+ <td style="font-family: optional-swap">a</td>
+ <td style="font-family: optional-fallback">a</td>
+ <td style="font-family: optional-optional">a</td>
+ </tr>
+</table>
+</html>