Bug 856477 - Root XPComponents. r=bholley f=terrence

This commit is contained in:
Tom Schuster 2013-04-10 20:46:59 +02:00
parent ff7f6e9086
commit f063028249
3 changed files with 291 additions and 229 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1660,14 +1660,20 @@ nsXPConnect::CreateSandbox(JSContext *cx, nsIPrincipal *principal,
NS_IMETHODIMP
nsXPConnect::EvalInSandboxObject(const nsAString& source, const char *filename,
JSContext *cx, JSObject *sandbox,
bool returnStringOnly, jsval *rval)
JSContext *cx, JSObject *sandboxArg,
bool returnStringOnly, JS::Value *rvalArg)
{
if (!sandbox)
if (!sandboxArg)
return NS_ERROR_INVALID_ARG;
return xpc_EvalInSandbox(cx, sandbox, source, filename ? filename : "x-bogus://XPConnect/Sandbox",
1, JSVERSION_DEFAULT, returnStringOnly, rval);
JS::RootedObject sandbox(cx, sandboxArg);
JS::RootedValue rval(cx);
nsresult rv = xpc_EvalInSandbox(cx, sandbox, source, filename ? filename :
"x-bogus://XPConnect/Sandbox", 1, JSVERSION_DEFAULT,
returnStringOnly, &rval);
NS_ENSURE_SUCCESS(rv, rv);
*rvalArg = rval;
return NS_OK;
}
/* nsIXPConnectJSObjectHolder getWrappedNativePrototype (in JSContextPtr aJSContext, in JSObjectPtr aScope, in nsIClassInfo aClassInfo); */

View File

@ -4202,9 +4202,10 @@ xpc_CreateSandboxObject(JSContext * cx, jsval * vp, nsISupports *prinOrSop,
// an exception to a string, evalInSandbox will return an NS_ERROR_*
// result, and cx->exception will be empty.
nsresult
xpc_EvalInSandbox(JSContext *cx, JSObject *sandbox, const nsAString& source,
xpc_EvalInSandbox(JSContext *cx, JS::HandleObject sandbox, const nsAString& source,
const char *filename, int32_t lineNo,
JSVersion jsVersion, bool returnStringOnly, jsval *rval);
JSVersion jsVersion, bool returnStringOnly,
JS::MutableHandleValue rval);
/***************************************************************************/
// Inlined utilities.