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.