зеркало из https://github.com/mozilla/gecko-dev.git
Bug 977340 - Use an AutoJSContext when clearing modules. r=gabor
This commit is contained in:
Родитель
46624f507a
Коммит
d1bc2b8529
|
@ -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)
|
||||
|
|
Загрузка…
Ссылка в новой задаче