Bug 1877792 - Part 9: Add module type to ModuleLoaderBase::{CreateStaticImport,CreateDynamicImport} r=spidermonkey-reviewers,dom-worker-reviewers,dom-core,asuth,jonco,mccr8

This patch adds a module type parameter to
`ModuleLoaderBase::{CreateStaticImport,CreateDynamicImport},` and gets rid of a
bunch of hard-coded `JS::ModuleType::JavaScript.` However, the module type is
still hard-coded when we call `CreateDynamicImport` and `CreateStaticImport`.

Differential Revision: https://phabricator.services.mozilla.com/D218556
This commit is contained in:
Jonatan Klemets
2024-09-03 08:10:51 +00:00
parent 5d9da99e61
commit 24c00f1528
10 changed files with 60 additions and 58 deletions

View File

@@ -297,7 +297,7 @@ already_AddRefed<ModuleLoadRequest> ModuleLoader::CreateTopLevel(
}
already_AddRefed<ModuleLoadRequest> ModuleLoader::CreateStaticImport(
nsIURI* aURI, ModuleLoadRequest* aParent) {
nsIURI* aURI, JS::ModuleType aModuleType, ModuleLoadRequest* aParent) {
RefPtr<ScriptLoadContext> newContext = new ScriptLoadContext();
newContext->mIsInline = false;
// Propagated Parent values. TODO: allow child modules to use root module's
@@ -305,10 +305,9 @@ already_AddRefed<ModuleLoadRequest> ModuleLoader::CreateStaticImport(
newContext->mScriptMode = aParent->GetScriptLoadContext()->mScriptMode;
RefPtr<ModuleLoadRequest> request = new ModuleLoadRequest(
aURI, JS::ModuleType::JavaScript, aParent->ReferrerPolicy(),
aParent->mFetchOptions, SRIMetadata(), aParent->mURI, newContext,
false, /* is top level */
false, /* is dynamic import */
aURI, aModuleType, aParent->ReferrerPolicy(), aParent->mFetchOptions,
SRIMetadata(), aParent->mURI, newContext, false, /* is top level */
false, /* is dynamic import */
aParent->mLoader, aParent->mVisitedSet, aParent->GetRootModule());
request->NoCacheEntryFound();
@@ -316,8 +315,9 @@ already_AddRefed<ModuleLoadRequest> ModuleLoader::CreateStaticImport(
}
already_AddRefed<ModuleLoadRequest> ModuleLoader::CreateDynamicImport(
JSContext* aCx, nsIURI* aURI, LoadedScript* aMaybeActiveScript,
JS::Handle<JSString*> aSpecifier, JS::Handle<JSObject*> aPromise) {
JSContext* aCx, nsIURI* aURI, JS::ModuleType aModuleType,
LoadedScript* aMaybeActiveScript, JS::Handle<JSString*> aSpecifier,
JS::Handle<JSObject*> aPromise) {
MOZ_ASSERT(aSpecifier);
MOZ_ASSERT(aPromise);
@@ -365,12 +365,11 @@ already_AddRefed<ModuleLoadRequest> ModuleLoader::CreateDynamicImport(
context->mScriptMode = ScriptLoadContext::ScriptMode::eAsync;
RefPtr<VisitedURLSet> visitedSet =
ModuleLoadRequest::NewVisitedSetForTopLevelImport(
aURI, JS::ModuleType::JavaScript);
ModuleLoadRequest::NewVisitedSetForTopLevelImport(aURI, aModuleType);
RefPtr<ModuleLoadRequest> request =
new ModuleLoadRequest(aURI, JS::ModuleType::JavaScript, referrerPolicy,
options, SRIMetadata(), baseURL, context, true,
new ModuleLoadRequest(aURI, aModuleType, referrerPolicy, options,
SRIMetadata(), baseURL, context, true,
/* is top level */ true, /* is dynamic import */
this, visitedSet, nullptr);