summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/dom/events/document_event.h3
-rw-r--r--src/core/node.c8
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;
}