diff options
-rw-r--r-- | include/dom/events/document_event.h | 3 | ||||
-rw-r--r-- | src/core/node.c | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/include/dom/events/document_event.h b/include/dom/events/document_event.h index 060ad00..3842fd5 100644 --- a/include/dom/events/document_event.h +++ b/include/dom/events/document_event.h @@ -67,7 +67,8 @@ typedef void (*dom_default_action_callback)(struct dom_event *evt, void *pw); typedef enum { DOM_DEFAULT_ACTION_STARTED = 0, DOM_DEFAULT_ACTION_PREVENTED, - DOM_DEFAULT_ACTION_END + DOM_DEFAULT_ACTION_END, + DOM_DEFAULT_ACTION_FINISHED } dom_default_action_phase; /** diff --git a/src/core/node.c b/src/core/node.c index 49033c0..704d7e5 100644 --- a/src/core/node.c +++ b/src/core/node.c @@ -2489,6 +2489,14 @@ cleanup: } free(targets); + if (dei->actions != NULL) { + dom_default_action_callback cb = dei->actions(evt->type, + DOM_DEFAULT_ACTION_FINISHED, &pw); + if (cb != NULL) { + cb(evt, pw); + } + } + return ret; } |