зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1254857. Switch the AutoEntryScript in xpc::EvalInSandbox to take ownership of error reporting. r=bholley
In practice we always propagate the exception out anyway, so this change is a no-op.
This commit is contained in:
Родитель
3774edb271
Коммит
2e279c21e5
|
@ -1703,6 +1703,7 @@ xpc::EvalInSandbox(JSContext* cx, HandleObject sandboxArg, const nsAString& sour
|
|||
// We're about to evaluate script, so make an AutoEntryScript.
|
||||
// This is clearly Gecko-specific and not in any spec.
|
||||
mozilla::dom::AutoEntryScript aes(priv, "XPConnect sandbox evaluation");
|
||||
aes.TakeOwnershipOfErrorReporting();
|
||||
JSContext* sandcx = aes.cx();
|
||||
AutoSaveContextOptions savedOptions(sandcx);
|
||||
JS::ContextOptionsRef(sandcx).setDontReportUncaught(true);
|
||||
|
@ -1716,9 +1717,8 @@ xpc::EvalInSandbox(JSContext* cx, HandleObject sandboxArg, const nsAString& sour
|
|||
PromiseFlatString(source).get(), source.Length(), &v);
|
||||
|
||||
// If the sandbox threw an exception, grab it off the context.
|
||||
if (JS_GetPendingException(sandcx, &exn)) {
|
||||
MOZ_ASSERT(!ok);
|
||||
JS_ClearPendingException(sandcx);
|
||||
if (aes.HasException()) {
|
||||
aes.StealException(&exn);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче