1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-10-27 08:00:32 -04:00

DOM: Node_finalize and done_dom_node_ecmascript_obj.

There should be no dangling pointers to ecmascript_obj.
TODO: Pointer to the root node is needed for performance.
This commit is contained in:
Witold Filipczyk 2007-05-13 14:32:33 +02:00 committed by Witold Filipczyk
parent 26966b85bd
commit d6c844288a
74 changed files with 190 additions and 70 deletions

View File

@ -34,3 +34,16 @@
#include "document/dom/ecmascript/spidermonkey/Text.h"
#include "document/dom/ecmascript/spidermonkey/TypeInfo.h"
#include "document/dom/ecmascript/spidermonkey/UserDataHandler.h"
#include "dom/node.h"
void
done_dom_node_ecmascript_obj(struct dom_node *node)
{
struct dom_node *root = get_dom_root_node(node);
JSContext *ctx = root->data.document.ecmascript_ctx;
JSObject *obj = node->ecmascript_obj;
assert(ctx && obj && JS_GetPrivate(ctx, obj) == node);
JS_SetPrivate(ctx, obj, NULL);
node->ecmascript_obj = NULL;
}

View File

@ -3,4 +3,7 @@
#include "document/dom/ecmascript/spidermonkey/props.h"
struct dom_node;
void done_dom_node_ecmascript_obj(struct dom_node *node);
#endif

View File

