Bug 1095660 part 5. Change nsJSUtils::EvaluateString to take an explicit scope chain. r=bholley

This commit is contained in:
Boris Zbarsky
2014-11-12 17:04:29 -05:00
parent 1bfd7b7b4d
commit f1881a7198
8 changed files with 115 additions and 46 deletions

View File

@@ -1553,7 +1553,12 @@ _evaluate(NPP npp, NPObject* npobj, NPString *script, NPVariant *result)
options.setFileAndLine(spec, 0)
.setVersion(JSVERSION_DEFAULT);
JS::Rooted<JS::Value> rval(cx);
nsJSUtils::EvaluateOptions evalOptions;
nsJSUtils::EvaluateOptions evalOptions(cx);
if (obj != js::GetGlobalForObjectCrossCompartment(obj) &&
!evalOptions.scopeChain.append(obj)) {
return false;
}
obj = js::GetGlobalForObjectCrossCompartment(obj);
nsresult rv = nsJSUtils::EvaluateString(cx, utf16script, obj, options,
evalOptions, &rval);