summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2019-07-21 22:31:02 -0400
committerGaming4JC <g4jc@hyperbola.info>2019-07-21 22:33:19 -0400
commit04ac84ff56b9780335560319a8ecd3e8b510874e (patch)
tree8190e36c47a4939c67db833230d01d13a3470bf1
parentf6a282023ec220c7cf181276e88a36be2821b132 (diff)
downloadUXP-04ac84ff56b9780335560319a8ecd3e8b510874e.tar
UXP-04ac84ff56b9780335560319a8ecd3e8b510874e.tar.gz
UXP-04ac84ff56b9780335560319a8ecd3e8b510874e.tar.lz
UXP-04ac84ff56b9780335560319a8ecd3e8b510874e.tar.xz
UXP-04ac84ff56b9780335560319a8ecd3e8b510874e.zip
Issue #1195 - Fix errant use of JSContext in ErrorNotes
We want to ensure that ErrorNotes stays on the main thread to prevent a race condition that was introduced in 1283712 - Part 1. This fixes #1195.
-rw-r--r--js/src/jsapi.cpp8
-rw-r--r--js/src/jscntxt.cpp2
-rw-r--r--js/src/jscntxt.h2
3 files changed, 6 insertions, 6 deletions
diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp
index 7cc7bd035..84a315587 100644
--- a/js/src/jsapi.cpp
+++ b/js/src/jsapi.cpp
@@ -6326,7 +6326,7 @@ JSErrorNotes::~JSErrorNotes()
}
static UniquePtr<JSErrorNotes::Note>
-CreateErrorNoteVA(JSContext* cx,
+CreateErrorNoteVA(ExclusiveContext* cx,
const char* filename, unsigned lineno, unsigned column,
JSErrorCallback errorCallback, void* userRef,
const unsigned errorNumber,
@@ -6357,7 +6357,7 @@ JSErrorNotes::addNoteASCII(ExclusiveContext* cx,
{
va_list ap;
va_start(ap, errorNumber);
- auto note = CreateErrorNoteVA(cx->asJSContext(), filename, lineno, column, errorCallback, userRef,
+ auto note = CreateErrorNoteVA(cx, filename, lineno, column, errorCallback, userRef,
errorNumber, ArgumentsAreASCII, ap);
va_end(ap);
@@ -6376,7 +6376,7 @@ JSErrorNotes::addNoteLatin1(ExclusiveContext* cx,
{
va_list ap;
va_start(ap, errorNumber);
- auto note = CreateErrorNoteVA(cx->asJSContext(), filename, lineno, column, errorCallback, userRef,
+ auto note = CreateErrorNoteVA(cx, filename, lineno, column, errorCallback, userRef,
errorNumber, ArgumentsAreLatin1, ap);
va_end(ap);
@@ -6395,7 +6395,7 @@ JSErrorNotes::addNoteUTF8(ExclusiveContext* cx,
{
va_list ap;
va_start(ap, errorNumber);
- auto note = CreateErrorNoteVA(cx->asJSContext(), filename, lineno, column, errorCallback, userRef,
+ auto note = CreateErrorNoteVA(cx, filename, lineno, column, errorCallback, userRef,
errorNumber, ArgumentsAreUTF8, ap);
va_end(ap);
diff --git a/js/src/jscntxt.cpp b/js/src/jscntxt.cpp
index 441b006d6..e505a4b34 100644
--- a/js/src/jscntxt.cpp
+++ b/js/src/jscntxt.cpp
@@ -748,7 +748,7 @@ js::ExpandErrorArgumentsVA(ExclusiveContext* cx, JSErrorCallback callback,
}
bool
-js::ExpandErrorArgumentsVA(JSContext* cx, JSErrorCallback callback,
+js::ExpandErrorArgumentsVA(ExclusiveContext* cx, JSErrorCallback callback,
void* userRef, const unsigned errorNumber,
const char16_t** messageArgs,
ErrorArgumentsType argumentsType,
diff --git a/js/src/jscntxt.h b/js/src/jscntxt.h
index c949d18fd..8be3376cf 100644
--- a/js/src/jscntxt.h
+++ b/js/src/jscntxt.h
@@ -622,7 +622,7 @@ ExpandErrorArgumentsVA(ExclusiveContext* cx, JSErrorCallback callback,
JSErrorReport* reportp, va_list ap);
extern bool
-ExpandErrorArgumentsVA(JSContext* cx, JSErrorCallback callback,
+ExpandErrorArgumentsVA(ExclusiveContext* cx, JSErrorCallback callback,
void* userRef, const unsigned errorNumber,
const char16_t** messageArgs,
ErrorArgumentsType argumentsType,