diff options
author | Moonchild <moonchild@palemoon.org> | 2020-07-03 14:15:55 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-07-03 14:15:55 +0000 |
commit | 74c48bcc74fe566d8555eed6792d0bdb2003fff3 (patch) | |
tree | 79df6e5f4d8f963d71cc25cd81020e7c6f400197 /js | |
parent | 9ca74147225eed305e28c7887f9b2251aeeb0f36 (diff) | |
download | UXP-74c48bcc74fe566d8555eed6792d0bdb2003fff3.tar UXP-74c48bcc74fe566d8555eed6792d0bdb2003fff3.tar.gz UXP-74c48bcc74fe566d8555eed6792d0bdb2003fff3.tar.lz UXP-74c48bcc74fe566d8555eed6792d0bdb2003fff3.tar.xz UXP-74c48bcc74fe566d8555eed6792d0bdb2003fff3.zip |
Issue #618 - Add APIs to query module record errors
Ref: BZ 1388728
Diffstat (limited to 'js')
-rw-r--r-- | js/src/jsapi.cpp | 14 | ||||
-rw-r--r-- | js/src/jsapi.h | 6 |
2 files changed, 20 insertions, 0 deletions
diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp index 53ea4ebc6..f8c34885b 100644 --- a/js/src/jsapi.cpp +++ b/js/src/jsapi.cpp @@ -4739,6 +4739,20 @@ JS::GetModuleScript(JSContext* cx, JS::HandleObject moduleArg) return moduleArg->as<ModuleObject>().script(); } +JS_PUBLIC_API(bool) +JS::IsModuleErrored(JSObject* moduleArg) +{ + AssertHeapIsIdle(); + return moduleArg->as<ModuleObject>().status() == MODULE_STATUS_ERRORED; +} + +JS_PUBLIC_API(JS::Value) +JS::GetModuleError(JSObject* moduleArg) +{ + AssertHeapIsIdle(); + return moduleArg->as<ModuleObject>().error(); +} + JS_PUBLIC_API(JSObject*) JS_New(JSContext* cx, HandleObject ctor, const JS::HandleValueArray& inputArgs) { diff --git a/js/src/jsapi.h b/js/src/jsapi.h index 9138a4a92..5e0259587 100644 --- a/js/src/jsapi.h +++ b/js/src/jsapi.h @@ -4396,6 +4396,12 @@ GetRequestedModules(JSContext* cx, JS::HandleObject moduleRecord); extern JS_PUBLIC_API(JSScript*) GetModuleScript(JSContext* cx, JS::HandleObject moduleRecord); +extern JS_PUBLIC_API(bool) +IsModuleErrored(JSObject* moduleRecord); + +extern JS_PUBLIC_API(JS::Value) +GetModuleError(JSObject* moduleRecord); + } /* namespace JS */ extern JS_PUBLIC_API(bool) |