diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2015-10-31 14:52:37 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2015-10-31 18:01:38 +0100 |
commit | 5a107a466bb3153d0d6aea01f4574a907a921ed8 (patch) | |
tree | cc5fdf9086698470210000c4b46586c86cbab400 /javascript/js.h | |
parent | 71f296a41ce7509ebbf052c80cf0cdaaf6ce0451 (diff) | |
download | netsurf-5a107a466bb3153d0d6aea01f4574a907a921ed8.tar.gz netsurf-5a107a466bb3153d0d6aea01f4574a907a921ed8.tar.bz2 |
Initial work toward JS event support
Diffstat (limited to 'javascript/js.h')
-rw-r--r-- | javascript/js.h | 20 |
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_ */ |