| <!doctype html> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <template> | |
| <script src="resources/dummy.js?in-template"></script> | |
| <link rel=stylesheet href="resources/dummy.css?in-template-1"> | |
| <style> | |
| @import url("resources/dummy.css?in-template-2"); | |
| </style> | |
| </template> | |
| <script> | |
| let t = async_test("Things inside templates are not preloaded"); | |
| window.addEventListener("load", t.step_func(function() { | |
| let script = document.createElement("script"); | |
| script.onload = t.step_func_done(function() { | |
| let entries = performance.getEntriesByType('resource'); | |
| let found_outside_template = false; | |
| let found_in_template = []; | |
| for (let entry of entries) { | |
| if (entry.name.includes("outside-template")) { | |
| found_outside_template = true; | |
| } | |
| if (entry.name.includes("in-template")) { | |
| found_in_template.push(entry.name); | |
| } | |
| } | |
| assert_equals(found_in_template.length, 0, "Should not have preloaded stuff inside template element, got: " + found_in_template.join(", ")); | |
| assert_true(found_outside_template, "Should have loaded script outside template element"); | |
| }); | |
| // The test is a bit racy because it expects that the first load ends | |
| // before this one. We try to make it the case via the tickle mechanism. | |
| script.src = "resources/dummy.js?outside-template&pipe=trickle(d1)"; | |
| document.body.appendChild(script); | |
| })); | |
| </script> |