diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2019-08-01 21:03:07 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2019-08-01 21:03:07 +0100 |
commit | bb3e0e51f1cbae2134b7891c44a24bccc2f7f255 (patch) | |
tree | 63f98bb5e68970ec83c793f54a15cdf335e68db1 /content/handlers/javascript | |
parent | 7f612548e747d60f65d8f331ba68dbd00191a16a (diff) | |
download | netsurf-bb3e0e51f1cbae2134b7891c44a24bccc2f7f255.tar.gz netsurf-bb3e0e51f1cbae2134b7891c44a24bccc2f7f255.tar.bz2 |
dukky: Attempt to make the fallback to HTMLUnknownElement more useful.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'content/handlers/javascript')
-rw-r--r-- | content/handlers/javascript/duktape/dukky.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/content/handlers/javascript/duktape/dukky.c b/content/handlers/javascript/duktape/dukky.c index 538a15b03..491c5c276 100644 --- a/content/handlers/javascript/duktape/dukky.c +++ b/content/handlers/javascript/duktape/dukky.c @@ -68,17 +68,20 @@ static duk_ret_t dukky_populate_object(duk_context *ctx, void *udata) /* ... obj args protoname */ duk_get_global_string(ctx, PROTO_MAGIC); /* .. obj args protoname prototab */ - duk_insert(ctx, -2); - /* ... obj args prototab protoname */ + duk_dup(ctx, -2); + /* ... obj args protoname prototab protoname */ duk_get_prop(ctx, -2); - /* ... obj args prototab {proto/undefined} */ + /* ... obj args protoname prototab {proto/undefined} */ if (duk_is_undefined(ctx, -1)) { NSLOG(dukky, WARNING, - "RuhRoh, couldn't find a prototype, HTMLUnknownElement it is"); + "Unable to find dukky prototype for `%s` - falling back to HTMLUnknownElement", + duk_get_string(ctx, -3) + 2 /* Skip the two unprintables */); duk_pop(ctx); duk_push_string(ctx, PROTO_NAME(HTMLUNKNOWNELEMENT)); duk_get_prop(ctx, -2); } + /* ... obj args protoname prototab proto */ + duk_remove(ctx, -3); /* ... obj args prototab proto */ duk_dup(ctx, -1); /* ... obj args prototab proto proto */ |