void gjs_keep_alive_remove_global_child(JSContext *context, GjsUnrootedFunc notify, JSObject *child, void *data) { JSObject *keep_alive; JS_BeginRequest(context); keep_alive = gjs_keep_alive_get_global(context); if (!keep_alive) gjs_fatal("no keep_alive property on the global object, have you " "previously added this child?"); gjs_keep_alive_remove_child(context, gjs_keep_alive_get_global(context), notify, child, data); JS_EndRequest(context); }
void gjs_keep_alive_add_global_child(JSContext *context, GjsUnrootedFunc notify, JSObject *child, void *data) { JSObject *keep_alive; JS_BeginRequest(context); keep_alive = gjs_keep_alive_get_global(context); gjs_keep_alive_add_child(keep_alive, notify, child, data); JS_EndRequest(context); }
void gjs_keep_alive_add_global_child(JSContext *context, GjsUnrootedFunc notify, JSObject *child, void *data) { JSObject *keep_alive; JS_BeginRequest(context); keep_alive = gjs_keep_alive_get_global(context); if (!keep_alive) keep_alive = gjs_keep_alive_create_in_global(context); if (!keep_alive) gjs_fatal("could not create keep_alive on global object, no memory?"); gjs_keep_alive_add_child(context, keep_alive, notify, child, data); JS_EndRequest(context); }
JSObject* gjs_keep_alive_get_for_load_context(JSRuntime *runtime) { JSContext *context; JSObject *keep_alive; context = gjs_runtime_get_load_context(runtime); g_assert(context != NULL); JS_BeginRequest(context); keep_alive = gjs_keep_alive_get_global(context); if (!keep_alive) keep_alive = gjs_keep_alive_create_in_global(context); if (!keep_alive) gjs_fatal("could not create keep_alive on global object, no memory?"); JS_EndRequest(context); return keep_alive; }