Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/85a4792280290e7a2ce12ec200032dee1848ad12
...commit
http://git.netsurf-browser.org/netsurf.git/commit/85a4792280290e7a2ce12ec200032dee1848ad12
...tree
http://git.netsurf-browser.org/netsurf.git/tree/85a4792280290e7a2ce12ec200032dee1848ad12
The branch, master has been updated
via 85a4792280290e7a2ce12ec200032dee1848ad12 (commit)
from ed829a477222f169e4ff0727db920e8029fd0c7d (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=85a4792280290e7a2ce12ec200032dee1848ad12
commit 85a4792280290e7a2ce12ec200032dee1848ad12
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
Add createElementNS
Signed-off-by: Daniel Silverstone <[email protected]>
diff --git a/content/handlers/javascript/duktape/Document.bnd
b/content/handlers/javascript/duktape/Document.bnd
index 23e0425..8901115 100644
--- a/content/handlers/javascript/duktape/Document.bnd
+++ b/content/handlers/javascript/duktape/Document.bnd
@@ -147,6 +147,46 @@ method Document::createElement()
return 1;
%}
+method Document::createElementNS()
+%{
+ dom_node *newnode;
+ dom_exception err;
+ duk_size_t text_len;
+ duk_size_t ns_len;
+ const char *ns = duk_safe_to_lstring(ctx, 0, &ns_len);
+ const char *text = duk_safe_to_lstring(ctx, 0, &text_len);
+ dom_string *text_str;
+ dom_string *ns_str;
+
+ err = dom_string_create((const uint8_t*)ns, ns_len, &ns_str);
+ if (err != DOM_NO_ERR) return 0; /* coerced to undefined */
+
+ err = dom_string_create((const uint8_t*)text, text_len, &text_str);
+ if (err != DOM_NO_ERR) {
+ dom_string_unref(ns_str);
+ return 0; /* coerced to undefined */
+ }
+
+ err = dom_document_create_element_ns(priv->parent.node,
+ ns_str,
+ text_str,
+ &newnode);
+ if (err != DOM_NO_ERR) {
+ dom_string_unref(ns_str);
+ dom_string_unref(text_str);
+ return 0; /* coerced to undefined */
+ }
+
+ dom_string_unref(text_str);
+ dom_string_unref(ns_str);
+
+ dukky_push_node(ctx, newnode);
+
+ dom_node_unref(newnode);
+
+ return 1;
+%}
+
getter Document::head()
%{
struct dom_nodelist *nodes;
diff --git a/content/handlers/javascript/duktape/dukky.c
b/content/handlers/javascript/duktape/dukky.c
index 1717363..8fa011e 100644
--- a/content/handlers/javascript/duktape/dukky.c
+++ b/content/handlers/javascript/duktape/dukky.c
@@ -721,7 +721,8 @@ bool js_exec(jscontext *ctx, const char *txt, size_t
txtlen, const char *name)
assert(ctx);
if (txt == NULL || txtlen == 0) return false;
duk_set_top(CTX, 0);
- NSLOG(dukky, DEEPDEBUG, "%zd bytes: %s", txtlen, txt);
+ NSLOG(dukky, DEEPDEBUG, "Running %zd bytes from %s", txtlen, name);
+ NSLOG(dukky, DEEPDEBUG, "\n%s\n", txt);
(void) nsu_getmonotonic_ms(&ctx->exec_start_time);
if (name != NULL) {
-----------------------------------------------------------------------
Summary of changes:
content/handlers/javascript/duktape/Document.bnd | 40 ++++++++++++++++++++++
content/handlers/javascript/duktape/dukky.c | 3 +-
2 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/content/handlers/javascript/duktape/Document.bnd
b/content/handlers/javascript/duktape/Document.bnd
index 23e0425..8901115 100644
--- a/content/handlers/javascript/duktape/Document.bnd
+++ b/content/handlers/javascript/duktape/Document.bnd
@@ -147,6 +147,46 @@ method Document::createElement()
return 1;
%}
+method Document::createElementNS()
+%{
+ dom_node *newnode;
+ dom_exception err;
+ duk_size_t text_len;
+ duk_size_t ns_len;
+ const char *ns = duk_safe_to_lstring(ctx, 0, &ns_len);
+ const char *text = duk_safe_to_lstring(ctx, 0, &text_len);
+ dom_string *text_str;
+ dom_string *ns_str;
+
+ err = dom_string_create((const uint8_t*)ns, ns_len, &ns_str);
+ if (err != DOM_NO_ERR) return 0; /* coerced to undefined */
+
+ err = dom_string_create((const uint8_t*)text, text_len, &text_str);
+ if (err != DOM_NO_ERR) {
+ dom_string_unref(ns_str);
+ return 0; /* coerced to undefined */
+ }
+
+ err = dom_document_create_element_ns(priv->parent.node,
+ ns_str,
+ text_str,
+ &newnode);
+ if (err != DOM_NO_ERR) {
+ dom_string_unref(ns_str);
+ dom_string_unref(text_str);
+ return 0; /* coerced to undefined */
+ }
+
+ dom_string_unref(text_str);
+ dom_string_unref(ns_str);
+
+ dukky_push_node(ctx, newnode);
+
+ dom_node_unref(newnode);
+
+ return 1;
+%}
+
getter Document::head()
%{
struct dom_nodelist *nodes;
diff --git a/content/handlers/javascript/duktape/dukky.c
b/content/handlers/javascript/duktape/dukky.c
index 1717363..8fa011e 100644
--- a/content/handlers/javascript/duktape/dukky.c
+++ b/content/handlers/javascript/duktape/dukky.c
@@ -721,7 +721,8 @@ bool js_exec(jscontext *ctx, const char *txt, size_t
txtlen, const char *name)
assert(ctx);
if (txt == NULL || txtlen == 0) return false;
duk_set_top(CTX, 0);
- NSLOG(dukky, DEEPDEBUG, "%zd bytes: %s", txtlen, txt);
+ NSLOG(dukky, DEEPDEBUG, "Running %zd bytes from %s", txtlen, name);
+ NSLOG(dukky, DEEPDEBUG, "\n%s\n", txt);
(void) nsu_getmonotonic_ms(&ctx->exec_start_time);
if (name != NULL) {
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org