зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1264377. Get rid of some unnecessary custom JSClass hook functions in xpconnect sandboxes and DOM simple globals. r=bholley
This commit is contained in:
Родитель
501a3b98fe
Коммит
911713a99f
|
@ -41,19 +41,6 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(SimpleGlobalObject)
|
|||
NS_INTERFACE_MAP_ENTRY(nsIGlobalObject)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
static bool
|
||||
SimpleGlobal_enumerate(JSContext *cx, JS::Handle<JSObject *> obj)
|
||||
{
|
||||
return JS_EnumerateStandardClasses(cx, obj);
|
||||
}
|
||||
|
||||
static bool
|
||||
SimpleGlobal_resolve(JSContext *cx, JS::Handle<JSObject *> obj,
|
||||
JS::Handle<jsid> id, bool *resolvedp)
|
||||
{
|
||||
return JS_ResolveStandardClass(cx, obj, id, resolvedp);
|
||||
}
|
||||
|
||||
static void
|
||||
SimpleGlobal_finalize(js::FreeOp *fop, JSObject *obj)
|
||||
{
|
||||
|
@ -75,9 +62,9 @@ static const js::ClassOps SimpleGlobalClassOps = {
|
|||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
SimpleGlobal_enumerate,
|
||||
SimpleGlobal_resolve,
|
||||
nullptr,
|
||||
JS_EnumerateStandardClasses,
|
||||
JS_ResolveStandardClass,
|
||||
JS_MayResolveStandardClass,
|
||||
SimpleGlobal_finalize,
|
||||
nullptr,
|
||||
nullptr,
|
||||
|
|
|
@ -399,18 +399,6 @@ SandboxCloneInto(JSContext* cx, unsigned argc, Value* vp)
|
|||
return xpc::CloneInto(cx, args[0], args[1], options, args.rval());
|
||||
}
|
||||
|
||||
static bool
|
||||
sandbox_enumerate(JSContext* cx, HandleObject obj)
|
||||
{
|
||||
return JS_EnumerateStandardClasses(cx, obj);
|
||||
}
|
||||
|
||||
static bool
|
||||
sandbox_resolve(JSContext* cx, HandleObject obj, HandleId id, bool* resolvedp)
|
||||
{
|
||||
return JS_ResolveStandardClass(cx, obj, id, resolvedp);
|
||||
}
|
||||
|
||||
static void
|
||||
sandbox_finalize(js::FreeOp* fop, JSObject* obj)
|
||||
{
|
||||
|
@ -490,9 +478,9 @@ sandbox_addProperty(JSContext* cx, HandleObject obj, HandleId id, HandleValue v)
|
|||
CompartmentPrivate* priv = CompartmentPrivate::Get(obj);
|
||||
MOZ_ASSERT(priv->writeToGlobalPrototype);
|
||||
|
||||
// Whenever JS_EnumerateStandardClasses is called (by sandbox_enumerate for
|
||||
// example), it defines the "undefined" property, even if it's already
|
||||
// defined. We don't want to do anything in that case.
|
||||
// Whenever JS_EnumerateStandardClasses is called, it defines the
|
||||
// "undefined" property, even if it's already defined. We don't want to do
|
||||
// anything in that case.
|
||||
if (id == XPCJSRuntime::Get()->GetStringID(XPCJSRuntime::IDX_UNDEFINED))
|
||||
return true;
|
||||
|
||||
|
@ -552,8 +540,8 @@ sandbox_addProperty(JSContext* cx, HandleObject obj, HandleId id, HandleValue v)
|
|||
|
||||
static const js::ClassOps SandboxClassOps = {
|
||||
nullptr, nullptr, nullptr, nullptr,
|
||||
sandbox_enumerate, sandbox_resolve,
|
||||
nullptr, /* mayResolve */
|
||||
JS_EnumerateStandardClasses, JS_ResolveStandardClass,
|
||||
JS_MayResolveStandardClass,
|
||||
sandbox_finalize,
|
||||
nullptr, nullptr, nullptr, JS_GlobalObjectTraceHook,
|
||||
};
|
||||
|
@ -576,8 +564,8 @@ static const js::Class SandboxClass = {
|
|||
// to do the work for this class.
|
||||
static const js::ClassOps SandboxWriteToProtoClassOps = {
|
||||
sandbox_addProperty, nullptr, nullptr, nullptr,
|
||||
sandbox_enumerate, sandbox_resolve,
|
||||
nullptr, /* mayResolve */
|
||||
JS_EnumerateStandardClasses, JS_ResolveStandardClass,
|
||||
JS_MayResolveStandardClass,
|
||||
sandbox_finalize,
|
||||
nullptr, nullptr, nullptr, JS_GlobalObjectTraceHook,
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче