Obsolete since JavaScript 1.8.5
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
Warning: JSObjectOps
is not a supported API. Details of the API may change from one release to the next. This documentation should be considered SpiderMonkey internals documentation, not API documentation. See bug 408416 for details.
The JSObjectOps.setProto
and setParent
callbacks implement the JS_SetPrototype
and JS_SetParent
functions. These callbacks share the same type, JSSetObjectSlotOp
.
Syntax
typedef JSBool (*JSSetObjectSlotOp)(JSContext *cx, JSObject *obj, uint32 slot, JSObject *pobj);
Name | Type | Description |
---|---|---|
cx |
JSContext * |
Pointer to the JS context in which the object's prototype or parent is being modified. |
obj |
JSObject * |
The object whose prototype or parent is being modified. |
slot |
uint32 |
The index of the slot being modified: JSSLOT_PROTO for the JSObjectOps.setProto callback, and JSSLOT_PARENT for the JSObjectOps.setParent callback. |
pobj |
JSObject * |
The new prototype or parent object. |
Description
These hooks must check for cycles without deadlocking, and otherwise take special steps. See js_SetPrototype
or js_SetParent
in js/src/jsobj.c
for an example.