@ -73,6 +73,6 @@ const JSClass Attr_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Attr_getProperty, Attr_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -6,6 +6,7 @@
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/CDATASection.h"
#include "document/dom/ecmascript/spidermonkey/CharacterData.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/Text.h"
const JSPropertySpec CDATASection_props[] = {
@ -21,6 +22,6 @@ const JSClass CDATASection_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Text_getProperty, CharacterData_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -100,6 +100,6 @@ const JSClass CharacterData_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
CharacterData_getProperty, CharacterData_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -7,6 +7,7 @@
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/CharacterData.h"
#include "document/dom/ecmascript/spidermonkey/Comment.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
const JSPropertySpec Comment_props[] = {
{ NULL }
@ -21,6 +22,6 @@ const JSClass Comment_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
CharacterData_getProperty, CharacterData_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -249,6 +249,6 @@ const JSClass Document_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Document_getProperty, Document_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -20,6 +20,6 @@ const JSClass DocumentFragment_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Node_getProperty, Node_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -57,6 +57,6 @@ const JSClass DocumentType_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
DocumentType_getProperty, Node_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -202,6 +202,6 @@ const JSClass Element_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Element_getProperty, Node_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -56,6 +56,6 @@ const JSClass Entity_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Entity_getProperty, Node_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -20,6 +20,6 @@ const JSClass EntityReference_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Node_getProperty, Node_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "dom/node.h"
JSBool
Node_getProperty(JSContext *ctx, JSObject *obj, jsval id, jsval *vp)
@ -231,6 +232,19 @@ Node_getUserData(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv,
return JS_TRUE;
}
void
Node_finalize(JSContext *ctx, JSObject *obj)
{
assert(ctx && obj);
struct dom_node *node = JS_GetPrivate(ctx, obj);
if (node) {
node->ecmascript_obj = NULL;
JS_SetPrivate(ctx, obj, NULL);
}
}
const JSPropertySpec Node_props[] = {
{ "nodeName", JSP_NODE_NODE_NAME, JSPROP_ENUMERATE | JSPROP_READONLY },
{ "nodeValue", JSP_NODE_NODE_VALUE, JSPROP_ENUMERATE },
@ -278,6 +292,6 @@ const JSClass Node_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Node_getProperty, Node_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -9,6 +9,7 @@ extern const JSPropertySpec Node_props[];
JSBool Node_getProperty(JSContext *ctx, JSObject *obj, jsval id, jsval *vp);
JSBool Node_setProperty(JSContext *ctx, JSObject *obj, jsval id, jsval *vp);
void Node_finalize(JSContext *ctx, JSObject *obj);
#endif

View File

@ -41,6 +41,6 @@ const JSClass Notation_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Notation_getProperty, Node_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -58,6 +58,6 @@ const JSClass ProcessingInstruction_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
ProcessingInstruction_getProperty, ProcessingInstruction_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -6,6 +6,7 @@
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/CharacterData.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/Text.h"
JSBool
@ -59,6 +60,6 @@ const JSClass Text_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
Text_getProperty, CharacterData_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLAnchorElement.h"
@ -149,6 +150,6 @@ const JSClass HTMLAnchorElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLAnchorElement_getProperty, HTMLAnchorElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLAppletElement.h"
@ -124,6 +125,6 @@ const JSClass HTMLAppletElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLAppletElement_getProperty, HTMLAppletElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLAreaElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
@ -103,6 +104,6 @@ const JSClass HTMLAreaElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLAreaElement_getProperty, HTMLAreaElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLBRElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLBRElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLBRElement_getProperty, HTMLBRElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLBaseElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
@ -61,6 +62,6 @@ const JSClass HTMLBaseElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLBaseElement_getProperty, HTMLBaseElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLBaseFontElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
@ -68,6 +69,6 @@ const JSClass HTMLBaseFontElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLBaseFontElement_getProperty, HTMLBaseFontElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLBodyElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
@ -89,6 +90,6 @@ const JSClass HTMLBodyElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLBodyElement_getProperty, HTMLBodyElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLButtonElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
@ -90,6 +91,6 @@ const JSClass HTMLButtonElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLButtonElement_getProperty, HTMLButtonElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLDListElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLDListElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLDListElement_getProperty, HTMLDListElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLDirectoryElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLDirectoryElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLDirectoryElement_getProperty, HTMLDirectoryElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLDivElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLDivElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLDivElement_getProperty, HTMLDivElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/Document.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLDocument.h"
@ -145,6 +146,6 @@ const JSClass HTMLDocument_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLDocument_getProperty, HTMLDocument_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -83,6 +83,6 @@ const JSClass HTMLElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLElement_getProperty, HTMLElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLFieldSetElement.h"
@ -38,6 +39,6 @@ const JSClass HTMLFieldSetElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLFieldSetElement_getProperty, JS_PropertyStub,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLFontElement.h"
@ -68,6 +69,6 @@ const JSClass HTMLFontElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLFontElement_getProperty, HTMLFontElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLFormElement.h"
@ -115,6 +116,6 @@ const JSClass HTMLFormElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLFormElement_getProperty, HTMLFormElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLFrameElement.h"
@ -107,6 +108,6 @@ const JSClass HTMLFrameElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLFrameElement_getProperty, HTMLFrameElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLFrameSetElement.h"
@ -61,6 +62,6 @@ const JSClass HTMLFrameSetElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLFrameSetElement_getProperty, HTMLFrameSetElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLHRElement.h"
@ -75,6 +76,6 @@ const JSClass HTMLHRElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLHRElement_getProperty, HTMLHRElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLHeadElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLHeadElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLHeadElement_getProperty, HTMLHeadElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLHeadingElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLHeadingElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLHeadingElement_getProperty, HTMLHeadingElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLHtmlElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLHtmlElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLHtmlElement_getProperty, HTMLHtmlElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLIFrameElement.h"
@ -121,6 +122,6 @@ const JSClass HTMLIFrameElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLIFrameElement_getProperty, HTMLIFrameElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLImageElement.h"
@ -131,6 +132,6 @@ const JSClass HTMLImageElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLImageElement_getProperty, HTMLImageElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLInputElement.h"
@ -206,6 +207,6 @@ const JSClass HTMLInputElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLInputElement_getProperty, HTMLInputElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLIsIndexElement.h"
@ -58,6 +59,6 @@ const JSClass HTMLIsIndexElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLIsIndexElement_getProperty, HTMLIsIndexElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLLIElement.h"
@ -61,6 +62,6 @@ const JSClass HTMLLIElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLLIElement_getProperty, HTMLLIElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLLabelElement.h"
@ -65,6 +66,6 @@ const JSClass HTMLLabelElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLLabelElement_getProperty, HTMLLabelElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLLegendElement.h"
@ -65,6 +66,6 @@ const JSClass HTMLLegendElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLLegendElement_getProperty, HTMLLegendElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLLinkElement.h"
@ -110,6 +111,6 @@ const JSClass HTMLLinkElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLLinkElement_getProperty, HTMLLinkElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLMapElement.h"
@ -58,6 +59,6 @@ const JSClass HTMLMapElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLMapElement_getProperty, HTMLMapElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLMenuElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLMenuElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLMenuElement_getProperty, HTMLMenuElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLMetaElement.h"
@ -75,6 +76,6 @@ const JSClass HTMLMetaElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLMetaElement_getProperty, HTMLMetaElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLModElement.h"
@ -61,6 +62,6 @@ const JSClass HTMLModElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLModElement_getProperty, HTMLModElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLOListElement.h"
@ -68,6 +69,6 @@ const JSClass HTMLOListElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLOListElement_getProperty, HTMLOListElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLObjectElement.h"
@ -173,6 +174,6 @@ const JSClass HTMLObjectElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLObjectElement_getProperty, HTMLObjectElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLOptGroupElement.h"
@ -61,6 +62,6 @@ const JSClass HTMLOptGroupElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLOptGroupElement_getProperty, HTMLOptGroupElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLOptionElement.h"
@ -94,6 +95,6 @@ const JSClass HTMLOptionElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLOptionElement_getProperty, HTMLOptionElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLOptionsCollection.h"
static JSBool
@ -55,6 +56,6 @@ const JSClass HTMLOptionsCollection_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLOptionsCollection_getProperty, JS_PropertyStub,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLParagraphElement.h"
@ -54,5 +55,5 @@ const JSClass HTMLParagraphElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLParagraphElement_getProperty, HTMLParagraphElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLParamElement.h"
@ -75,6 +76,6 @@ const JSClass HTMLParamElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLParamElement_getProperty, HTMLParamElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLPreElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLPreElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLPreElement_getProperty, HTMLPreElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLQuoteElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLQuoteElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLQuoteElement_getProperty, HTMLQuoteElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLScriptElement.h"
@ -96,6 +97,6 @@ const JSClass HTMLScriptElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLScriptElement_getProperty, HTMLScriptElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLSelectElement.h"
@ -151,6 +152,6 @@ const JSClass HTMLSelectElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLSelectElement_getProperty, HTMLSelectElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLStyleElement.h"
@ -68,6 +69,6 @@ const JSClass HTMLStyleElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLStyleElement_getProperty, HTMLStyleElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLTableCaptionElement.h"
@ -54,6 +55,6 @@ const JSClass HTMLTableCaptionElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLTableCaptionElement_getProperty, HTMLTableCaptionElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLTableCellElement.h"
@ -149,6 +150,6 @@ const JSClass HTMLTableCellElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLTableCellElement_getProperty, HTMLTableCellElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLTableColElement.h"
@ -89,6 +90,6 @@ const JSClass HTMLTableColElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLTableColElement_getProperty, HTMLTableColElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLTableElement.h"
@ -211,6 +212,6 @@ const JSClass HTMLTableElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLTableElement_getProperty, HTMLTableElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLTableRowElement.h"
@ -112,6 +113,6 @@ const JSClass HTMLTableRowElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLTableRowElement_getProperty, HTMLTableRowElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLTableSectionElement.h"
@ -97,6 +98,6 @@ const JSClass HTMLTableSectionElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLTableSectionElement_getProperty, HTMLTableSectionElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLTextAreaElement.h"
@ -145,6 +146,6 @@ const JSClass HTMLTextAreaElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLTextAreaElement_getProperty, HTMLTextAreaElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLTitleElement.h"
@ -50,6 +51,6 @@ const JSClass HTMLTitleElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLTitleElement_getProperty, HTMLTitleElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -5,6 +5,7 @@
#include "elinks.h"
#include "document/dom/ecmascript/spidermonkey.h"
#include "document/dom/ecmascript/spidermonkey/Node.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLElement.h"
#include "document/dom/ecmascript/spidermonkey/html/HTMLUListElement.h"
@ -57,6 +58,6 @@ const JSClass HTMLUListElement_class = {
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
HTMLUListElement_getProperty, HTMLUListElement_setProperty,
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Node_finalize
};

View File

@ -9,6 +9,11 @@
#include "elinks.h"
#ifdef CONFIG_ECMASCRIPT
/* FIXME: SEE ? */
#include "document/dom/ecmascript/spidermonkey.h"
#endif
#include "dom/node.h"
#include "dom/string.h"
#include "util/hash.h"
@ -457,7 +462,11 @@ done_dom_node(struct dom_node *node)
break;
}
}
#ifdef CONFIG_ECMASCRIPT
if (node->ecmascript_obj) {
done_dom_node_ecmascript_obj(node);
}
#endif
done_dom_node_data(node);
}
@ -555,3 +564,14 @@ get_dom_node_type_name(enum dom_node_type type)
return &dom_node_type_names[type];
}
struct dom_node *
get_dom_root_node(struct dom_node *node)
{
assert(node);
while (node->parent)
node = node->parent;
return node;
}

View File

@ -89,6 +89,10 @@ struct dom_document_node {
/* The document. */
struct dom_document *document;
#ifdef CONFIG_ECMASCRIPT
/* The ECMAScript context used by the SpiderMonkey. */
void *ecmascript_ctx;
#endif
/* The child nodes. May be NULL. Ordered like they where inserted. */
/* FIXME: Should be just one element (root) node reference. */
struct dom_node_list *children;
@ -252,6 +256,11 @@ struct dom_node {
/** The parent node. The parent node is NULL for the root node. */
struct dom_node *parent;
#ifdef CONFIG_ECMASCRIPT
/** The ECMAScript object related to this node.
* NULL when the object was not used yet. */
void *ecmascript_obj;
#endif
/** Type specific node data. */
union dom_node_data data;
};
@ -454,4 +463,7 @@ get_dom_node_list_by_type(struct dom_node *parent, enum dom_node_type type)
#define get_dom_node_list(parent, node) \
get_dom_node_list_by_type(parent, (node)->type)
/* Return the root node. */
struct dom_node *get_dom_root_node(struct dom_node *);
#endif