summaryrefslogtreecommitdiff
path: root/javascript/js.h
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2015-10-31 14:52:37 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2015-10-31 18:01:38 +0100
commit5a107a466bb3153d0d6aea01f4574a907a921ed8 (patch)
treecc5fdf9086698470210000c4b46586c86cbab400 /javascript/js.h
parent71f296a41ce7509ebbf052c80cf0cdaaf6ce0451 (diff)
downloadnetsurf-5a107a466bb3153d0d6aea01f4574a907a921ed8.tar.gz
netsurf-5a107a466bb3153d0d6aea01f4574a907a921ed8.tar.bz2
Initial work toward JS event support
Diffstat (limited to 'javascript/js.h')
-rw-r--r--javascript/js.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/javascript/js.h b/javascript/js.h
index 6f7de920f..2929d0b5e 100644
--- a/javascript/js.h
+++ b/javascript/js.h
@@ -31,8 +31,10 @@ typedef struct jsobject jsobject;
typedef bool(jscallback)(void *ctx);
+struct dom_event;
struct dom_document;
struct dom_node;
+struct dom_element;
struct dom_string;
/** Initialise javascript interpreter */
@@ -78,5 +80,23 @@ js_dom_event_add_listener(jscontext *ctx,
struct dom_string *event_type_dom,
void *js_funcval);
+/*** New Events ***/
+
+/** Handle a new element being created.
+ *
+ * This is called once an element is inserted into the DOM document handled
+ * by the context provided. The JS implementation must then scan the element
+ * for on* attributes and register appropriate listeners for those handlers.
+ */
+void js_handle_new_element(jscontext *ctx, struct dom_element *node);
+
+/** Handle an event propagation finished callback.
+ *
+ * This is called once an event finishes propagating, no matter how it
+ * finishes. The intent here is that the JS context can perform any cleanups
+ * it may need to perform before the DOM finishes and the event may end up
+ * freed.
+ */
+void js_event_cleanup(jscontext *ctx, struct dom_event *evt);
#endif /* _NETSURF_JAVASCRIPT_JS_H_ */