| <!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> |