Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/22368db2325bf25d597023f34399b51c59cdfc2e
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/22368db2325bf25d597023f34399b51c59cdfc2e
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/22368db2325bf25d597023f34399b51c59cdfc2e

The branch, master has been updated
       via  22368db2325bf25d597023f34399b51c59cdfc2e (commit)
      from  fc0f732dec6a89e4c169bee222ee50daf33c7acd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/netsurf.git/commitdiff/22368db2325bf25d597023f34399b51c59cdfc2e
commit 22368db2325bf25d597023f34399b51c59cdfc2e
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    add js property (dom attribute) support to the document/element objects

diff --git a/javascript/jsapi.h b/javascript/jsapi.h
index 2c10d02..c4c1ed0 100644
--- a/javascript/jsapi.h
+++ b/javascript/jsapi.h
@@ -69,6 +69,9 @@
 #define JSAPI_PS(name, tinyid, flags) \
        { #name , tinyid , flags , jsapi_property_##name##_get , 
jsapi_property_##name##_set }
 
+#define JSAPI_PS_RO(name, tinyid, flags) \
+       { #name , tinyid , flags | JSPROP_READONLY, jsapi_property_##name##_get 
, NULL }
+
 #define JSAPI_PS_END { NULL, 0, 0, NULL, NULL }
 
 static inline JSObject *
@@ -126,7 +129,15 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx,
                jsapi_property_##name##_set                     \
        }
 
-#define JSAPI_PS_END { NULL, 0,0,NULL,NULL }
+#define JSAPI_PS_RO(name, tinyid, flags) {                     \
+               #name ,                                         \
+               tinyid ,                                        \
+               flags | JSPROP_READONLY,                        \
+               jsapi_property_##name##_get ,                   \
+               NULL                                            \
+       }
+
+#define JSAPI_PS_END { NULL, 0, 0, NULL, NULL }
 
 
 #define JSString_to_char(injsstring, outchar, outlen)          \
diff --git a/javascript/jsapi/document.c b/javascript/jsapi/document.c
index e5dfcd5..2d3bde4 100644
--- a/javascript/jsapi/document.c
+++ b/javascript/jsapi/document.c
@@ -105,3 +105,6 @@ static JSBool JSAPI_NATIVE(getElementById, JSContext *cx, 
uintN argc, jsval *vp)
        JSAPI_FS_NODE, \
        JSAPI_FS(getElementById, 1, 0) \
 
+
+#define JSAPI_PS_DOCUMENT                                              \
+       JSAPI_PS_NODE
diff --git a/javascript/jsapi/element.c b/javascript/jsapi/element.c
index cefb959..d301321 100644
--- a/javascript/jsapi/element.c
+++ b/javascript/jsapi/element.c
@@ -82,3 +82,18 @@ static JSBool JSAPI_NATIVE(getAttribute, JSContext *cx, 
uintN argc, jsval *vp)
 #define JSAPI_FS_ELEMENT \
        JSAPI_FS_NODE, \
        JSAPI_FS(getAttribute, 0, 0)
+
+static JSBool JSAPI_PROPERTYGET(id, JSContext *cx, JSObject *obj, jsval *vp)
+{
+       JS_SET_RVAL(cx, vp, JSVAL_NULL);
+       return JS_TRUE;
+}
+
+static JSBool JSAPI_PROPERTYSET(id, JSContext *cx, JSObject *obj, jsval *vp)
+{
+       return JS_FALSE;
+}
+
+#define JSAPI_PS_ELEMENT                                               \
+       JSAPI_PS_NODE,                                                  \
+       JSAPI_PS(id, 0, JSPROP_ENUMERATE | JSPROP_SHARED)
diff --git a/javascript/jsapi/htmldocument.c b/javascript/jsapi/htmldocument.c
index aa9efbc..1a58e4e 100644
--- a/javascript/jsapi/htmldocument.c
+++ b/javascript/jsapi/htmldocument.c
@@ -209,6 +209,12 @@ static JSFunctionSpec jsfunctions_document[] = {
        JSAPI_FS_END
 };
 
