diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
commit | 59203c63bb777a3bacec32fb8830fba33540e809 (patch) | |
tree | 58298e711c0ff0575818c30485b44a2f21bf28a0 /js/loader/ModuleLoaderBase.cpp | |
parent | Adding upstream version 126.0.1. (diff) | |
download | firefox-59203c63bb777a3bacec32fb8830fba33540e809.tar.xz firefox-59203c63bb777a3bacec32fb8830fba33540e809.zip |
Adding upstream version 127.0.upstream/127.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/loader/ModuleLoaderBase.cpp')
-rw-r--r-- | js/loader/ModuleLoaderBase.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/js/loader/ModuleLoaderBase.cpp b/js/loader/ModuleLoaderBase.cpp index 020542754d..506ad22edd 100644 --- a/js/loader/ModuleLoaderBase.cpp +++ b/js/loader/ModuleLoaderBase.cpp @@ -623,11 +623,13 @@ nsresult ModuleLoaderBase::OnFetchComplete(ModuleLoadRequest* aRequest, if (NS_SUCCEEDED(rv)) { rv = CreateModuleScript(aRequest); +#if defined(MOZ_DIAGNOSTIC_ASSERT_ENABLED) // If a module script was created, it should either have a module record // object or a parse error. if (ModuleScript* ms = aRequest->mModuleScript) { MOZ_DIAGNOSTIC_ASSERT(bool(ms->ModuleRecord()) != ms->HasParseError()); } +#endif aRequest->ClearScriptSource(); @@ -1445,9 +1447,11 @@ void ModuleLoaderBase::RegisterImportMap(UniquePtr<ImportMap> aImportMap) { "Non-preload module loads should block import maps"); MOZ_DIAGNOSTIC_ASSERT(!script->HadImportMap(), "Only one import map can be registered"); +#if defined(MOZ_DIAGNOSTIC_ASSERT_ENABLED) if (JSObject* module = script->ModuleRecord()) { MOZ_DIAGNOSTIC_ASSERT(!JS::ModuleIsLinked(module)); } +#endif script->Shutdown(); } } @@ -1490,6 +1494,17 @@ void ModuleLoaderBase::MoveModulesTo(ModuleLoaderBase* aDest) { mFetchedModules.Clear(); } +bool ModuleLoaderBase::IsFetchingAndHasWaitingRequest( + ModuleLoadRequest* aRequest) { + auto entry = mFetchingModules.Lookup(aRequest->mURI); + if (!entry) { + return false; + } + + RefPtr<LoadingRequest> loadingRequest = entry.Data(); + return !loadingRequest->mWaiting.IsEmpty(); +} + #undef LOG #undef LOG_ENABLED |