Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/b49f0f9141a132679e9cdca944e72ebad80682ed
...commit
http://git.netsurf-browser.org/netsurf.git/commit/b49f0f9141a132679e9cdca944e72ebad80682ed
...tree
http://git.netsurf-browser.org/netsurf.git/tree/b49f0f9141a132679e9cdca944e72ebad80682ed
The branch, dsilvers/eventtarget has been updated
via b49f0f9141a132679e9cdca944e72ebad80682ed (commit)
from 7417da3a3452f3dac5eba0f79ce8f0610535cdb6 (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=b49f0f9141a132679e9cdca944e72ebad80682ed
commit b49f0f9141a132679e9cdca944e72ebad80682ed
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
foldme: Yet more progress, not sure if it's in the right direction
diff --git a/Docs/UnimplementedJavascript.txt b/Docs/UnimplementedJavascript.txt
index 2b3a7d9..1b851b8 100644
--- a/Docs/UnimplementedJavascript.txt
+++ b/Docs/UnimplementedJavascript.txt
@@ -439,9 +439,6 @@ setter EventSource::onopen(user);\n
getter EventSource::readyState(unsigned short);\n
getter EventSource::url(string);\n
getter EventSource::withCredentials(boolean);\n
-method EventTarget::addEventListener();\n
-method EventTarget::dispatchEvent();\n
-method EventTarget::removeEventListener();\n
getter Event::timeStamp(user);\n
method External::AddSearchProvider();\n
method External::IsSearchProviderInstalled();\n
diff --git a/content/handlers/javascript/duktape/EventTarget.bnd
b/content/handlers/javascript/duktape/EventTarget.bnd
index 41bdbd9..2b222cf 100644
--- a/content/handlers/javascript/duktape/EventTarget.bnd
+++ b/content/handlers/javascript/duktape/EventTarget.bnd
@@ -184,7 +184,8 @@ method EventTarget::addEventListener()
/* 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);
+ ev_ty_s,
+ !!(flags & ELF_CAPTURE));
dom_string_unref(ev_ty_s);
}
/* type callback typelisteners */
diff --git a/content/handlers/javascript/duktape/dukky.c
b/content/handlers/javascript/duktape/dukky.c
index 6e1d533..d0c3717 100644
--- a/content/handlers/javascript/duktape/dukky.c
+++ b/content/handlers/javascript/duktape/dukky.c
@@ -980,7 +980,8 @@ out:
void dukky_register_event_listener_for(duk_context *ctx,
struct dom_element *ele,
- dom_string *name)
+ dom_string *name,
+ bool capture)
{
dom_event_listener *listen = NULL;
dom_exception exc;
@@ -1012,7 +1013,7 @@ void dukky_register_event_listener_for(duk_context *ctx,
&listen);
if (exc != DOM_NO_ERR) return;
exc = dom_event_target_add_event_listener(
- ele, name, listen, false);
+ ele, name, listen, capture);
if (exc != DOM_NO_ERR) {
LOG("Unable to register listener for %p.%*s",
ele, dom_string_length(name), dom_string_data(name));
@@ -1128,7 +1129,7 @@ void js_handle_new_element(jscontext *ctx, struct
dom_element *node)
&sub);
if (exc == DOM_NO_ERR) {
dukky_register_event_listener_for(
- CTX, node, sub);
+ CTX, node, sub, false);
dom_string_unref(sub);
}
}
diff --git a/content/handlers/javascript/duktape/dukky.h
b/content/handlers/javascript/duktape/dukky.h
index 6ef9fdf..9177136 100644
--- a/content/handlers/javascript/duktape/dukky.h
+++ b/content/handlers/javascript/duktape/dukky.h
@@ -37,7 +37,8 @@ duk_bool_t dukky_push_node(duk_context *ctx, struct dom_node
*node);
void dukky_inject_not_ctr(duk_context *ctx, int idx, const char *name);
void dukky_register_event_listener_for(duk_context *ctx,
struct dom_element *ele,
- dom_string *name);
+ dom_string *name,
+ bool capture);
bool dukky_get_current_value_of_event_handler(duk_context *ctx,
dom_string *name,
dom_event_target *et);
diff --git a/utils/corestrings.c b/utils/corestrings.c
index 363c851..87a3423 100644
--- a/utils/corestrings.c
+++ b/utils/corestrings.c
@@ -277,6 +277,14 @@ dom_string *corestring_dom_onfocus;
dom_string *corestring_dom_onload;
dom_string *corestring_dom_onresize;
dom_string *corestring_dom_onscroll;
+dom_string *corestring_dom_autocomplete;
+dom_string *corestring_dom_autocompleteerror;
+dom_string *corestring_dom_dragexit;
+dom_string *corestring_dom_mouseenter;
+dom_string *corestring_dom_mouseleave;
+dom_string *corestring_dom_wheel;
+dom_string *corestring_dom_sort;
+dom_string *corestring_dom_toggle;
dom_string *corestring_dom___ns_key_box_node_data;
dom_string *corestring_dom___ns_key_libcss_node_data;
dom_string *corestring_dom___ns_key_file_name_node_data;
@@ -563,6 +571,15 @@ void corestrings_fini(void)
CSS_DOM_STRING_UNREF(onload);
CSS_DOM_STRING_UNREF(onresize);
CSS_DOM_STRING_UNREF(onscroll);
+ /* Corestrings used by DOM event registration */
+ CSS_DOM_STRING_UNREF(autocomplete);
+ CSS_DOM_STRING_UNREF(autocompleteerror);
+ CSS_DOM_STRING_UNREF(dragexit);
+ CSS_DOM_STRING_UNREF(mouseenter);
+ CSS_DOM_STRING_UNREF(mouseleave);
+ CSS_DOM_STRING_UNREF(wheel);
+ CSS_DOM_STRING_UNREF(sort);
+ CSS_DOM_STRING_UNREF(toggle);
/* DOM userdata keys, not really CSS */
CSS_DOM_STRING_UNREF(__ns_key_box_node_data);
CSS_DOM_STRING_UNREF(__ns_key_libcss_node_data);
@@ -894,6 +911,15 @@ nserror corestrings_init(void)
CSS_DOM_STRING_INTERN(onload);
CSS_DOM_STRING_INTERN(onresize);
CSS_DOM_STRING_INTERN(onscroll);
+ /* Corestrings used by DOM event registration */
+ CSS_DOM_STRING_INTERN(autocomplete);
+ CSS_DOM_STRING_INTERN(autocompleteerror);
+ CSS_DOM_STRING_INTERN(dragexit);
+ CSS_DOM_STRING_INTERN(mouseenter);
+ CSS_DOM_STRING_INTERN(mouseleave);
+ CSS_DOM_STRING_INTERN(wheel);
+ CSS_DOM_STRING_INTERN(sort);
+ CSS_DOM_STRING_INTERN(toggle);
/* DOM userdata keys, not really CSS */
CSS_DOM_STRING_INTERN(__ns_key_box_node_data);
CSS_DOM_STRING_INTERN(__ns_key_libcss_node_data);
diff --git a/utils/corestrings.h b/utils/corestrings.h
index a02bdda..88dc2ce 100644
--- a/utils/corestrings.h
+++ b/utils/corestrings.h
@@ -295,7 +295,15 @@ extern struct dom_string *corestring_dom_onfocus;
extern struct dom_string *corestring_dom_onload;
extern struct dom_string *corestring_dom_onresize;
extern struct dom_string *corestring_dom_onscroll;
-
+/* Corestrings used by DOM event registration */
+extern struct dom_string *corestring_dom_autocomplete;
+extern struct dom_string *corestring_dom_autocompleteerror;
+extern struct dom_string *corestring_dom_dragexit;
+extern struct dom_string *corestring_dom_mouseenter;
+extern struct dom_string *corestring_dom_mouseleave;
+extern struct dom_string *corestring_dom_wheel;
+extern struct dom_string *corestring_dom_sort;
+extern struct dom_string *corestring_dom_toggle;
/* DOM userdata keys */
extern struct dom_string *corestring_dom___ns_key_box_node_data;
extern struct dom_string *corestring_dom___ns_key_libcss_node_data;
-----------------------------------------------------------------------
Summary of changes:
Docs/UnimplementedJavascript.txt | 3 ---
.../handlers/javascript/duktape/EventTarget.bnd | 3 ++-
content/handlers/javascript/duktape/dukky.c | 7 +++---
content/handlers/javascript/duktape/dukky.h | 3 ++-
utils/corestrings.c | 26 ++++++++++++++++++++
utils/corestrings.h | 10 +++++++-
6 files changed, 43 insertions(+), 9 deletions(-)
diff --git a/Docs/UnimplementedJavascript.txt b/Docs/UnimplementedJavascript.txt
index 2b3a7d9..1b851b8 100644
--- a/Docs/UnimplementedJavascript.txt
+++ b/Docs/UnimplementedJavascript.txt
@@ -439,9 +439,6 @@ setter EventSource::onopen(user);\n
getter EventSource::readyState(unsigned short);\n
getter EventSource::url(string);\n
getter EventSource::withCredentials(boolean);\n
-method EventTarget::addEventListener();\n
-method EventTarget::dispatchEvent();\n
-method EventTarget::removeEventListener();\n
getter Event::timeStamp(user);\n
method External::AddSearchProvider();\n
method External::IsSearchProviderInstalled();\n
diff --git a/content/handlers/javascript/duktape/EventTarget.bnd
b/content/handlers/javascript/duktape/EventTarget.bnd
index 41bdbd9..2b222cf 100644
--- a/content/handlers/javascript/duktape/EventTarget.bnd
+++ b/content/handlers/javascript/duktape/EventTarget.bnd
@@ -184,7 +184,8 @@ method EventTarget::addEventListener()
/* 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);
+ ev_ty_s,
+ !!(flags & ELF_CAPTURE));
dom_string_unref(ev_ty_s);
}
/* type callback typelisteners */
diff --git a/content/handlers/javascript/duktape/dukky.c
b/content/handlers/javascript/duktape/dukky.c
index 6e1d533..d0c3717 100644
--- a/content/handlers/javascript/duktape/dukky.c
+++ b/content/handlers/javascript/duktape/dukky.c
@@ -980,7 +980,8 @@ out:
void dukky_register_event_listener_for(duk_context *ctx,
struct dom_element *ele,
- dom_string *name)
+ dom_string *name,
+ bool capture)
{
dom_event_listener *listen = NULL;
dom_exception exc;
@@ -1012,7 +1013,7 @@ void dukky_register_event_listener_for(duk_context *ctx,
&listen);
if (exc != DOM_NO_ERR) return;
exc = dom_event_target_add_event_listener(
- ele, name, listen, false);
+ ele, name, listen, capture);
if (exc != DOM_NO_ERR) {
LOG("Unable to register listener for %p.%*s",
ele, dom_string_length(name), dom_string_data(name));
@@ -1128,7 +1129,7 @@ void js_handle_new_element(jscontext *ctx, struct
dom_element *node)
&sub);
if (exc == DOM_NO_ERR) {
dukky_register_event_listener_for(
- CTX, node, sub);
+ CTX, node, sub, false);
dom_string_unref(sub);
}
}
diff --git a/content/handlers/javascript/duktape/dukky.h
b/content/handlers/javascript/duktape/dukky.h
index 6ef9fdf..9177136 100644
--- a/content/handlers/javascript/duktape/dukky.h
+++ b/content/handlers/javascript/duktape/dukky.h
@@ -37,7 +37,8 @@ duk_bool_t dukky_push_node(duk_context *ctx, struct dom_node
*node);
void dukky_inject_not_ctr(duk_context *ctx, int idx, const char *name);
void dukky_register_event_listener_for(duk_context *ctx,
struct dom_element *ele,
- dom_string *name);
+ dom_string *name,
+ bool capture);
bool dukky_get_current_value_of_event_handler(duk_context *ctx,
dom_string *name,
dom_event_target *et);
diff --git a/utils/corestrings.c b/utils/corestrings.c
index 363c851..87a3423 100644
--- a/utils/corestrings.c
+++ b/utils/corestrings.c
@@ -277,6 +277,14 @@ dom_string *corestring_dom_onfocus;
dom_string *corestring_dom_onload;
dom_string *corestring_dom_onresize;
dom_string *corestring_dom_onscroll;
+dom_string *corestring_dom_autocomplete;
+dom_string *corestring_dom_autocompleteerror;
+dom_string *corestring_dom_dragexit;
+dom_string *corestring_dom_mouseenter;
+dom_string *corestring_dom_mouseleave;
+dom_string *corestring_dom_wheel;
+dom_string *corestring_dom_sort;
+dom_string *corestring_dom_toggle;
dom_string *corestring_dom___ns_key_box_node_data;
dom_string *corestring_dom___ns_key_libcss_node_data;
dom_string *corestring_dom___ns_key_file_name_node_data;
@@ -563,6 +571,15 @@ void corestrings_fini(void)
CSS_DOM_STRING_UNREF(onload);
CSS_DOM_STRING_UNREF(onresize);
CSS_DOM_STRING_UNREF(onscroll);
+ /* Corestrings used by DOM event registration */
+ CSS_DOM_STRING_UNREF(autocomplete);
+ CSS_DOM_STRING_UNREF(autocompleteerror);
+ CSS_DOM_STRING_UNREF(dragexit);
+ CSS_DOM_STRING_UNREF(mouseenter);
+ CSS_DOM_STRING_UNREF(mouseleave);
+ CSS_DOM_STRING_UNREF(wheel);
+ CSS_DOM_STRING_UNREF(sort);
+ CSS_DOM_STRING_UNREF(toggle);
/* DOM userdata keys, not really CSS */
CSS_DOM_STRING_UNREF(__ns_key_box_node_data);
CSS_DOM_STRING_UNREF(__ns_key_libcss_node_data);
@@ -894,6 +911,15 @@ nserror corestrings_init(void)
CSS_DOM_STRING_INTERN(onload);
CSS_DOM_STRING_INTERN(onresize);
CSS_DOM_STRING_INTERN(onscroll);
+ /* Corestrings used by DOM event registration */
+ CSS_DOM_STRING_INTERN(autocomplete);
+ CSS_DOM_STRING_INTERN(autocompleteerror);
+ CSS_DOM_STRING_INTERN(dragexit);
+ CSS_DOM_STRING_INTERN(mouseenter);
+ CSS_DOM_STRING_INTERN(mouseleave);
+ CSS_DOM_STRING_INTERN(wheel);
+ CSS_DOM_STRING_INTERN(sort);
+ CSS_DOM_STRING_INTERN(toggle);
/* DOM userdata keys, not really CSS */
CSS_DOM_STRING_INTERN(__ns_key_box_node_data);
CSS_DOM_STRING_INTERN(__ns_key_libcss_node_data);
diff --git a/utils/corestrings.h b/utils/corestrings.h
index a02bdda..88dc2ce 100644
--- a/utils/corestrings.h
+++ b/utils/corestrings.h
@@ -295,7 +295,15 @@ extern struct dom_string *corestring_dom_onfocus;
extern struct dom_string *corestring_dom_onload;
extern struct dom_string *corestring_dom_onresize;
extern struct dom_string *corestring_dom_onscroll;
-
+/* Corestrings used by DOM event registration */
+extern struct dom_string *corestring_dom_autocomplete;
+extern struct dom_string *corestring_dom_autocompleteerror;
+extern struct dom_string *corestring_dom_dragexit;
+extern struct dom_string *corestring_dom_mouseenter;
+extern struct dom_string *corestring_dom_mouseleave;
+extern struct dom_string *corestring_dom_wheel;
+extern struct dom_string *corestring_dom_sort;
+extern struct dom_string *corestring_dom_toggle;
/* DOM userdata keys */
extern struct dom_string *corestring_dom___ns_key_box_node_data;
extern struct dom_string *corestring_dom___ns_key_libcss_node_data;
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org