Bug 1803984 - Part 2: Add assertion that we only remove unlinked modules from the map r=allstarschh

It would not be correct to remove modules that were already linked or evaluated.



Depends on D178298

Differential Revision: https://phabricator.services.mozilla.com/D178787
This commit is contained in:
Jon Coppeard
2023-06-28 08:43:43 +00:00
parent bfd39f3416
commit 77fccdaf4d
4 changed files with 23 additions and 1 deletions

View File

@@ -454,7 +454,14 @@ nsresult ModuleLoaderBase::GetFetchedModuleURLs(nsTArray<nsCString>& aURLs) {
}
bool ModuleLoaderBase::RemoveFetchedModule(nsIURI* aURL) {
MOZ_ASSERT(IsModuleFetched(aURL));
#if defined(MOZ_DIAGNOSTIC_ASSERT_ENABLED)
RefPtr<ModuleScript> ms;
MOZ_ALWAYS_TRUE(mFetchedModules.Get(aURL, getter_AddRefs(ms)));
if (ms && ms->ModuleRecord()) {
JS::AssertModuleUnlinked(ms->ModuleRecord());
}
#endif
return mFetchedModules.Remove(aURL);
}