Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/a611c5757ea6d98cca41b2ad08bc5fde39ef48dd
...commit
http://git.netsurf-browser.org/netsurf.git/commit/a611c5757ea6d98cca41b2ad08bc5fde39ef48dd
...tree
http://git.netsurf-browser.org/netsurf.git/tree/a611c5757ea6d98cca41b2ad08bc5fde39ef48dd
The branch, dsilvers/eventtarget has been updated
via a611c5757ea6d98cca41b2ad08bc5fde39ef48dd (commit)
from 1d7514cd735e86adf929406dd20fd6675e7f1a9d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=a611c5757ea6d98cca41b2ad08bc5fde39ef48dd
commit a611c5757ea6d98cca41b2ad08bc5fde39ef48dd
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
foldme: some fixes
diff --git a/content/handlers/javascript/duktape/EventTarget.bnd
b/content/handlers/javascript/duktape/EventTarget.bnd
index 2b222cf..9c66ba2 100644
--- a/content/handlers/javascript/duktape/EventTarget.bnd
+++ b/content/handlers/javascript/duktape/EventTarget.bnd
@@ -181,7 +181,6 @@ method EventTarget::addEventListener()
LOG("Oh dear, failed to create dom_string in
addEventListener()");
return 0;
}
- /* TODO: Enable passing of capture vs. bubble for this */
dukky_register_event_listener_for(
ctx, (dom_element *)((node_private_t *)priv)->node,
ev_ty_s,
diff --git a/content/handlers/javascript/duktape/dukky.c
b/content/handlers/javascript/duktape/dukky.c
index d0c3717..18e8387 100644
--- a/content/handlers/javascript/duktape/dukky.c
+++ b/content/handlers/javascript/duktape/dukky.c
@@ -842,7 +842,13 @@ static void dukky_generic_event_handler(dom_event *evt,
void *pw)
LOG("Unable to find the event target");
return;
}
-
+
+ /* If we're capturing right now, we skip the 'event handler'
+ * and go straight to the extras
+ */
+ if (phase == DOM_CAPTURING_PHASE)
+ goto handle_extras;
+
/* ... */
if (dukky_push_node(ctx, (dom_node *)targ) == false) {
dom_string_unref(name);
@@ -853,14 +859,13 @@ static void dukky_generic_event_handler(dom_event *evt,
void *pw)
/* ... node */
if (dukky_get_current_value_of_event_handler(
ctx, name, (dom_event_target *)targ) == false) {
- /* TODO: Do I have to manage if there's other event handlers */
- goto out;
+ /* ... */
+ goto handle_extras;
}
/* ... handler node */
dukky_push_event(ctx, evt);
/* ... handler node event */
(void) nsu_getmonotonic_ms(&jsctx->exec_start_time);
- /* Maybe skip calling if not capture or at-target ? */
if (duk_pcall_method(ctx, 1) != 0) {
/* Failed to run the method */
/* ... err */
@@ -939,7 +944,7 @@ handle_extras:
dukky_push_event(ctx, evt);
/* ... copy handler callback node event */
(void) nsu_getmonotonic_ms(&jsctx->exec_start_time);
- /* Maybe skip calling if not capture or at-target ? */
+ /* TODO: Maybe skip calling if not capture or at-target ? */
if (duk_pcall_method(ctx, 1) != 0) {
/* Failed to run the method */
/* ... copy handler err */
-----------------------------------------------------------------------
Summary of changes:
content/handlers/javascript/duktape/EventTarget.bnd | 1 -
content/handlers/javascript/duktape/dukky.c | 15 ++++++++++-----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/content/handlers/javascript/duktape/EventTarget.bnd
b/content/handlers/javascript/duktape/EventTarget.bnd
index 2b222cf..9c66ba2 100644
--- a/content/handlers/javascript/duktape/EventTarget.bnd
+++ b/content/handlers/javascript/duktape/EventTarget.bnd
@@ -181,7 +181,6 @@ method EventTarget::addEventListener()
LOG("Oh dear, failed to create dom_string in
addEventListener()");
return 0;
}
- /* TODO: Enable passing of capture vs. bubble for this */
dukky_register_event_listener_for(
ctx, (dom_element *)((node_private_t *)priv)->node,
ev_ty_s,
diff --git a/content/handlers/javascript/duktape/dukky.c
b/content/handlers/javascript/duktape/dukky.c
index d0c3717..18e8387 100644
--- a/content/handlers/javascript/duktape/dukky.c
+++ b/content/handlers/javascript/duktape/dukky.c
@@ -842,7 +842,13 @@ static void dukky_generic_event_handler(dom_event *evt,
void *pw)
LOG("Unable to find the event target");
return;
}
-
+
+ /* If we're capturing right now, we skip the 'event handler'
+ * and go straight to the extras
+ */
+ if (phase == DOM_CAPTURING_PHASE)
+ goto handle_extras;
+
/* ... */
if (dukky_push_node(ctx, (dom_node *)targ) == false) {
dom_string_unref(name);
@@ -853,14 +859,13 @@ static void dukky_generic_event_handler(dom_event *evt,
void *pw)
/* ... node */
if (dukky_get_current_value_of_event_handler(
ctx, name, (dom_event_target *)targ) == false) {
- /* TODO: Do I have to manage if there's other event handlers */
- goto out;
+ /* ... */
+ goto handle_extras;
}
/* ... handler node */
dukky_push_event(ctx, evt);
/* ... handler node event */
(void) nsu_getmonotonic_ms(&jsctx->exec_start_time);
- /* Maybe skip calling if not capture or at-target ? */
if (duk_pcall_method(ctx, 1) != 0) {
/* Failed to run the method */
/* ... err */
@@ -939,7 +944,7 @@ handle_extras:
dukky_push_event(ctx, evt);
/* ... copy handler callback node event */
(void) nsu_getmonotonic_ms(&jsctx->exec_start_time);
- /* Maybe skip calling if not capture or at-target ? */
+ /* TODO: Maybe skip calling if not capture or at-target ? */
if (duk_pcall_method(ctx, 1) != 0) {
/* Failed to run the method */
/* ... copy handler err */
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org