fontfaceset-load-var.html (1647B)
1 <!DOCTYPE html> 2 <title>SyntaxError thrown when matching loading values with var()</title> 3 <link rel="help" href="https://drafts.csswg.org/css-font-loading/#font-face-set-load"> 4 <link rel="help" href="https://drafts.csswg.org/css-font-loading/#find-the-matching-font-faces"> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script> 8 9 function load_on_worker(keyword) { 10 return new Promise((resolve, reject) =>{ 11 var blob = new Blob([` 12 self.fonts.load('${keyword}').then( 13 ()=>{ self.postMessage('success') }, 14 (e)=>{ self.postMessage(e) } 15 ); 16 `]); 17 var blob_url = window.URL.createObjectURL(blob); 18 let worker = new Worker(blob_url); 19 worker.onmessage = msg => { 20 if (msg === 'success') 21 resolve(msg.data) 22 else 23 reject(msg.data) 24 } 25 }); 26 } 27 28 promise_test(test => { 29 return promise_rejects_dom(test, 'SyntaxError', document.fonts.load('var(--x) serif')); 30 }, 'Loading "var(--x) serif" causes SyntaxError (document)') 31 32 promise_test(test => { 33 return promise_rejects_dom(test, 'SyntaxError', document.fonts.load('var(--x, 10px) serif')); 34 }, 'Loading "var(--x, 10px) serif" causes SyntaxError (document)') 35 36 promise_test(test => { 37 return promise_rejects_dom(test, 'SyntaxError', load_on_worker('var(--x) serif')); 38 }, 'Loading "var(--x) serif" causes SyntaxError (worker)') 39 40 promise_test(test => { 41 return promise_rejects_dom(test, 'SyntaxError', load_on_worker('var(--x, 10px) serif')); 42 }, 'Loading "var(--x, 10px) serif" causes SyntaxError (worker)') 43 44 </script>