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_PROTOfor theJSObjectOps.setProtocallback, andJSSLOT_PARENTfor theJSObjectOps.setParentcallback. | 
| 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.