+static JSPropertySpec jsproperties_document[] =
+{
+       JSAPI_PS_DOCUMENT,
+       JSAPI_PS_END
+};
+
 static void jsfinalize_document(JSContext *cx, JSObject *obj)
 {
        struct jsclass_document_priv *document;
@@ -238,7 +244,7 @@ JSObject *jsapi_new_document(JSContext *cx, JSObject 
*parent, struct html_conten
                     &JSCLASS_OBJECT, 
                     NULL, 
                     0, 
-                    NULL, 
+                    jsproperties_document,
                     jsfunctions_document, 
                     NULL, 
                     NULL);
diff --git a/javascript/jsapi/htmlelement.c b/javascript/jsapi/htmlelement.c
index 90cb06a..a7846ba 100644
--- a/javascript/jsapi/htmlelement.c
+++ b/javascript/jsapi/htmlelement.c
@@ -178,6 +178,14 @@ static JSFunctionSpec jsfunctions_element[] = {
 };
 
 
+
+
+static JSPropertySpec jsproperties_element[] =
+{
+       JSAPI_PS_ELEMENT,
+       JSAPI_PS_END
+};
+
 JSObject *
 jsapi_new_element(JSContext *cx,
                  JSObject *parent,
@@ -201,7 +209,7 @@ jsapi_new_element(JSContext *cx,
                           &JSCLASS_OBJECT,
                           NULL,
                           0,
-                          NULL,
+                          jsproperties_element,
                           jsfunctions_element,
                           NULL,
                           NULL);
diff --git a/javascript/jsapi/node.c b/javascript/jsapi/node.c
index d6a4f44..b8c0737 100644
--- a/javascript/jsapi/node.c
+++ b/javascript/jsapi/node.c
@@ -260,8 +260,7 @@ static JSBool JSAPI_NATIVE(isDefaultNamespace, JSContext 
*cx, uintN argc, jsval
        return JS_TRUE;
 }
 
-
-#define JSAPI_FS_NODE \
+#define JSAPI_FS_NODE        \
        JSAPI_FS_EVENTTARGET, \
        JSAPI_FS(hasChildNodes, 0, 0), \
        JSAPI_FS(compareDocumentPosition, 0, 0), \
@@ -276,3 +275,25 @@ static JSBool JSAPI_NATIVE(isDefaultNamespace, JSContext 
*cx, uintN argc, jsval
        JSAPI_FS(lookupPrefix, 0, 0), \
        JSAPI_FS(lookupNamespaceURI, 0, 0), \
        JSAPI_FS(isDefaultNamespace, 0, 0)
+
+
+static JSBool JSAPI_PROPERTYGET(nodeType, JSContext *cx, JSObject *obj, jsval 
*vp)
+{
+       JS_SET_RVAL(cx, vp, JSVAL_NULL);
+       return JS_TRUE;
+}
+
+static JSBool JSAPI_PROPERTYGET(textContent, JSContext *cx, JSObject *obj, 
jsval *vp)
+{
+       JS_SET_RVAL(cx, vp, JSVAL_NULL);
+       return JS_TRUE;
+}
+
+static JSBool JSAPI_PROPERTYSET(textContent, JSContext *cx, JSObject *obj, 
jsval *vp)
+{
+       return JS_FALSE;
+}
+
+#define JSAPI_PS_NODE                                              \
+       JSAPI_PS_RO(nodeType, 0, JSPROP_ENUMERATE | JSPROP_SHARED), \
+       JSAPI_PS(textContent, 0, JSPROP_ENUMERATE | JSPROP_SHARED)
diff --git a/javascript/jsapi/window.c b/javascript/jsapi/window.c
index 4f7e751..72d3837 100644
--- a/javascript/jsapi/window.c
+++ b/javascript/jsapi/window.c
@@ -248,27 +248,16 @@ static JSBool JSAPI_PROPERTYGET(window, JSContext *cx, 
JSObject *obj, jsval *vp)
        return JS_TRUE;
 }
 
-static JSBool JSAPI_PROPERTYSET(window, JSContext *cx, JSObject *obj, jsval 
*vp)
-{
-       return JS_FALSE;
-}
-
 static JSBool JSAPI_PROPERTYGET(self, JSContext *cx, JSObject *obj, jsval *vp)
 {
        JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj));
        return JS_TRUE;
 }
 
-static JSBool JSAPI_PROPERTYSET(self, JSContext *cx, JSObject *obj, jsval *vp)
-{
-       return JS_FALSE;
-}
-
-
 static JSPropertySpec jsproperties_window[] =
 {
-       JSAPI_PS(window, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED),
-       JSAPI_PS(self, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED),
+       JSAPI_PS_RO(window, 0, JSPROP_ENUMERATE | JSPROP_SHARED),
+       JSAPI_PS_RO(self, 0, JSPROP_ENUMERATE | JSPROP_SHARED),
        JSAPI_PS_END
 };
 


-----------------------------------------------------------------------

