Bug 977340 - Use an AutoJSContext when clearing modules. r=gabor

This commit is contained in:
Bobby Holley 2014-03-04 10:05:08 -08:00
Родитель 46624f507a
Коммит d1bc2b8529
1 изменённых файлов: 6 добавлений и 6 удалений

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

@ -14,6 +14,7 @@
#include "nsIURI.h"
#include "xpcIJSModuleLoader.h"
#include "nsClassHashtable.h"
#include "nsCxPusher.h"
#include "nsDataHashtable.h"
#include "jsapi.h"
@ -115,14 +116,13 @@ class mozJSComponentLoader : public mozilla::ModuleLoader,
getfactoryobj = nullptr;
if (obj) {
JSAutoRequest ar(sSelf->mContext);
mozilla::AutoJSContext cx;
JSAutoCompartment ac(cx, obj);
JSAutoCompartment ac(sSelf->mContext, obj);
JS_SetAllNonReservedSlotsToUndefined(sSelf->mContext, obj);
JS_RemoveObjectRoot(sSelf->mContext, &obj);
JS_SetAllNonReservedSlotsToUndefined(cx, obj);
JS_RemoveObjectRoot(cx, &obj);
if (thisObjectKey)
JS_RemoveScriptRoot(sSelf->mContext, &thisObjectKey);
JS_RemoveScriptRoot(cx, &thisObjectKey);
}
if (location)