Global Object created in CentralizedAdminPrefManagerInit needs its own compartment (bug 590325, r=mrbkap).

This commit is contained in:
Andreas Gal 2011-01-21 00:08:13 -08:00
Родитель 131f1172a6
Коммит e58617f44d
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -160,8 +160,11 @@ nsresult CentralizedAdminPrefManagerInit()
static_cast<nsIXPCSecurityManager*>(new AutoConfigSecMan());
xpc->SetSecurityManagerForJSContext(autoconfig_cx, secman, 0);
autoconfig_glob = JS_NewGlobalObject(autoconfig_cx, &global_class);
autoconfig_glob = JS_NewGlobalObjectAndCompartment(autoconfig_cx, &global_class, NULL);
if (autoconfig_glob) {
JSAutoEnterCompartment ac;
if(!ac.enter(ccx, autoconfig_glob))
return NS_ERROR_FAILURE;
if (JS_InitStandardClasses(autoconfig_cx, autoconfig_glob)) {
// XPCONNECT enable this JS context
rv = xpc->InitClasses(autoconfig_cx, autoconfig_glob);