Summary of changes:
 javascript/jsapi.h              |   13 ++++++++++++-
 javascript/jsapi/document.c     |    3 +++
 javascript/jsapi/element.c      |   15 +++++++++++++++
 javascript/jsapi/htmldocument.c |    8 +++++++-
 javascript/jsapi/htmlelement.c  |   10 +++++++++-
 javascript/jsapi/node.c         |   25 +++++++++++++++++++++++--
 javascript/jsapi/window.c       |   15 ++-------------
 7 files changed, 71 insertions(+), 18 deletions(-)

diff --git a/javascript/jsapi.h b/javascript/jsapi.h
index 2c10d02..c4c1ed0 100644
--- a/javascript/jsapi.h
+++ b/javascript/jsapi.h
@@ -69,6 +69,9 @@
 #define JSAPI_PS(name, tinyid, flags) \
        { #name , tinyid , flags , jsapi_property_##name##_get , 
jsapi_property_##name##_set }
 
+#define JSAPI_PS_RO(name, tinyid, flags) \
+       { #name , tinyid , flags | JSPROP_READONLY, jsapi_property_##name##_get 
, NULL }
+
 #define JSAPI_PS_END { NULL, 0, 0, NULL, NULL }
 
 static inline JSObject *
@@ -126,7 +129,15 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx,
                jsapi_property_##name##_set                     \
        }
 
-#define JSAPI_PS_END { NULL, 0,0,NULL,NULL }
+#define JSAPI_PS_RO(name, tinyid, flags) {                     \
+               #name ,                                         \
+               tinyid ,                                        \
+               flags | JSPROP_READONLY,                        \
+               jsapi_property_##name##_get ,                   \
+               NULL                                            \
+       }
+
+#define JSAPI_PS_END { NULL, 0, 0, NULL, NULL }
 
 
 #define JSString_to_char(injsstring, outchar, outlen)          \
diff --git a/javascript/jsapi/document.c b/javascript/jsapi/document.c
index e5dfcd5..2d3bde4 100644
--- a/javascript/jsapi/document.c
+++ b/javascript/jsapi/document.c
@@ -105,3 +105,6 @@ static JSBool JSAPI_NATIVE(getElementById, JSContext *cx, 
uintN argc, jsval *vp)
        JSAPI_FS_NODE, \
        JSAPI_FS(getElementById, 1, 0) \
 
+
+#define JSAPI_PS_DOCUMENT                                              \
+       JSAPI_PS_NODE
diff --git a/javascript/jsapi/element.c b/javascript/jsapi/element.c
index cefb959..d301321 100644
--- a/javascript/jsapi/element.c
+++ b/javascript/jsapi/element.c
@@ -82,3 +82,18 @@ static JSBool JSAPI_NATIVE(getAttribute, JSContext *cx, 
uintN argc, jsval *vp)
 #define JSAPI_FS_ELEMENT \
        JSAPI_FS_NODE, \
        JSAPI_FS(getAttribute, 0, 0)
+
+static JSBool JSAPI_PROPERTYGET(id, JSContext *cx, JSObject *obj, jsval *vp)
+{
+       JS_SET_RVAL(cx, vp, JSVAL_NULL);
+       return JS_TRUE;
+}
+
+static JSBool JSAPI_PROPERTYSET(id, JSContext *cx, JSObject *obj, jsval *vp)
+{
+       return JS_FALSE;
+}
+
+#define JSAPI_PS_ELEMENT                                               \
+       JSAPI_PS_NODE,                                                  \
+       JSAPI_PS(id, 0, JSPROP_ENUMERATE | JSPROP_SHARED)
diff --git a/javascript/jsapi/htmldocument.c b/javascript/jsapi/htmldocument.c
index aa9efbc..1a58e4e 100644
--- a/javascript/jsapi/htmldocument.c
+++ b/javascript/jsapi/htmldocument.c
@@ -209,6 +209,12 @@ static JSFunctionSpec jsfunctions_document[] = {
        JSAPI_FS_END
 };
 
