blob: 67c79f01bfec48ac795d4e8ef4ae1f8b9c4c4e98 [file] [log] [blame] [edit]
<!DOCTYPE html>
<title>Script-inserted modulepreload links with "blocking=render" are render-blocking</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/preload/resources/preload_helper.js"></script>
<script src="support/test-render-blocking.js"></script>
<script>
const link = document.createElement('link');
link.rel = 'modulepreload';
link.blocking = 'render';
link.href = 'support/dummy-1.mjs?pipe=trickle(d1)';
document.head.appendChild(link);
</script>
<div id="dummy">Lorem ipsum</div>
<script>
test_render_blocking(
link,
async () => {
// Attach the module script into document.
// It should not start a new load as it's already preloaded.
const script = document.createElement('script');
const scriptObserver = new LoadObserver(script);
script.type = 'module';
script.src = 'support/dummy-1.mjs?pipe=trickle(d1)';
document.body.appendChild(script);
await scriptObserver.load;
verifyLoadedAndNoDoubleDownload('support/dummy-1.mjs?pipe=trickle(d1)');
assert_equals(document.getElementById('dummy').textContent, '1',
'preloadedmodule script should be executed');
},
'Script-inserted render-blocking module script is preloaded and evaluated');
</script>