Modified: trunk/Source/_javascript_Core/API/JSAPIGlobalObject.mm (241171 => 241172)
--- trunk/Source/_javascript_Core/API/JSAPIGlobalObject.mm 2019-02-08 00:49:14 UTC (rev 241171)
+++ trunk/Source/_javascript_Core/API/JSAPIGlobalObject.mm 2019-02-08 00:49:42 UTC (rev 241172)
@@ -116,7 +116,7 @@
return import(absoluteURL);
if (!specifier.startsWith('/') && !specifier.startsWith("./") && !specifier.startsWith("../"))
- return reject(createError(exec, "Module specifier does not start with \"/\", \"./\", or \"../\"."_s));
+ return reject(createError(exec, makeString("Module specifier: ", specifier, " does not start with \"/\", \"./\", or \"../\"."_s)));
if (specifier.startsWith('/')) {
absoluteURL = URL(URL({ }, "file://"), specifier);
@@ -126,16 +126,16 @@
auto noBaseErrorMessage = "Could not determine the base URL for loading."_s;
if (sourceOrigin.isNull())
- return reject(createError(exec, noBaseErrorMessage));
+ return reject(createError(exec, makeString(noBaseErrorMessage, " Referring script has no URL."_s)));
auto referrer = sourceOrigin.string();
URL baseURL(URL(), referrer);
if (!baseURL.isValid())
- return reject(createError(exec, noBaseErrorMessage));
+ return reject(createError(exec, makeString(noBaseErrorMessage, " Referring script's URL is not valid: "_s, baseURL.string())));
URL url(baseURL, specifier);
if (!url.isValid())
- return reject(createError(exec, "could not determine a valid URL for module specifier"_s));
+ return reject(createError(exec, makeString("could not determine a valid URL for module specifier. Tried: "_s, url.string())));
return import(url);
}
Modified: trunk/Source/_javascript_Core/ChangeLog (241171 => 241172)
--- trunk/Source/_javascript_Core/ChangeLog 2019-02-08 00:49:14 UTC (rev 241171)
+++ trunk/Source/_javascript_Core/ChangeLog 2019-02-08 00:49:42 UTC (rev 241172)
@@ -1,3 +1,13 @@
+2019-02-07 Keith Miller <[email protected]>
+
+ Better error messages for module loader SPI
+ https://bugs.webkit.org/show_bug.cgi?id=194421
+
+ Reviewed by Saam Barati.
+
+ * API/JSAPIGlobalObject.mm:
+ (JSC::JSAPIGlobalObject::moduleLoaderImportModule):
+
2019-02-07 Mark Lam <[email protected]>
Fix more doesGC() for CheckTraps, GetMapBucket, and Switch nodes.