mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1694202 - Avoid link preload header and the parser creating two preload requests for the same script. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D106022
This commit is contained in:
parent
8f71d41341
commit
e7806ac06c
@ -1122,6 +1122,10 @@ void nsHtml5TreeOpExecutor::PreloadScript(
|
||||
if (!uri) {
|
||||
return;
|
||||
}
|
||||
auto key = PreloadHashKey::CreateAsScript(uri, aCrossOrigin, aType);
|
||||
if (mDocument->Preloads().PreloadExists(key)) {
|
||||
return;
|
||||
}
|
||||
mDocument->ScriptLoader()->PreloadURI(
|
||||
uri, aCharset, aType, aCrossOrigin, aIntegrity, aScriptFromHead, aAsync,
|
||||
aDefer, aNoModule, aLinkPreload,
|
||||
|
@ -7,6 +7,7 @@
|
||||
-->
|
||||
<link rel="preload" as="style" crossorigin href="resources/dummy.css?link-header-crossorigin-preload2">
|
||||
<link rel="stylesheet" crossorigin href="resources/dummy.css?link-header-crossorigin-preload2">
|
||||
<script src="resources/dummy.js?link-header-preload2"></script>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/preload/resources/preload_helper.js"></script>
|
||||
@ -18,7 +19,8 @@
|
||||
|
||||
function check_finished() {
|
||||
if (numberOfResourceTimingEntries("resources/square.png?link-header-preload") == 1 &&
|
||||
numberOfResourceTimingEntries("resources/dummy.js?link-header-preload") == 1 &&
|
||||
numberOfResourceTimingEntries("resources/dummy.js?link-header-preload1") == 1 &&
|
||||
numberOfResourceTimingEntries("resources/dummy.js?link-header-preload2") == 1 &&
|
||||
numberOfResourceTimingEntries("resources/dummy.css?link-header-preload") == 1 &&
|
||||
numberOfResourceTimingEntries("resources/dummy.css?link-header-crossorigin-preload1") == 1 &&
|
||||
numberOfResourceTimingEntries("resources/dummy.css?link-header-crossorigin-preload2") == 1) {
|
||||
@ -28,7 +30,8 @@
|
||||
if (iterations == 10) {
|
||||
// At least one is expected to fail, but this should give details to the exact failure(s).
|
||||
verifyNumberOfResourceTimingEntries("resources/square.png?link-header-preload", 1);
|
||||
verifyNumberOfResourceTimingEntries("resources/dummy.js?link-header-preload", 1);
|
||||
verifyNumberOfResourceTimingEntries("resources/dummy.js?link-header-preload1", 1);
|
||||
verifyNumberOfResourceTimingEntries("resources/dummy.js?link-header-preload2", 1);
|
||||
verifyNumberOfResourceTimingEntries("resources/dummy.css?link-header-preload", 1);
|
||||
verifyNumberOfResourceTimingEntries("resources/dummy.css?link-header-crossorigin-preload1", 1);
|
||||
verifyNumberOfResourceTimingEntries("resources/dummy.css?link-header-crossorigin-preload2", 1);
|
||||
|
@ -1,4 +1,5 @@
|
||||
Link: </preload/resources/dummy.js?link-header-preload>;rel=preload;as=script
|
||||
Link: </preload/resources/dummy.js?link-header-preload1>;rel=preload;as=script
|
||||
Link: </preload/resources/dummy.js?link-header-preload2>;rel=preload;as=script
|
||||
Link: </preload/resources/dummy.css?link-header-preload>;rel=preload;as=style
|
||||
Link: </preload/resources/square.png?link-header-preload>;rel=preload;as=image
|
||||
Link: </preload/resources/dummy.css?link-header-crossorigin-preload1>;rel=preload;as=style;crossorigin
|
||||
|
Loading…
Reference in New Issue
Block a user