From 7ffb200407021108408a1f0a974d76385f906ccd Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Fri, 14 Oct 2005 07:50:51 +0000
Subject: [PATCH] Created js.global for easy reference to the global (top
 level) object.

---
 src/sbbs3/js_internal.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/sbbs3/js_internal.c b/src/sbbs3/js_internal.c
index 365d0973ae..167a7b2b2c 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
-- 
GitLab