+static JSPropertySpec jsproperties_document[] =
+{
+       JSAPI_PS_DOCUMENT,
+       JSAPI_PS_END
+};
+
 static void jsfinalize_document(JSContext *cx, JSObject *obj)
 {
        struct jsclass_document_priv *document;
@@ -238,7 +244,7 @@ JSObject *jsapi_new_document(JSContext *cx, JSObject 
*parent, struct html_conten
                     &JSCLASS_OBJECT, 
                     NULL, 
                     0, 
-                    NULL, 
+                    jsproperties_document,
                     jsfunctions_document, 
                     NULL, 
                     NULL);
diff --git a/javascript/jsapi/htmlelement.c b/javascript/jsapi/htmlelement.c
index 90cb06a..a7846ba 100644
--- a/javascript/jsapi/htmlelement.c
+++ b/javascript/jsapi/htmlelement.c
@@ -178,6 +178,14 @@ static JSFunctionSpec jsfunctions_element[] = {
 };
 
 
+
+
+static JSPropertySpec jsproperties_element[] =
+{
+       JSAPI_PS_ELEMENT,
+       JSAPI_PS_END
+};
+
 JSObject *
 jsapi_new_element(JSContext *cx,
                  JSObject *parent,
@@ -201,7 +209,7 @@ jsapi_new_element(JSContext *cx,
                           &JSCLASS_OBJECT,
                           NULL,
                           0,
-                          NULL,
+                          jsproperties_element,
                           jsfunctions_element,
                           NULL,
                           NULL);
diff --git a/javascript/jsapi/node.c b/javascript/jsapi/node.c
index d6a4f44..b8c0737 100644
--- a/javascript/jsapi/node.c
+++ b/javascript/jsapi/node.c
@@ -260,8 +260,7 @@ static JSBool JSAPI_NATIVE(isDefaultNamespace, JSContext 
*cx, uintN argc, jsval
        return JS_TRUE;
 }
 
-
-#define JSAPI_FS_NODE \
+#define JSAPI_FS_NODE        \
        JSAPI_FS_EVENTTARGET, \
        JSAPI_FS(hasChildNodes, 0, 0), \
        JSAPI_FS(compareDocumentPosition, 0, 0), \
@@ -276,3 +275,25 @@ static JSBool JSAPI_NATIVE(isDefaultNamespace, JSContext 
*cx, uintN argc, jsval
        JSAPI_FS(lookupPrefix, 0, 0), \
        JSAPI_FS(lookupNamespaceURI, 0, 0), \
        JSAPI_FS(isDefaultNamespace, 0, 0)
+
+
+static JSBool JSAPI_PROPERTYGET(nodeType, JSContext *cx, JSObject *obj, jsval 
*vp)
+{
+       JS_SET_RVAL(cx, vp, JSVAL_NULL);
+       return JS_TRUE;
+}
+
+static JSBool JSAPI_PROPERTYGET(textContent, JSContext *cx, JSObject *obj, 
jsval *vp)
+{
+       JS_SET_RVAL(cx, vp, JSVAL_NULL);
+       return JS_TRUE;
+}
+
+static JSBool JSAPI_PROPERTYSET(textContent, JSContext *cx, JSObject *obj, 
jsval *vp)
+{
+       return JS_FALSE;
+}
+
+#define JSAPI_PS_NODE                                              \
+       JSAPI_PS_RO(nodeType, 0, JSPROP_ENUMERATE | JSPROP_SHARED), \
+       JSAPI_PS(textContent, 0, JSPROP_ENUMERATE | JSPROP_SHARED)
diff --git a/javascript/jsapi/window.c b/javascript/jsapi/window.c
index 4f7e751..72d3837 100644
--- a/javascript/jsapi/window.c
+++ b/javascript/jsapi/window.c
@@ -248,27 +248,16 @@ static JSBool JSAPI_PROPERTYGET(window, JSContext *cx, 
JSObject *obj, jsval *vp)
        return JS_TRUE;
 }
 
-static JSBool JSAPI_PROPERTYSET(window, JSContext *cx, JSObject *obj, jsval 
*vp)
-{
-       return JS_FALSE;
-}
-
 static JSBool JSAPI_PROPERTYGET(self, JSContext *cx, JSObject *obj, jsval *vp)
 {
        JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj));
        return JS_TRUE;
 }
 
-static JSBool JSAPI_PROPERTYSET(self, JSContext *cx, JSObject *obj, jsval *vp)
-{
-       return JS_FALSE;
-}
-
-
 static JSPropertySpec jsproperties_window[] =
 {
-       JSAPI_PS(window, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED),
-       JSAPI_PS(self, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED),
+       JSAPI_PS_RO(window, 0, JSPROP_ENUMERATE | JSPROP_SHARED),
+       JSAPI_PS_RO(self, 0, JSPROP_ENUMERATE | JSPROP_SHARED),
        JSAPI_PS_END
 };
 


-- 
NetSurf Browser

_______________________________________________
netsurf-commits mailing list
[email protected]
http://vlists.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to