mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1152512 - Use the latest JavaScript version when parsing AutoConfig files. r=mrbkap
This commit is contained in:
parent
437c47a0ec
commit
13924a4381
@ -107,7 +107,7 @@ nsresult EvaluateAdminConfigScript(const char *js_buffer, size_t length,
|
|||||||
nsAutoCString script(js_buffer, length);
|
nsAutoCString script(js_buffer, length);
|
||||||
JS::RootedValue v(cx);
|
JS::RootedValue v(cx);
|
||||||
rv = xpc->EvalInSandboxObject(NS_ConvertUTF8toUTF16(script), filename, cx,
|
rv = xpc->EvalInSandboxObject(NS_ConvertUTF8toUTF16(script), filename, cx,
|
||||||
autoconfigSb, &v);
|
autoconfigSb, JSVERSION_LATEST, &v);
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
@ -266,7 +266,7 @@ interface nsIXPCFunctionThisTranslator : nsISupports
|
|||||||
{ 0xbd, 0xd6, 0x0, 0x0, 0x64, 0x65, 0x73, 0x74 } }
|
{ 0xbd, 0xd6, 0x0, 0x0, 0x64, 0x65, 0x73, 0x74 } }
|
||||||
%}
|
%}
|
||||||
|
|
||||||
[noscript, uuid(db83b3af-ac22-4dd2-99cf-7f79270ed4cd)]
|
[noscript, uuid(f339ea52-10ce-4103-b1f2-fd9659040e3c)]
|
||||||
interface nsIXPConnect : nsISupports
|
interface nsIXPConnect : nsISupports
|
||||||
{
|
{
|
||||||
%{ C++
|
%{ C++
|
||||||
@ -486,6 +486,8 @@ interface nsIXPConnect : nsISupports
|
|||||||
* the script. The actual evaluation will happen on a new
|
* the script. The actual evaluation will happen on a new
|
||||||
* temporary context.
|
* temporary context.
|
||||||
* @param sandbox The sandbox object to evaluate the script in.
|
* @param sandbox The sandbox object to evaluate the script in.
|
||||||
|
* @param version The JavaScript version to use for evaluating the script.
|
||||||
|
* Should be a valid JSVersion from jspubtd.h.
|
||||||
* @return The result of the evaluation as a jsval. If the caller
|
* @return The result of the evaluation as a jsval. If the caller
|
||||||
* intends to use the return value from this call the caller
|
* intends to use the return value from this call the caller
|
||||||
* is responsible for rooting the jsval before making a call
|
* is responsible for rooting the jsval before making a call
|
||||||
@ -493,7 +495,8 @@ interface nsIXPConnect : nsISupports
|
|||||||
*/
|
*/
|
||||||
[noscript] jsval evalInSandboxObject(in AString source, in string filename,
|
[noscript] jsval evalInSandboxObject(in AString source, in string filename,
|
||||||
in JSContextPtr cx,
|
in JSContextPtr cx,
|
||||||
in JSObjectPtr sandbox);
|
in JSObjectPtr sandbox,
|
||||||
|
in int32_t version);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not XPConnect should report all JS exceptions when returning
|
* Whether or not XPConnect should report all JS exceptions when returning
|
||||||
|
@ -771,8 +771,15 @@ nsXPConnect::CreateSandbox(JSContext* cx, nsIPrincipal* principal,
|
|||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsXPConnect::EvalInSandboxObject(const nsAString& source, const char* filename,
|
nsXPConnect::EvalInSandboxObject(const nsAString& source, const char* filename,
|
||||||
JSContext* cx, JSObject* sandboxArg,
|
JSContext* cx, JSObject* sandboxArg,
|
||||||
|
int32_t jsVersion,
|
||||||
MutableHandleValue rval)
|
MutableHandleValue rval)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG
|
||||||
|
{
|
||||||
|
const char *version = JS_VersionToString(JSVersion(jsVersion));
|
||||||
|
MOZ_ASSERT(version && strcmp(version, "unknown") != 0, "Illegal JS version passed");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (!sandboxArg)
|
if (!sandboxArg)
|
||||||
return NS_ERROR_INVALID_ARG;
|
return NS_ERROR_INVALID_ARG;
|
||||||
|
|
||||||
@ -784,7 +791,7 @@ nsXPConnect::EvalInSandboxObject(const nsAString& source, const char* filename,
|
|||||||
filenameStr = NS_LITERAL_CSTRING("x-bogus://XPConnect/Sandbox");
|
filenameStr = NS_LITERAL_CSTRING("x-bogus://XPConnect/Sandbox");
|
||||||
}
|
}
|
||||||
return EvalInSandbox(cx, sandbox, source, filenameStr, 1,
|
return EvalInSandbox(cx, sandbox, source, filenameStr, 1,
|
||||||
JSVERSION_LATEST, rval);
|
JSVersion(jsVersion), rval);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* JSObjectPtr getWrappedNativePrototype (in JSContextPtr aJSContext, in JSObjectPtr aScope); */
|
/* JSObjectPtr getWrappedNativePrototype (in JSContextPtr aJSContext, in JSObjectPtr aScope); */
|
||||||
|
Loading…
Reference in New Issue
Block a user