supported-as-values.html (1752B)
1 <!DOCTYPE html> 2 <html> 3 <title>Test the supported value for <link rel=preload as="..."></title> 4 <meta name="timeout" content="long"> 5 <meta name="variant" content="?as=image&expected=1"> 6 <meta name="variant" content="?as=fetch&expected=1"> 7 <meta name="variant" content="?as=font&expected=1"> 8 <meta name="variant" content="?as=script&expected=1"> 9 <meta name="variant" content="?as=style&expected=1"> 10 <meta name="variant" content="?as=track&expected=1"> 11 12 <meta name="variant" content="?as=garbagefoobar&expected=0"> 13 <meta name="variant" content="?as=video&expected=0"> 14 <meta name="variant" content="?as=audio&expected=0"> 15 <meta name="variant" content="?as=object&expected=0"> 16 <meta name="variant" content="?as=iframe&expected=0"> 17 <meta name="variant" content="?as=worklet&expected=0"> 18 <meta name="variant" content="?as=json&expected=0"> 19 20 <script src="/common/utils.js"></script> 21 <script src="/resources/testharness.js"></script> 22 <script src="/resources/testharnessreport.js"></script> 23 <body> 24 <script> 25 const params = new URLSearchParams(location.search); 26 const as = params.get("as"); 27 const expected = Number(params.get("expected")); 28 promise_test(async t => { 29 const link = document.createElement("link"); 30 link.href = new URL("/common/echo.py?content=nothing", location.href).href; 31 link.rel = "preload"; 32 link.as = as; 33 document.head.append(link); 34 await new Promise(resolve => { 35 t.step_timeout(resolve, 1000); 36 link.addEventListener("load", resolve); 37 link.addEventListener("error", resolve); 38 }); 39 const resources = performance.getEntriesByName(link.href); 40 assert_equals(resources.length, expected); 41 }); 42 </script> 43 </body> 44 </html>