preloader-template.html (1503B)
1 <!doctype html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <template> 5 <script src="resources/dummy.js?in-template"></script> 6 <link rel=stylesheet href="resources/dummy.css?in-template-1"> 7 <style> 8 @import url("resources/dummy.css?in-template-2"); 9 </style> 10 </template> 11 <script> 12 let t = async_test("Things inside templates are not preloaded"); 13 window.addEventListener("load", t.step_func(function() { 14 let script = document.createElement("script"); 15 script.onload = t.step_func_done(function() { 16 let entries = performance.getEntriesByType('resource'); 17 let found_outside_template = false; 18 let found_in_template = []; 19 for (let entry of entries) { 20 if (entry.name.includes("outside-template")) { 21 found_outside_template = true; 22 } 23 if (entry.name.includes("in-template")) { 24 found_in_template.push(entry.name); 25 } 26 } 27 assert_equals(found_in_template.length, 0, "Should not have preloaded stuff inside template element, got: " + found_in_template.join(", ")); 28 assert_true(found_outside_template, "Should have loaded script outside template element"); 29 }); 30 // The test is a bit racy because it expects that the first load ends 31 // before this one. We try to make it the case via the tickle mechanism. 32 script.src = "resources/dummy.js?outside-template&pipe=trickle(d1)"; 33 document.body.appendChild(script); 34 })); 35 </script>