css-font-face.sub.html (1663B)
1 <!DOCTYPE html> 2 <!-- 3 [%provenance%] 4 --> 5 <html lang="en"> 6 <meta charset="utf-8"> 7 <title>HTTP headers on request for CSS font-face</title> 8 <script src="/resources/testharness.js"></script> 9 <script src="/resources/testharnessreport.js"></script> 10 <script src="/fetch/metadata/resources/helper.sub.js"></script> 11 <body> 12 <script> 13 'use strict'; 14 15 let count = 0; 16 17 function induceRequest(t, url) { 18 const id = `el-${count += 1}`; 19 const style = document.createElement('style'); 20 style.appendChild(document.createTextNode(` 21 @font-face { 22 font-family: wpt-font-family${id}; 23 src: url(${url}); 24 } 25 #el-${id} { 26 font-family: wpt-font-family${id}; 27 } 28 `)); 29 const div = document.createElement('div'); 30 div.setAttribute('id', 'el-' + id); 31 div.appendChild(style); 32 div.appendChild(document.createTextNode('x')); 33 document.body.appendChild(div); 34 35 t.add_cleanup(() => div.remove()); 36 37 return document.fonts.ready; 38 } 39 40 {%- for subtest in subtests %} 41 42 promise_test((t) => { 43 const key = '{{uuid()}}'; 44 45 return induceRequest(t, makeRequestURL(key, [% subtest.origins %])) 46 .then(() => retrieve(key)) 47 .then((headers) => { 48 {%- if subtest.expected == none %} 49 assert_not_own_property(headers, '[%subtest.headerName%]'); 50 {%- else %} 51 assert_own_property(headers, '[%subtest.headerName%]'); 52 assert_array_equals(headers['[%subtest.headerName%]'], ['[%subtest.expected%]']); 53 {%- endif %} 54 }); 55 }, '[%subtest.headerName%][%subtest.description | pad("start", " - ")%]'); 56 57 {%- endfor %} 58 </script> 59 </body> 60 </html>