This article covers features introduced in SpiderMonkey 17

Set callback function to name each compartment.

Syntax

void
JS_SetCompartmentNameCallback(JSRuntime *rt, JSCompartmentNameCallback callback);
Name Type Description
cx JSRuntime * The runtime to set the callback function.
callback JSCompartmentNameCallback Callback function which will be called to name each compartment (see below).

Callback function

typedef void
(* JSCompartmentNameCallback)(JSRuntime *rt, JSCompartment *compartment,
                              char *buf, size_t bufsize);
Name Type Description
cx JSRuntime * The runtime of the compartments.
compartmentCallback JSCompartment * The pointer to the compartment to be named.
buf char * The buffer to store the name of the compartment.
bufsize size_t The maximum size of the buffer.

Description

JS_SetCompartmentNameCallback sets callback function which will be called to name the compartment. If the runtime has no JSCompartmentNameCallback, a compartment will be named "<unknown>"</unknown>.

JSCompartmentNameCallback will be called when visiting the compartment, and it should store the name of the compartment into buf with NULL terminated string.

See also