mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-01 04:47:31 +09:00
Issue #618 - Make ES6 modules work for resource: URIs
This commit is contained in:
parent
1e87731ce1
commit
7316d91ba2
1 changed files with 23 additions and 1 deletions
|
|
@ -2446,6 +2446,18 @@ ScriptLoader::NumberOfProcessors()
|
||||||
return mNumberOfProcessors;
|
return mNumberOfProcessors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
IsInternalURIScheme(nsIURI* uri)
|
||||||
|
{
|
||||||
|
// Note: Extend this if other schemes need to be included.
|
||||||
|
bool isResource;
|
||||||
|
if (NS_SUCCEEDED(uri->SchemeIs("resource", &isResource)) && isResource) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
ScriptLoader::PrepareLoadedRequest(ScriptLoadRequest* aRequest,
|
ScriptLoader::PrepareLoadedRequest(ScriptLoadRequest* aRequest,
|
||||||
nsIIncrementalStreamLoader* aLoader,
|
nsIIncrementalStreamLoader* aLoader,
|
||||||
|
|
@ -2533,7 +2545,17 @@ ScriptLoader::PrepareLoadedRequest(ScriptLoadRequest* aRequest,
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nsCOMPtr<nsIURI> uri;
|
||||||
|
rv = channel->GetOriginalURI(getter_AddRefs(uri));
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
// Fixup internal scheme URIs like resource:, because the channel URI
|
||||||
|
// will point to file: which won't be allowed to load.
|
||||||
|
if (uri && IsInternalURIScheme(uri)) {
|
||||||
|
request->mBaseURL = uri;
|
||||||
|
} else {
|
||||||
channel->GetURI(getter_AddRefs(request->mBaseURL));
|
channel->GetURI(getter_AddRefs(request->mBaseURL));
|
||||||
|
}
|
||||||
|
|
||||||
// Attempt to compile off main thread.
|
// Attempt to compile off main thread.
|
||||||
rv = AttemptAsyncScriptCompile(request);
|
rv = AttemptAsyncScriptCompile(request);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue