зеркало из https://github.com/mozilla/gecko-dev.git
Bug 720580 - Assert against creating globals in xpc_NewSystemInheritingJSObject. r=mrbkap
With this patch, the only call to JS_NewGlobalObject in XPConnect happens in xpc_CreateGlobalObject. \o/
This commit is contained in:
Родитель
c6f2bff359
Коммит
9c7a81fdcd
|
@ -658,14 +658,11 @@ inline JSObject*
|
||||||
xpc_NewSystemInheritingJSObject(JSContext *cx, JSClass *clasp, JSObject *proto,
|
xpc_NewSystemInheritingJSObject(JSContext *cx, JSClass *clasp, JSObject *proto,
|
||||||
bool uniqueType, JSObject *parent)
|
bool uniqueType, JSObject *parent)
|
||||||
{
|
{
|
||||||
|
// Global creation should go through XPCWrappedNative::WrapNewGlobal().
|
||||||
|
MOZ_ASSERT(!(clasp->flags & JSCLASS_IS_GLOBAL));
|
||||||
|
|
||||||
JSObject *obj;
|
JSObject *obj;
|
||||||
if (clasp->flags & JSCLASS_IS_GLOBAL) {
|
if (uniqueType) {
|
||||||
obj = JS_NewGlobalObject(cx, clasp);
|
|
||||||
if (obj && proto) {
|
|
||||||
if (!JS_SplicePrototype(cx, obj, proto))
|
|
||||||
obj = NULL;
|
|
||||||
}
|
|
||||||
} else if (uniqueType) {
|
|
||||||
obj = JS_NewObjectWithUniqueType(cx, clasp, proto, parent);
|
obj = JS_NewObjectWithUniqueType(cx, clasp, proto, parent);
|
||||||
} else {
|
} else {
|
||||||
obj = JS_NewObject(cx, clasp, proto, parent);
|
obj = JS_NewObject(cx, clasp, proto, parent);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче