Bug 1843066 - Provide the nonce for speculative <script> preloads. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D183390
This commit is contained in:
@@ -249,6 +249,8 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement(
|
||||
aAttributes->getValue(nsHtml5AttributeName::ATTR_CHARSET);
|
||||
nsHtml5String crossOrigin =
|
||||
aAttributes->getValue(nsHtml5AttributeName::ATTR_CROSSORIGIN);
|
||||
nsHtml5String nonce =
|
||||
aAttributes->getValue(nsHtml5AttributeName::ATTR_NONCE);
|
||||
nsHtml5String integrity =
|
||||
aAttributes->getValue(nsHtml5AttributeName::ATTR_INTEGRITY);
|
||||
nsHtml5String referrerPolicy = aAttributes->getValue(
|
||||
@@ -260,7 +262,7 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement(
|
||||
bool noModule =
|
||||
aAttributes->contains(nsHtml5AttributeName::ATTR_NOMODULE);
|
||||
mSpeculativeLoadQueue.AppendElement()->InitScript(
|
||||
url, charset, type, crossOrigin, /* aMedia = */ nullptr,
|
||||
url, charset, type, crossOrigin, /* aMedia = */ nullptr, nonce,
|
||||
integrity, referrerPolicy, mode == nsHtml5TreeBuilder::IN_HEAD,
|
||||
async, defer, noModule, false);
|
||||
mCurrentHtmlScriptIsAsyncOrDefer = async || defer;
|
||||
@@ -327,9 +329,10 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement(
|
||||
nsHtml5String type =
|
||||
aAttributes->getValue(nsHtml5AttributeName::ATTR_TYPE);
|
||||
mSpeculativeLoadQueue.AppendElement()->InitScript(
|
||||
url, charset, type, crossOrigin, media, integrity,
|
||||
referrerPolicy, mode == nsHtml5TreeBuilder::IN_HEAD,
|
||||
false, false, false, true);
|
||||
url, charset, type, crossOrigin, media,
|
||||
/* aNonce */ nullptr, integrity, referrerPolicy,
|
||||
mode == nsHtml5TreeBuilder::IN_HEAD, false, false, false,
|
||||
true);
|
||||
} else if (as.LowerCaseEqualsASCII("style")) {
|
||||
mSpeculativeLoadQueue.AppendElement()->InitStyle(
|
||||
url, charset, crossOrigin, media, referrerPolicy,
|
||||
@@ -376,9 +379,10 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement(
|
||||
nsHtml5String referrerPolicy = aAttributes->getValue(
|
||||
nsHtml5AttributeName::ATTR_REFERRERPOLICY);
|
||||
mSpeculativeLoadQueue.AppendElement()->InitScript(
|
||||
url, charset, type, crossOrigin, media, integrity,
|
||||
referrerPolicy, mode == nsHtml5TreeBuilder::IN_HEAD,
|
||||
false, false, false, true);
|
||||
url, charset, type, crossOrigin, media,
|
||||
/* aNonce */ nullptr, integrity, referrerPolicy,
|
||||
mode == nsHtml5TreeBuilder::IN_HEAD, false, false, false,
|
||||
true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -469,12 +473,14 @@ nsIContentHandle* nsHtml5TreeBuilder::createElement(
|
||||
aAttributes->getValue(nsHtml5AttributeName::ATTR_TYPE);
|
||||
nsHtml5String crossOrigin =
|
||||
aAttributes->getValue(nsHtml5AttributeName::ATTR_CROSSORIGIN);
|
||||
nsHtml5String nonce =
|
||||
aAttributes->getValue(nsHtml5AttributeName::ATTR_NONCE);
|
||||
nsHtml5String integrity =
|
||||
aAttributes->getValue(nsHtml5AttributeName::ATTR_INTEGRITY);
|
||||
nsHtml5String referrerPolicy = aAttributes->getValue(
|
||||
nsHtml5AttributeName::ATTR_REFERRERPOLICY);
|
||||
mSpeculativeLoadQueue.AppendElement()->InitScript(
|
||||
url, nullptr, type, crossOrigin, /* aMedia = */ nullptr,
|
||||
url, nullptr, type, crossOrigin, /* aMedia = */ nullptr, nonce,
|
||||
integrity, referrerPolicy, mode == nsHtml5TreeBuilder::IN_HEAD,
|
||||
false, false, false, false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user