link-header-modulepreload.html (1278B)
1 <!DOCTYPE html> 2 <meta charset=utf-8> 3 <title>Makes sure that Link headers support modulepreload</title> 4 <meta name="timeout" content="long"> 5 <script src="/common/utils.js"></script> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 <script src="/preload/resources/preload_helper.js"></script> 9 <body> 10 <script> 11 promise_test(async t => { 12 const id = token(); 13 const moduleLink = getAbsoluteURL('./resources/module1.js'); 14 const params = new URLSearchParams(); 15 params.set('link', `<${moduleLink}>;rel=modulepreload`); 16 params.set('type', 'text/html'); 17 params.set('file', 'modulepreload-iframe.html') 18 const docURL = getAbsoluteURL(`./resources/echo-preload-header.py?${params.toString()}`); 19 const iframe = document.createElement('iframe'); 20 t.add_cleanup(() => iframe.remove()); 21 iframe.src = docURL; 22 const messageReceived = new Promise(resolve => window.addEventListener('message', m => { 23 resolve(m.data); 24 })) 25 document.body.appendChild(iframe); 26 const result = await messageReceived; 27 assert_equals(result, 1); 28 }, 'test that a header-preloaded module is loaded and consumed'); 29 </script> 30 </body>