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:
Boris Zbarsky 2016-04-14 14:54:01 -04:00
Родитель 501a3b98fe
Коммит 911713a99f
2 изменённых файлов: 10 добавлений и 35 удалений

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

@ -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,
};