Better error reporting on XFA JS errors
Change-Id: I773ff83b45ffbd736f064daedb1010c8d01a99d5
Reviewed-on: https://pdfium-review.googlesource.com/34050
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
diff --git a/fxjs/cfxjse_context.cpp b/fxjs/cfxjse_context.cpp
index 2de698d..01f86c3 100644
--- a/fxjs/cfxjse_context.cpp
+++ b/fxjs/cfxjse_context.cpp
@@ -293,7 +293,16 @@
#ifndef NDEBUG
v8::String::Utf8Value error(GetIsolate(), trycatch.Exception());
- fprintf(stderr, "JS Error: %ls\n", WideString::FromUTF8(*error).c_str());
+ fprintf(stderr, "JS Error: %s\n", *error);
+
+ v8::Local<v8::Message> message = trycatch.Message();
+ if (!message.IsEmpty()) {
+ v8::Local<v8::Context> context(GetIsolate()->GetCurrentContext());
+ int linenum = message->GetLineNumber(context).FromJust();
+ v8::String::Utf8Value sourceline(
+ GetIsolate(), message->GetSourceLine(context).ToLocalChecked());
+ fprintf(stderr, "Line %d: %s\n", linenum, *sourceline);
+ }
#endif // NDEBUG
if (lpRetValue) {