Bug 1759881 - Part 7: Add a virtual method to get the module loader to use for the current global r=yulia,smaug
This adds a virtual method to nsIGlobalObject and implements it for nsGlobalWindowInner and SandboxPrivate. This means we don't have to put the logic for dealing with all the different kinds of globals in once place. Differential Revision: https://phabricator.services.mozilla.com/D141733
This commit is contained in:
@@ -353,7 +353,7 @@ nsresult ModuleLoaderBase::HandleResolveFailure(
|
||||
}
|
||||
|
||||
already_AddRefed<nsIURI> ModuleLoaderBase::ResolveModuleSpecifier(
|
||||
ScriptLoaderInterface* aLoader, LoadedScript* aScript,
|
||||
ModuleLoaderBase* aLoader, LoadedScript* aScript,
|
||||
const nsAString& aSpecifier) {
|
||||
// The following module specifiers are allowed by the spec:
|
||||
// - a valid absolute URL
|
||||
@@ -383,7 +383,7 @@ already_AddRefed<nsIURI> ModuleLoaderBase::ResolveModuleSpecifier(
|
||||
if (aScript) {
|
||||
baseURL = aScript->BaseURL();
|
||||
} else {
|
||||
baseURL = aLoader->GetBaseURI();
|
||||
baseURL = aLoader->mLoader->GetBaseURI();
|
||||
}
|
||||
|
||||
rv = NS_NewURI(getter_AddRefs(uri), aSpecifier, nullptr, baseURL);
|
||||
@@ -432,7 +432,7 @@ nsresult ModuleLoaderBase::ResolveRequestedModules(
|
||||
// and requested.
|
||||
ModuleLoaderBase* requestModuleLoader = aRequest->mLoader;
|
||||
nsCOMPtr<nsIURI> uri =
|
||||
ResolveModuleSpecifier(requestModuleLoader->mLoader, ms, specifier);
|
||||
ResolveModuleSpecifier(requestModuleLoader, ms, specifier);
|
||||
if (!uri) {
|
||||
uint32_t lineNumber = 0;
|
||||
uint32_t columnNumber = 0;
|
||||
|
||||
Reference in New Issue
Block a user