diff --git a/src/sbbs3/js_internal.c b/src/sbbs3/js_internal.c index 365d0973aea55555aac9d76ba82b270c2a671916..167a7b2b2c3580531553272919d48b42252871bf 100644 --- a/src/sbbs3/js_internal.c +++ b/src/sbbs3/js_internal.c @@ -54,6 +54,7 @@ enum { ,PROP_BYTES ,PROP_MAXBYTES #endif + ,PROP_GLOBAL }; static JSBool js_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) @@ -107,6 +108,13 @@ static JSBool js_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) case PROP_MAXBYTES: JS_NewNumberValue(cx,cx->runtime->gcMaxBytes,vp); break; + case PROP_GLOBAL: + *vp = OBJECT_TO_JSVAL(cx->globalObject); + break; +#else + case PROP_GLOBAL: + *vp = OBJECT_TO_JSVAL(JS_GetParent(cx,obj)); + break; #endif } @@ -172,6 +180,7 @@ static jsSyncPropertySpec js_properties[] = { { "bytes", PROP_BYTES, PROP_FLAGS, 311 }, { "max_bytes", PROP_MAXBYTES, JSPROP_ENUMERATE, 311 }, #endif + { "global", PROP_GLOBAL, PROP_FLAGS, 313 }, {0} }; @@ -191,6 +200,7 @@ static char* prop_desc[] = { ,"number of heap bytes currently in use - <small>READ ONLY</small>" ,"maximum number of bytes available for heap" #endif + ,"global (top level) object - <small>READ ONLY</small>" ,NULL }; #endif