Bug 1688879 - Part 4: Refactor ResolveModuleSpecifier. r=jonco,yulia

Add ResolveResult to return nsIURI on success or return ResolveError on
failure.

Differential Revision: https://phabricator.services.mozilla.com/D142073
This commit is contained in:
Yoshi Cheng-Hao Huang
2022-05-05 21:19:02 +00:00
parent d5ac332d96
commit 3b065c039f
4 changed files with 77 additions and 28 deletions

View File

@@ -24,6 +24,7 @@
#include "mozilla/MaybeOneOf.h"
#include "mozilla/MozPromise.h"
#include "mozilla/UniquePtr.h"
#include "ResolveResult.h"
class nsIURI;
@@ -267,14 +268,15 @@ class ModuleLoaderBase : public nsISupports {
static bool HostGetSupportedImportAssertions(
JSContext* aCx, JS::ImportAssertionVector& aValues);
already_AddRefed<nsIURI> ResolveModuleSpecifier(LoadedScript* aScript,
const nsAString& aSpecifier);
ResolveResult ResolveModuleSpecifier(LoadedScript* aScript,
const nsAString& aSpecifier);
static nsresult HandleResolveFailure(JSContext* aCx, LoadedScript* aScript,
const nsAString& aSpecifier,
ResolveError aError,
uint32_t aLineNumber,
uint32_t aColumnNumber,
JS::MutableHandle<JS::Value> errorOut);
JS::MutableHandle<JS::Value> aErrorOut);
enum class RestartRequest { No, Yes };
nsresult StartOrRestartModuleLoad(ModuleLoadRequest* aRequest,