Obsolete since JSAPI 13
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.
Increment or decrement the reference count of a JSPrincipals
object.
Syntax
JSPRINCIPALS_HOLD(cx, principals) JSPRINCIPALS_DROP(cx, principals)
Name | Type | Description |
---|---|---|
cx |
JSContext * |
A context. |
principals |
JSPrincipals * |
Pointer to the JSPrincipals object to hold or drop. This argument must not be NULL . |
Description
JSPRINCIPALS_HOLD
and JSPRINCIPALS_DROP
are used to manage memory for JSPrincipals
objects.
Principals are used by the SpiderMonkey security system. JSPrincipals
objects are not JSObject
s. They are reference counted, not garbage collected. Application code that stores a pointer to a JSPrincipals
object must call JSPRINCIPALS_HOLD(cx, principals)
before storing it and JSPRINCIPALS_DROP(cx, principals)
when done with it.
JSPRINCIPALS_HOLD(cx, principals)
increments the reference count of principals
by 1.
JSPRINCIPALS_DROP(cx, principals)
decrements the reference count of principals
by 1. If the reference count drops to 0, indicating that no one is using the object anymore, JSPRINCIPALS_DROP
also deallocates principals
by calling its destroy
method.