@@ -149,7 +149,8 @@ JSObject* ModuleLoaderBase::HostResolveImportedModule(
149
149
150
150
// Let resolved module script be moduleMap[url]. (This entry must exist for
151
151
// us to have gotten to this point.)
152
- ModuleScript* ms = loader->GetFetchedModule (uri);
152
+ ModuleScript* ms =
153
+ loader->GetFetchedModule (ModuleMapKey (uri, ModuleType::JavaScript));
153
154
MOZ_ASSERT (ms, " Resolved module not found in module map" );
154
155
MOZ_ASSERT (!ms->HasParseError ());
155
156
MOZ_ASSERT (ms->ModuleRecord ());
@@ -452,8 +453,9 @@ nsresult ModuleLoaderBase::StartOrRestartModuleLoad(ModuleLoadRequest* aRequest,
452
453
453
454
// If we're restarting the request, the module should already be in the
454
455
// "fetching" map.
455
- MOZ_ASSERT_IF (aRestart == RestartRequest::Yes,
456
- IsModuleFetching (aRequest->mURI ));
456
+ MOZ_ASSERT_IF (
457
+ aRestart == RestartRequest::Yes,
458
+ IsModuleFetching (ModuleMapKey (aRequest->mURI , ModuleType::JavaScript)));
457
459
458
460
// Check with the derived class whether we should load this module.
459
461
nsresult rv = NS_OK;
@@ -465,7 +467,9 @@ nsresult ModuleLoaderBase::StartOrRestartModuleLoad(ModuleLoadRequest* aRequest,
465
467
// and if so wait for it rather than starting a new fetch.
466
468
ModuleLoadRequest* request = aRequest->AsModuleRequest ();
467
469
468
- if (aRestart == RestartRequest::No && ModuleMapContainsURL (request->mURI )) {
470
+ if (aRestart == RestartRequest::No &&
471
+ ModuleMapContainsURL (
472
+ ModuleMapKey (request->mURI , ModuleType::JavaScript))) {
469
473
LOG ((" ScriptLoadRequest (%p): Waiting for module fetch" , aRequest));
470
474
WaitForModuleFetch (request);
471
475
return NS_OK;
@@ -483,16 +487,16 @@ nsresult ModuleLoaderBase::StartOrRestartModuleLoad(ModuleLoadRequest* aRequest,
483
487
return NS_OK;
484
488
}
485
489
486
- bool ModuleLoaderBase::ModuleMapContainsURL (nsIURI* aURL ) const {
487
- return IsModuleFetching (aURL ) || IsModuleFetched (aURL );
490
+ bool ModuleLoaderBase::ModuleMapContainsURL (const ModuleMapKey& key ) const {
491
+ return IsModuleFetching (key ) || IsModuleFetched (key );
488
492
}
489
493
490
- bool ModuleLoaderBase::IsModuleFetching (nsIURI* aURL ) const {
491
- return mFetchingModules .Contains (ModuleMapKey (aURL, ModuleType::JavaScript) );
494
+ bool ModuleLoaderBase::IsModuleFetching (const ModuleMapKey& key ) const {
495
+ return mFetchingModules .Contains (key );
492
496
}
493
497
494
- bool ModuleLoaderBase::IsModuleFetched (nsIURI* aURL ) const {
495
- return mFetchedModules .Contains (ModuleMapKey (aURL, ModuleType::JavaScript) );
498
+ bool ModuleLoaderBase::IsModuleFetched (const ModuleMapKey& key ) const {
499
+ return mFetchedModules .Contains (key );
496
500
}
497
501
498
502
nsresult ModuleLoaderBase::GetFetchedModuleURLs (nsTArray<nsCString>& aURLs) {
@@ -515,7 +519,7 @@ void ModuleLoaderBase::SetModuleFetchStarted(ModuleLoadRequest* aRequest) {
515
519
ModuleMapKey moduleMapKey (aRequest->mURI , ModuleType::JavaScript);
516
520
517
521
MOZ_ASSERT (aRequest->IsFetching () || aRequest->IsPendingFetchingError ());
518
- MOZ_ASSERT (!ModuleMapContainsURL (aRequest-> mURI ));
522
+ MOZ_ASSERT (!ModuleMapContainsURL (moduleMapKey ));
519
523
520
524
RefPtr<LoadingRequest> loadingRequest = new LoadingRequest ();
521
525
loadingRequest->mRequest = aRequest;
@@ -589,9 +593,8 @@ void ModuleLoaderBase::ResumeWaitingRequest(ModuleLoadRequest* aRequest,
589
593
}
590
594
591
595
void ModuleLoaderBase::WaitForModuleFetch (ModuleLoadRequest* aRequest) {
592
- nsIURI* uri = aRequest->mURI ;
593
- MOZ_ASSERT (ModuleMapContainsURL (uri));
594
- ModuleMapKey moduleMapKey (uri, ModuleType::JavaScript);
596
+ ModuleMapKey moduleMapKey (aRequest->mURI , ModuleType::JavaScript);
597
+ MOZ_ASSERT (ModuleMapContainsURL (moduleMapKey));
595
598
596
599
if (auto entry = mFetchingModules .Lookup (moduleMapKey)) {
597
600
RefPtr<LoadingRequest> loadingRequest = entry.Data ();
@@ -605,14 +608,14 @@ void ModuleLoaderBase::WaitForModuleFetch(ModuleLoadRequest* aRequest) {
605
608
ResumeWaitingRequest (aRequest, bool (ms));
606
609
}
607
610
608
- ModuleScript* ModuleLoaderBase::GetFetchedModule (nsIURI* aURL) const {
611
+ ModuleScript* ModuleLoaderBase::GetFetchedModule (
612
+ const ModuleMapKey& moduleMapKey) const {
609
613
if (LOG_ENABLED ()) {
610
614
nsAutoCString url;
611
- aURL ->GetAsciiSpec (url);
615
+ moduleMapKey. mUri ->GetAsciiSpec (url);
612
616
LOG ((" GetFetchedModule %s" , url.get ()));
613
617
}
614
618
615
- ModuleMapKey moduleMapKey (aURL, ModuleType::JavaScript);
616
619
bool found;
617
620
ModuleScript* ms = mFetchedModules .GetWeak (moduleMapKey, &found);
618
621
MOZ_ASSERT (found);
0 commit comments