Bug 1896709 - Part 4: Accumulate cache expiration time in script load. r=nbp

Differential Revision: https://phabricator.services.mozilla.com/D215873
This commit is contained in:
Tooru Fujisawa
2024-07-18 21:58:11 +00:00
parent dc325a817a
commit 16292d50d1
5 changed files with 76 additions and 6 deletions

View File

@@ -832,7 +832,8 @@ nsresult ScriptLoader::PrepareHttpRequestAndInitiatorType(
}
nsresult ScriptLoader::PrepareIncrementalStreamLoader(
nsIIncrementalStreamLoader** aOutLoader, ScriptLoadRequest* aRequest) {
nsIIncrementalStreamLoader** aOutLoader, nsIChannel* aChannel,
ScriptLoadRequest* aRequest) {
UniquePtr<mozilla::dom::SRICheckDataVerifier> sriDataVerifier;
if (!aRequest->mIntegrity.IsEmpty()) {
nsAutoCString sourceUri;
@@ -846,6 +847,8 @@ nsresult ScriptLoader::PrepareIncrementalStreamLoader(
RefPtr<ScriptLoadHandler> handler =
new ScriptLoadHandler(this, aRequest, std::move(sriDataVerifier));
aChannel->SetNotificationCallbacks(handler);
nsresult rv = NS_NewIncrementalStreamLoader(aOutLoader, handler);
NS_ENSURE_SUCCESS(rv, rv);
return rv;
@@ -895,7 +898,8 @@ nsresult ScriptLoader::StartLoadInternal(
mDocument->NodePrincipal()->OriginAttributesRef());
nsCOMPtr<nsIIncrementalStreamLoader> loader;
rv = PrepareIncrementalStreamLoader(getter_AddRefs(loader), aRequest);
rv =
PrepareIncrementalStreamLoader(getter_AddRefs(loader), channel, aRequest);
NS_ENSURE_SUCCESS(rv, rv);
auto key = PreloadHashKey::CreateAsScript(