Bug 858107 - GC: Some more rooting in XPConnect - root XPCCallContext r=bholley

--HG--
rename : dom/mobilemessage/src/fallback/MmsService.h => dom/mobilemessage/src/SmsServicesFactory.h
extra : rebase_source : b8e5887bf6c54f776b238100cd0362ea0ed52980
This commit is contained in:
Jon Coppeard 2013-04-09 12:04:32 +01:00
Родитель f2e5a25ce5
Коммит 24c5c8e40e
2 изменённых файлов: 19 добавлений и 9 удалений

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

@ -14,12 +14,18 @@
using namespace mozilla;
using namespace xpc;
static inline JSContext *
GetSafeJSContext()
{
return XPCJSRuntime::Get()->GetJSContextStack()->GetSafeJSContext();
}
XPCCallContext::XPCCallContext(XPCContext::LangType callerLanguage,
JSContext* cx /* = nullptr */,
JSObject* obj /* = nullptr */,
JSObject* funobj /* = nullptr */,
jsid name /* = JSID_VOID */,
unsigned argc /* = NO_ARGS */,
unsigned argc /* = NO_ARGS */,
jsval *argv /* = nullptr */,
jsval *rval /* = nullptr */)
: mState(INIT_FAILED),
@ -29,9 +35,11 @@ XPCCallContext::XPCCallContext(XPCContext::LangType callerLanguage,
mContextPopRequired(false),
mDestroyJSContextInDestructor(false),
mCallerLanguage(callerLanguage),
mFlattenedJSObject(nullptr),
mScopeForNewJSObjects(GetSafeJSContext()),
mFlattenedJSObject(GetSafeJSContext()),
mWrapper(nullptr),
mTearOff(nullptr)
mTearOff(nullptr),
mName(GetSafeJSContext())
{
Init(callerLanguage, callerLanguage == NATIVE_CALLER, obj, funobj,
INIT_SHOULD_LOOKUP_WRAPPER, name, argc, argv, rval);
@ -51,9 +59,11 @@ XPCCallContext::XPCCallContext(XPCContext::LangType callerLanguage,
mContextPopRequired(false),
mDestroyJSContextInDestructor(false),
mCallerLanguage(callerLanguage),
mFlattenedJSObject(flattenedJSObject),
mScopeForNewJSObjects(GetSafeJSContext()),
mFlattenedJSObject(GetSafeJSContext(), flattenedJSObject),
mWrapper(wrapper),
mTearOff(tearOff)
mTearOff(tearOff),
mName(GetSafeJSContext())
{
Init(callerLanguage, callBeginRequest, obj, nullptr,
WRAPPER_PASSED_TO_CONSTRUCTOR, JSID_VOID, NO_ARGS,

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

@ -1150,7 +1150,7 @@ public:
JSObject* obj = nullptr,
JSObject* funobj = nullptr,
jsid id = JSID_VOID,
unsigned argc = NO_ARGS,
unsigned argc = NO_ARGS,
jsval *argv = nullptr,
jsval *rval = nullptr);
@ -1295,8 +1295,8 @@ private:
XPCCallContext* mPrevCallContext;
JSObject* mScopeForNewJSObjects;
JSObject* mFlattenedJSObject;
JS::RootedObject mScopeForNewJSObjects;
JS::RootedObject mFlattenedJSObject;
XPCWrappedNative* mWrapper;
XPCWrappedNativeTearOff* mTearOff;
@ -1306,7 +1306,7 @@ private:
XPCNativeInterface* mInterface;
XPCNativeMember* mMember;
jsid mName;
JS::RootedId mName;
JSBool mStaticMemberIsLocal;
unsigned mArgc;